none
Per instance pipeline configuration issue. SOAP faults.. RRS feed

  • Question

  • Hi, 

    We have two different BizTalk applications calling the same web service (Dynamics AX 2012 to be precise). We want to avoid creating a shared BizTalk application containing the schemas for the web service, so we hoped that using per-instance pipeline configuration might help (setting  the DocSpecName property on XmlReceive pipeline of the request-response send port). 

    It worked fine, but when we received the XLangSoap exception from AX, we got the following error message: 

    No Disassemble stage components can recognize the data. 

    So it appears BizTalk tried to resolve the Fault message against the one specified in the DocSpecName property and of course it failed. 

    Any suggestions or our only option is still to create shared BizTalk application with the schemas?

    Thanks a lot!

    Monday, March 9, 2015 7:12 PM

Answers

  • For clarity, "per instance" Pipeline Configuration refers to the settings you can make in BizTalk Administrator.  I would not do that because setting Schema types that way is very tedious.

    Instead, create separate custom Pipelines in the VS Projects and set the Schema Types there.

    Be sure to add the Fault message Types to the Document list as well.

    • Marked as answer by Angie Xu Tuesday, March 17, 2015 5:30 AM
    Monday, March 9, 2015 7:34 PM
    Moderator

All replies

  • For clarity, "per instance" Pipeline Configuration refers to the settings you can make in BizTalk Administrator.  I would not do that because setting Schema types that way is very tedious.

    Instead, create separate custom Pipelines in the VS Projects and set the Schema Types there.

    Be sure to add the Fault message Types to the Document list as well.

    • Marked as answer by Angie Xu Tuesday, March 17, 2015 5:30 AM
    Monday, March 9, 2015 7:34 PM
    Moderator
  • Thank you John-305, 

    Yup, I configured it in Admin Console.... 

    If I got you right, you mean a custom pipeline with two disassembler components; one of them have to be that soap fault? 

    Thanks, Sergei 

    Monday, March 9, 2015 8:29 PM
  • Almost.  You would need two different Receive Pipelines, one for each Project/Application, each with it's own XmlDisassembler.

    That XmlDisassembler will reference, via the Document Schemas option the 'local' schemas and also the Soap Fault built-in Schema.

    However, keep in mind that there are some really weird rules about Schema resolution within the same Assembly so to have it work reliably, you may have to put the Pipelines in separate Projects.  There's nothing wrong with that.

    Monday, March 9, 2015 11:01 PM
    Moderator