2017-09-21 2 views
0

J'utilise Soap Router pour configurer mes flux et pouvoir tester correctement dans SoapUI. Mais lorsque la même requête est utilisée dans un postier avec un type de requête comme post, elle passe au premier flux indépendamment de l'entrée. Ai-je mal préparé mon WSDL ou est-ce que ma mise en œuvre est fausse?Mule SoapKit Rediriger vers une mauvaise opération

Mon WSDL: (Ce WSDL est créé en utilisant JAX WS Annotations) EmpProg.wsdl

mon flux mule générée à partir wsdl

<http:listener-config name="api-httpListenerConfig" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/> 
    <apikit-soap:config name="/EmpProgApiImplService/EmpProgApiImplPort/api-config" wsdlUrl="empprogapiimpl.wsdl" serviceName="EmpProgApiImplService" portName="EmpProgApiImplPort" doc:name="APIkit SOAP: Configuration"/> 
    <flow name="api-main"> 
    <http:listener path="/EmpProgApiImplService/EmpProgApiImplPort" config-ref="api-httpListenerConfig" doc:name="/EmpProgApiImplService/EmpProgApiImplPort" /> 
    <apikit-soap:router config-ref="/EmpProgApiImplService/EmpProgApiImplPort/api-config" doc:name="SOAP Router"/> 
    </flow> 
    <flow name="tagEmp:/EmpProgApiImplService/EmpProgApiImplPort/api-config"> 
    <set-payload value="&lt;soap:Fault xmlns:soap=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;&lt;faultcode&gt;soap:Server&lt;/faultcode&gt;&lt;faultstring&gt;Operation [tagEmp:/EmpProgApiImplService/EmpProgApiImplPort/api-config] not implemented&lt;/faultstring&gt;&lt;/soap:Fault&gt;" doc:name="Set Payload"/> 
    </flow> 
    <flow name="startEmp:/EmpProgApiImplService/EmpProgApiImplPort/api-config"> 
    <set-payload value="&lt;soap:Fault xmlns:soap=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;&lt;faultcode&gt;soap:Server&lt;/faultcode&gt;&lt;faultstring&gt;Operation [startEmp:/EmpProgApiImplService/EmpProgApiImplPort/api-config] not implemented&lt;/faultstring&gt;&lt;/soap:Fault&gt;" doc:name="Set Payload"/> 
    </flow> 
    <flow name="stopEmp:/EmpProgApiImplService/EmpProgApiImplPort/api-config"> 
    <set-payload value="&lt;soap:Fault xmlns:soap=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;&lt;faultcode&gt;soap:Server&lt;/faultcode&gt;&lt;faultstring&gt;Operation [stopEmp:/EmpProgApiImplService/EmpProgApiImplPort/api-config] not implemented&lt;/faultstring&gt;&lt;/soap:Fault&gt;" doc:name="Set Payload"/> 
    </flow> 

Lorsque je place toute demande en postman il va à l'écoulement tagEmp, mais quand il est essayé à travers le savon-ui il fonctionne bien et va à ses débits respectifs. Je ne sais pas quel pourrait être le problème.

Répondre

1

Problème résolu en ajoutant SoapAction dans l'en-tête avec sa valeur en tant que nom d'opération. Il frappe alors son propre fonctionnement en essayant de Postman.