Schema clash with web service

Home Page Forums BizTalk 2004 – BizTalk 2010 Schema clash with web service

Viewing 1 reply thread
  • Author
    Posts
    • #24133

      Hello

      I have a BizTalk 2006 R2 project that uses an industry standard XSD
      file (the Accord standard to be exact). The solution therefore contains
      the XSD file in one of the projects and it is referenced in various
      places. I am also calling a local web service that returns data using
      the same schema definition (actually it’s a sub-set). The namespace and
      root name of the web service result matches exactly the namespace and
      root name of the main schema referenced by the project. As a result
      when I deploy the project and process a message I get a “Cannot locate
      document specification because multiple schemas matched the message
      type” error. I looked in the deployed schemas and as expected there are
      two schemas with the same namespace and root name – one from the main
      schema and one from the web service.

      My first thought was that perhaps I could change the web service
      reference to reference the actual schema instead of it’s own generated
      one, however I got lost looking at the XML files generated for the web
      service reference.

      Any ideas?

    • #24135

      Hi,

      If you’re using the XmlReceive pipeline you can add a hint for schema resolution. Specify the fully qualified name for the schema in the ‘DocumentSpecs’ property of the XmlDisassembler properties.

       

      • #24143

        Thanks, that sounds reasonable, however that field is a text field and I have tried entering various values (The fully qualified class name, the assembly name and class name with public key etc.) without success. I get this error each time:

        No Disassemble stage components can recognize the data. 

        What should got into this box?

         

        • #24145

          Never mind. I created a custom pipeline and that did the trick.

          I just dragged an XMLDissassembler and specified the document schema to use. Interestingly this adds a DocumentSpecs value to the Pipeline setup in the send port configuration with a value that looks like:

          Namespace.Class+RootNode

          Which I tried for the noraml XML receive pipe, but that didn’t work. Not sure what the difference is between my pipe and the BizTalk one.

           

Viewing 1 reply thread
  • The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.