[SOA] Response von geclonten MessageContext empfangen

nilstgmd

Grünschnabel
Hi,
ich habe mir meinen eigenen SendMediator für den Apache Synapse ESB gebaut, in dem der MessageContext geclont wird und dann über den Axis2FlexibelMEPClient gesendet wird, während der original MessageContext an den nächsten Mediator weitergeleitet wird.
Code:
DefaultEndpoint dep = (DefaultEndpoint) ep;
String address = dep.getEndpoint().getAddress();
EndpointReference endPointRef = new EndpointReference(address);
msgCtx.setTo(endPointRef);
MessageContext newCtx = MessageHelper.cloneMessageContext(msgCtx);
Axis2FlexibleMEPClient.send(epd, newCtx);
Das Senden funktioniert soweit auch, aber der Response kommt nicht an. Stattdessen erhalte ich die Fehlermeldung
Java:
 org.apache.axis2.AxisFault: Read timed out
      	at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
      	at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:203)
      	at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76)
      	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400)
      	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225)
      	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435)
      	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
      	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
      	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
Wie kann ich es anstellen, dass der Response korrekt ausgeführt werden? Muss die über Aggregation gemacht werden oder reicht es den replyTo-Wert korrekt zu setzen?

EDIT: Vielleicht sollte dazu gesagt werden, dass dies die einzige Stelle ist wo gesendet wird. Damit sind auch nur die Responses aus diesem Sendevorgang wichtig.

Vielen Dank im Voraus an alle SOA-Experten.
 
Zuletzt bearbeitet:
Zurück