Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

The Disassembler / Array Catch-22

Status
Not open for further replies.

rodmcleay

Programmer
Jun 20, 2005
11
AU
When creating a disassembler we set the envelope and document schemas. With the document schema being multiples or Unbounded.

If I create a schema for "People" like so:
=====================================================
<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns=" xmlns:b=" targetNamespace=" xmlns:xs=" <xs:element name="People">
<xs:complexType>
<xs:sequence>
<xs:element name="Person">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="Name" type="xs:string" />
<xs:element name="Age" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
===================================================
I can not point to the document to the unbounded element as it does not have its own schema, or can I?

If I create the same information like so:
===================================================
<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns:ns0=" xmlns=" xmlns:b=" targetNamespace=" xmlns:xs=" <xs:import schemaLocation=".\schema3.xsd" namespace=" />
<xs:annotation>
<xs:appinfo>
<b:references>
<b:reference targetNamespace=" />
</b:references>
</xs:appinfo>
</xs:annotation>
<xs:element name="People">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="ns0:person" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

AND

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns=" xmlns:b=" targetNamespace=" xmlns:xs=" <xs:element name="Person">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="Age" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
========================================================
Where the document schema is seperated and imported into the envelope schema there is no problem identifying the envelope and document schemas and the disassembler will work.

However, in the later method, when converted into a Web Service, the proxy treats the unbounded element as an array.

Biztalk will not acccept a method (Web Service or Not) that requires an array as a parameter.

So basically if you create a web service using the later method Biztalk Orcestrations can not consume it.
If you use the first you can not disassemble the message

This, to me, is absolutely ridiculas, for a intergration engine not to be able to intergrate even with its own requirements.

I would like to be able to assume that my orchestrations can consume any standards compliant web service. Especially if the web service is constructed with BizTalk.

Please can someone tell me I AM WRONG and how I should be going about this.

Any Comments would be appreciated.

Best Regards,
Rod
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top