2017-09-29 7 views
0

Je suis nouveau à Apache Camel et DSL Blueprint et je suis en train de rassembler un haricot à XML en utilisant JAXB mais obtenir l'exception suivante:java.io.IOException: org.apache.camel.NoTypeConversionAvailableException

java .IO.IOException: org.apache.camel.NoTypeConversionAvailableException: Aucun convertisseur de type disponible pour convertir du type: com.test.rqst.InitiateReq au type requis: java.io.InputStream avec valeur [email protected]

Mon blueprint.xml est la suivante

<bean id="testBean2" class="com.test.utility.StopTestDummy" /> 
<camelContext xmlns="http://camel.apache.org/schema/blueprint"> 
<route id="timerToLog"> 
    <from uri="timer:foo?period=1000&amp;repeatCount=1"/> 
    <bean id="testCastor" ref="testBean2" 
       method="setDummyValues" />  
      <marshal> 
       <jaxb prettyPrint="true" contextPath="com.scb.s2b.application.pymt.service.payment.stoppymt.rqst"/> 
      </marshal> 
    <log message="After Marshalling ${body}"/>  
    <to uri="mock:result"/> 
</route>  
</camelContext> 

La méthode setDummyValues à l'intérieur de la classe StopTestDummy crée le POJO(InitiateReq) comme je le voulais et de le conserver. Mais je continue à avoir l'erreur. Qu'est-ce que je fais mal.

Merci beaucoup.

+0

Il peut être utile (problème similaire): http: // camel.465427.n5.nabble.com/NoTypeConversionAvailableException-td5766952.html – mgyongyosi

Répondre

1

Pas sûr que ce soit le problème, mais vérifiez-les.

Premièrement, est-ce que vous appelez la classe correcte?
Exception dit com.test.rqst.InitiateReq, alors que dans votre code que vous dites JAXB au maréchal un autre paquet: <jaxb contextPath="com.scb.s2b.application.pymt.service.payment.stoppymt.rqst"/>

Deuxièmement, avez-vous dit à propos de JAXB InitiateReq classe?
Créez un fichier nommé jaxb.index dans le même paquet et insérer le nom des classes que vous voulez maréchal/unmarshal (seulement une ligne avec InitiateReq dans votre cas)