Oxygenxml Editor WSDL Analyzer question

Hello oxygenxml, I have a publicly available WSDL to consume using my SOAP client. The SOAP client must use either wsdl2java or wsimport to generate the Java stubs in the client such that the service operations exposed by the port can be invoked against the remote WS. However, wsdl2java and wsimport both fail in this task because of duplicate 'any' attributes in sequence nodes using different namespaces for the operation: getDataTable: ****************************************************************** <s:sequence> <s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax" /> <s:any minOccurs="0" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax" /> </s:sequence> ****************************************************************** Using the same WSDL in the oxygenxml editor WSDL analyzer I get satisfactory SOAP requests and responses: ****************************************************************** <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://tempuri.org/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <ns0:GetDataTable> <ns0:SQL>select sqrt(2)</ns0:SQL> </ns0:GetDataTable> </SOAP-ENV:Body> </SOAP-ENV:Envelope> ****************************************************************** ****************************************************************** <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <GetDataTableResponse xmlns="http://tempuri.org/"> <GetDataTableResult> <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Data" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="Data"> <xs:complexType> <xs:sequence> <xs:element name="Column1" type="xs:double" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <DocumentElement xmlns=""> <Data diffgr:id="Data1" msdata:rowOrder="0"> <Column1>1.4142135623730952</Column1> </Data> </DocumentElement> </diffgr:diffgram> </GetDataTableResult> </GetDataTableResponse> </soap:Body> </soap:Envelope> ********************************************************************* The question them becomes how does the WSDL analyzer clean up the WSDL on-the-fly to get a satisfactory soap client result? How can I use the editor to fix the WSDL in terms of injecting <jaxb:property> to rename or otherwise fix the WSDL to behave in a well-formed fashion? Please advise, David.

Hi David, Please see an answer here:
Sorry if it does not help much, we do not use WSDL2Java in Oxygen so it's hard to give an advice about overcoming this behavior with it. Regards, Radu Radu Coravu <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com On 11/23/2011 5:46 PM, David Brown wrote:
Hello oxygenxml, I have a publicly available WSDL to consume using my SOAP client.
The SOAP client must use either wsdl2java or wsimport to generate the Java stubs in the client such that the service operations exposed by the port can be invoked against the remote WS.
However, wsdl2java and wsimport both fail in this task because of duplicate 'any' attributes in sequence nodes using different namespaces for the operation: getDataTable:
****************************************************************** <s:sequence> <s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax" /> <s:any minOccurs="0" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax" /> </s:sequence> ******************************************************************
Using the same WSDL in the oxygenxml editor WSDL analyzer I get satisfactory SOAP requests and responses:
****************************************************************** <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://tempuri.org/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <ns0:GetDataTable> <ns0:SQL>select sqrt(2)</ns0:SQL> </ns0:GetDataTable> </SOAP-ENV:Body> </SOAP-ENV:Envelope> ****************************************************************** ****************************************************************** <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <GetDataTableResponse xmlns="http://tempuri.org/"> <GetDataTableResult> <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Data" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="Data"> <xs:complexType> <xs:sequence> <xs:element name="Column1" type="xs:double" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <DocumentElement xmlns=""> <Data diffgr:id="Data1" msdata:rowOrder="0"> <Column1>1.4142135623730952</Column1> </Data> </DocumentElement> </diffgr:diffgram> </GetDataTableResult> </GetDataTableResponse> </soap:Body> </soap:Envelope> *********************************************************************
The question them becomes how does the WSDL analyzer clean up the WSDL on-the-fly to get a satisfactory soap client result?
How can I use the editor to fix the WSDL in terms of injecting <jaxb:property> to rename or otherwise fix the WSDL to behave in a well-formed fashion?
Please advise, David.
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com http://www.oxygenxml.com/mailman/listinfo/oxygen-user
participants (2)
-
David Brown
-
Radu Coravu