I have the following request/response itinerary which is giving a puzzling output.

Itinerary

The onRamp is connected to a request-response port with a receive location

  • Type:WCF-BasicHttp
  • ReceivePipeline: ItinerarySelectReceiveXml
  • SendPipline: PassThruTransmit

The itinerary is set as request/response. I have tested all the components individually, everything works fine down to the last map however the message I am getting returned is the message sent to Map4 not the message produced from it. Using that output to test Map4 works fine so why am I not getting the expected message returned? Thanks

有帮助吗?

解决方案

So the solution was to add the GlobalBank.ESB.Itinerary.Processes.ProcessAndRespond orchestration to the ESB.Config as an itinerary service and use that as the final step/service in the itinerary.

其他提示

You've answered your own question, but I will contribute some additional info I had forgotten about until you re-prompted my findings.

That particular Orchestration is initiating a correlation set containing the following promoted properties:

  • BTS.CorrelationToken
  • BTS.EpmRRCorrelationToken
  • BTS.IsRequestResponse
  • BTS.ReqRespTransmitPipelineID
  • BTS.RouteDirectToTP

These properties do not get promoted by default, so the explicit correlation set on the final step in the Itinerary processing is required. The underlying subscription will route the Response message back to the intended Request.

If you have you own, custom, Itinerary steps, you can simply promote these same properties, rather than make a call to a "Sample" Orchestration that may not fit in with your intended deployment model.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top