2015-04-20 13 views
5

Sono un novizio in Mule.errore Mule ESB >> "Ci sono due trasformatori che sono una corrispondenza esatta per l'ingresso

cerco di creare un semplice flusso di accesso con SOAP che restituirà risposta XML. Il mio metodo è inviare i dati con XML e quindi salvare i dati di accesso nel codice di trasformazione, dopo aver salvato i dati, i dati di ritorno verranno generati alla risposta xml, ma ho errori con "Ci sono due trasformatori che corrispondono esattamente per l'input" . Non capisco perché accadere Ti prego, aiutami a risolvere questo problema

Questo è il mio codice di flusso:..

<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" 

port="8081" doc:name="HTTP Listener Configuration"/> 
<cxf:configuration name="CXF_Configuration" enableMuleSoapHeaders="true" initializeStaticBusInstance="true" doc:name="CXF Configuration"/> 
<mulexml:jaxb-context name="myJaxb" packageNames="com.test.service" doc:name="JAXB Context"/> 

<flow name="LoginFlow" initialState="started"> 
<http:listener config-ref="HTTP_Listener_Configuration" path="/Login" doc:name="HTTP"/> 
<cxf:proxy-service configuration-ref="CXF_Configuration" doc:name="CXF" namespace="http://www.test.co.id/SOA/service/1.0" payload="body" port="LoginPort" service="LoginService" wsdlLocation="service/login-test.wsdl"/> 
<logger message="#[payload]" level="INFO" doc:name="Logger"/> 
<mulexml:dom-to-xml-transformer returnClass="java.lang.String" doc:name="DOM to XML"/> 
<logger message="#[payload]" level="INFO" doc:name="Logger"/> 
<custom-transformer class="com.test.transform.XMLTransform" doc:name="XML To Java" returnClass="com.test.service.LoginResponse"/> 
<mulexml:jaxb-object-to-xml-transformer jaxbContext-ref="myJaxb" doc:name="JAXB Object to XML"/> 
<mulexml:xml-to-dom-transformer doc:name="XML to DOM"/> 
</flow> 

Errore Stack:

1. There are two transformers that are an exact match for input: "class org.mule.module.cxf.CxfInboundMessageProcessor$1", output: "class [B". Transformers are: "XmlToByteArray(class org.mule.module.xml.transformer.XmlToDomDocument)" and "_ObjectToByteArray(class org.mule.transformer.simple.ObjectToByteArray)" (org.mule.api.registry.ResolverException) 
org.mule.registry.TypeBasedTransformerResolver:166 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/registry/ResolverException.html) 
-------------------------------------------------------------------------------- 
Root Exception stack trace: 
org.mule.api.registry.ResolverException: There are two transformers that are an exact match for input: "class org.mule.module.cxf.CxfInboundMessageProcessor$1", output: "class [B". Transformers are: "XmlToByteArray(class org.mule.module.xml.transformer.XmlToDomDocument)" and "_ObjectToByteArray(class org.mule.transformer.simple.ObjectToByteArray)" 
at org.mule.registry.TypeBasedTransformerResolver.getNearestTransformerMatch(TypeBasedTransformerResolver.java:166) 
at org.mule.registry.TypeBasedTransformerResolver.resolve(TypeBasedTransformerResolver.java:100) 
at org.mule.registry.MuleRegistryHelper.resolveTransformer(MuleRegistryHelper.java:283) 
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) 

Grazie per le risposte. :)

+0

Puoi eseguire Mule con '-Dmule.verbose.exceptions = true' e aggiornare l'eccezione per mostrare la traccia dello stack completo? –

risposta

1

sospetto che ciò sia dovuto al componente DOM-to-XML alla fine. puoi rimuovere questo e provare perché hai un componente Jaxb-a-xml prima di DOM-to-XML

1

aveva lo stesso messaggio di errore e l'ho risolto impostando il tipo mime del trasformatore object-to-json prima di un dataweave che stava generando il problema in Munit

Problemi correlati