Mule和java.lang.reflect.Method不能转换为flow ref中的java.lang.String

Mule和java.lang.reflect.Method不能转换为flow ref中的java.lang.String,mule,mule-studio,Mule,Mule Studio,我有一个子流来调用soap服务(req:String,response:String) 此异常无法理解,因为在调用服务(flow ref)之前,负载将被转换为字符串。能给我一个想法来确定这一点在哪里吗? 谢谢。可能是这个的复制品吗 如果您的目的是将入站SOAP调用映射到出站SOAP调用:,您可能还需要考虑使用代理。 <sub-flow name="vinculaValidaServiceClienteFlow" doc:name="vinculaValidaServiceClienteFl

我有一个子流来调用soap服务(req:String,response:String)

此异常无法理解,因为在调用服务(flow ref)之前,负载将被转换为字符串。能给我一个想法来确定这一点在哪里吗?


谢谢。

可能是这个的复制品吗

如果您的目的是将入站SOAP调用映射到出站SOAP调用:

,您可能还需要考虑使用代理。
<sub-flow name="vinculaValidaServiceClienteFlow" doc:name="vinculaValidaServiceClienteFlow">
    <cxf:jaxws-client operation="vinculaServicioIngreso" serviceClass="...VinculaValidaService"  doc:name="SOAP"/>
    <http:outbound-endpoint exchange-pattern="request-response" method="POST" address="http://localhost:8070/pic/vinculaValidaService" doc:name="HTTP"/>
</sub-flow>
<flow name="vinculacionFlow2" doc:name="vinculacionFlow2">
    <vm:inbound-endpoint exchange-pattern="request-response" path="test2" doc:name="VM"/>
    <logger level="INFO" doc:name="Logger"/>
    <flow-ref name="vinculaValidaServiceClienteFlow" doc:name="Flow Reference"/>
</flow>
<flow name="vinculaServiceFlow" doc:name="vinculaServiceFlow">
    <http:inbound-endpoint exchange-pattern="request-response"   doc:name="vinculaServiceHTTP" ref="vinculaServiceHTTPEndpoint"/>
    <logger level="INFO" doc:name="Logger" message="luna es #[payload]"/>
    <cxf:jaxws-service doc:name="vinculaServiceSOAP" serviceClass="...service.VinculaService"/>
    <byte-array-to-string-transformer doc:name="Byte Array to String"/>
    <logger message="marte es #[payload]" level="INFO" doc:name="printpayload"/>
    <set-variable variableName="cedula" value="#[message.payload]" doc:name="Variable"/>
    <logger message="jupiter es #[flowVars['cedula']]" level="INFO" doc:name="printVar"/>
    <set-payload value="#[message.payloadAs(java.lang.String)]" doc:name="Set Payload"/>
    <logger message="sol es #[payload]" level="INFO" doc:name="printpayload"/>
    <flow-ref name="vinculaValidaServiceClienteFlow" doc:name="Flow Reference"/>
    <scripting:transformer doc:name="Groovy">
        <scripting:script engine="Groovy"><![CDATA[import   ec.gob.presidencia.tecnologia.pic.vincula.service.VinculaResponse def responseVincula = new VinculaResponse("54545366644","12063139", "se puede vincular") return responseVincula ]]>   
        </scripting:script>
    </scripting:transformer>
    <catch-exception-strategy doc:name="Catch Exception Strategy">
        <set-payload value="Error durante el procesamiento del servicio de vinculacion" doc:name="Set mensejae error"/>
    </catch-exception-strategy>
 </flow>
1. java.lang.reflect.Method cannot be cast to java.lang.String(java.lang.ClassCastException)
  org.mule.module.cxf.CxfOutboundMessageProcessor:338 (null)
2. java.lang.reflect.Method cannot be cast to java.lang.String. Failed to route event via endpoint: org.mule.module.cxf.CxfOutboundMessageProcessor. Message payload is of type: String (org.mule.api.transport.DispatchException)
  org.mule.module.cxf.CxfOutboundMessageProcessor:150 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transport/DispatchException.html)

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to service.VinculaResponse
    at ec.gob.presidencia.tecnologia.pic.vincula.service.jaxws_asm.VinculaServicioIngresoResponse_WrapperTypeHelper1.createWrapperObject(Unknown Source)
    at org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessage(WrapperClassOutInterceptor.java:100)
    ... 97 more