Hi,
We have a WSDL supplied to us by a partner, generated by Visual Studio. Helpfully ⚠️ it doesnt actually declare or include the XSD structures within the Type definitions. There are 2 scenarios (examples below) that I need to deal with.
1) They declare the xml as a string so this will need to be converted to a structure and passed to an appropriate MI. (in the BPE so that errors are handled).
2) They declare the structure as <s:any /> which is valid WSDL but not so helpful to XI as it doesnt know what to do with it.
If I define TheRequest and TheResponse from the WSDL in a Mapping then I can only see as far as TheRequestXML and TheResponseXML, no deeper. I can see no Node operation to map 1 field to a whole structure.
It would be possible to do this in XSLT or a Java Mapping but that seems like the wrong way of going about this as it cant be that uncommon an occurance.
The XSD does not have any visibility of the methods in the WSDL (TheRequest / TheRequestXML etc).
I can work around this by hacking the WSDL to include & use the types in the XSD explicitly, but that again seems wrong.
Namespace is defined xmlns:s="http://www.w3.org/2001/XMLSchema" ..... <wsdl:types> <s:schema elementFormDefault="qualified" targetNamespace="http://www.somewhere.com/"> <s:element name="TheRequest"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="TheRequestXML" type="s:string" /> </s:sequence> </s:complexType> </s:element> <s:element name="TheResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="TheResponseXML"> <s:complexType mixed="true"> <s:sequence> <s:any /> </s:sequence> </s:complexType> </s:element> </s:sequence> </s:complexType> </s:element> </s:schema> </wsdl:types>
Thanks
James