I’m hoping someone can help either explain what I’m
doing wrong here, or whether my approach is flawed!
Essentially I have a service exposed on a BizTalk
ESB which I need to consume from within an orchestration. I have two
schemas which represents the request and response of the service, and a port
type within my orchestration setup for the messages.
I’ve setup a WCF-BasicHttp send port (using
passThruTransmit,PassThroughReceive pipelines) to send to the ESB onramp and
set the soap action correctly.
This port is configured to add the required
elements around the outgoing message (using the outbound WCF message body
template settings) so that the onramp will process the message. I can see that
the request is now being processed successfully on the ESB and I’m receiving a
valid response (using Fiddler).
However, the response is not being correctly
handled within BizTalk as the soap body coming back does not match the response
schema setup in the orchestration.
Received unexpected message type ‘’
does not match expect type ‘http://foo#bar’
So I configure the port and set the incoming
message body using an XPATH expression to retrieve out the bit of the soap body
that represents my response schema //*[local-name()=”bar” and
namespace-uri()=’http://foo’], and set the encoding to XML, however I now
receive a different warning which again stops my orchestration:
Unable to find match for inbound body
path expression “//*[local-name()=”bar” and
namespace-uri()=’http://foo’]” in message.
Now I’m stuck – I’ve verified that the XPATH I’ve
given is valid and matches the appropriate element however I cannot progress
this at all.
Has anyone run into this problem before? Is there a
different way that I should be doing this?