2017-02-23 1 views
2

Wir haben einen Proxy-Dienst in Wso2 esb mit esb-Projekt in Eclipse erstellt. Dieser Proxy-Service ruft 2 Web-Services auf, zuerst eine Abfrage von Daten aus einem Legacy-System und die andere erstellt einen Verkaufsauftrag in Oracle Fusion.Proxy-Dienst ausgeführt durch geplante Aufgabe in Wso2 Esb gibt Fehler "Unerwarteter Fehler beim Senden der Nachricht zurück"

Dieser Proxy-Dienst wird bei Ausführung aus Soap ui erfolgreich ausgeführt und erstellt einen Verkaufsauftrag ohne Fehler. Bei der Ausführung von geplanten Tasks wird diese ausgeführt und erzeugt eine Reihenfolge, gibt aber den Fehler "Unerwarteter Fehler beim Senden der Nachricht zurück {org.apache.synapse.core.axis2.Axis2Sender}" in der Datei "wso2carbon.log" aus.

Die xml für geplante Aufgabe sind als

<task class="org.apache.synapse.startup.tasks.MessageInjector" 
     group="synapse.simple.quartz" name="testtask2"> 
     <trigger count="1" interval="60"/> 
     <property name="proxyName" value="EslSfaOFAOMSOIntegrationPS" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/> 
     <property name="soapAction" value="operation" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/> 
     <property name="injectTo" value="proxy" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/> 
     <property name="to" 
      value="http://10.1.6.176:8280/services/EslSfaOFAOMSOIntegrationPS.EslSfaOFAOMSOIntegrationPSHttpSoap11Endpoint" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/> 
     <property name="message" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"> 
      <soapenv:Envelope xmlns:esl="esl" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
       <soapenv:Header/> 
       <soapenv:Body> 
        <esl:operation/> 
       </soapenv:Body> 
      </soapenv:Envelope> 
     </property> 
    </task> 

Das komplette Fehlerprotokoll folgt, ist als

TID: [-1234] [] [2017-02-23 06:19:17,471] ERROR {org.apache.synapse.core.axis2.Axis2Sender} - Connection:keep-alive,Content-Language:en,Content-Length:0,Content-Type:,Date:Thu, 23 Feb 2017 06:19:17 GMT,Server:Oracle-Application-Server-11g,Set-Cookie:<oracle fusion url>; httponly; secure; path=/,X-ORACLE-DMS-ECID:005IImNkZMq3z005RzH7id0001U70002LZ,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back {org.apache.synapse.core.axis2.Axis2Sender} 
org.apache.axis2.AxisFault: Transport out has not been set 
     at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:432) 
     at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:222) 
     at org.apache.synapse.mediators.builtin.RespondMediator.mediate(RespondMediator.java:35) 
     at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) 
     at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:260) 
     at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:766) 
     at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:282) 
     at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554) 
     at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:188) 
     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) 
     at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:261) 
     at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 

Antwort

1

Proxy Setzen <property name="OUT_ONLY" value="true"/> in Ihrem EslSfaOFAOMSOIntegrationPS folgt.

Und ich denke, Sie können to Eigenschaft entfernen, da die Nachricht an den Proxy in proxyName Eigentum geschickt wird.

+0

HINZUFÜGEN OUT_ONLY Eigenschaft hat nicht funktioniert .. können Sie angeben, wie Sie es hinzufügen? –

+0

nach dem Hinzufügen meines Proxy ist wie

+0

entfernen 'respond' und setzen OUT_ONLY gerade vor dem 2. Anruf. – Bee

Verwandte Themen