Mule ESB 错误>>"有两个转换器与输入完全匹配



我是Mule的新手。

我尝试使用SOAP创建一个简单的登录流,该流将返回XML响应。我的方法是用XML发送数据,然后将登录数据保存在转换代码中,保存数据后,返回数据将生成XML响应。但我在"有两个变压器与输入完全匹配"方面有错误。我不明白为什么会这样。请帮我解决这个问题。

这是我的流程代码:

<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>

错误堆栈:

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)

谢谢你的回答。:)

我怀疑这是由于最后的DOM到XML组件。你能删除这个并尝试吗,因为在DOM到xml 之前有Jaxb到xml组件

有同样的错误消息,我通过在Munit 中生成问题的数据编织之前将对象的mime类型设置为json transformer来修复它

最新更新