Red Hat Bugzilla – Bug 826012
SOAPClient fails to send message with <xs:any> data type
Last modified: 2018-03-29 17:49:06 EDT
Description of problem: Platform BZ for https://issues.jboss.org/browse/JBESB-3809 The soapUI SOAPClient cannot map a request Map to a SOAP message template using OGNL and thus fails to send it if the message is defined with <xs:any> data type in the WSDL. An example WSDL in mind looks like this: ... <types> <xs:schema targetNamespace="http://www.acme.com/ws/" xmlns:tns="http://www.acme.com/ws/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="MyRequest"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="tns:myRequestDetails"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="myRequestDetails"> <xs:complexType> <xs:sequence> <xs:any namespace="##other" processContents="lax"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> </types> <message name="MyWebServicePort_MyRequest"> <part element="tns:MyRequest" name="MyRequest"/> </message> ... How reproducible: Easy Steps to Reproduce: 1. Make a web service by contract first approach using WSDL which includes the message definition above. 2. Deploy jboss-esb.xml which has an ESB service invoking the web service via the soapUI SOAPClient. 3. Try to send a message from the ESB to the web service. Actual results: No data is embedded for the <xs:any> part in the request SOAP message. The web service receives only null. Expected results: Actual data should be embedded in the request SOAP message so that the web service can receive the <xs:any> data.
GSS prioritizes this 'high'. There is a customer awaiting resolution for this case. SOA-PM stakeholders, please triage this issue so GSS can assess the likelihood of resolution in 5.3. (This will help us in our discussions with the customer, who is on 5.2) Thanks, Rick
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: The soapUI SOAPClient cannot map a request Map to a SOAP message template using OGNL. Because of this, messages are not sent if they have the "xs:any" data type in the WSDL.
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1 +1 @@ -The soapUI SOAPClient cannot map a request Map to a SOAP message template using OGNL. Because of this, messages are not sent if they have the "xs:any" data type in the WSDL.+The soapUI SOAPClient cannot map a request Map object to a SOAP message template using OGNL at the part of "xs:any" data types in the WSDL. Because of this, messages which lacks "xs:any" XML fragments are sent if the WSDL includes data types with "xs:any".
Magesh Bojan <mageshbk@jboss.com> updated the status of jira JBESB-3809 to Closed
Magesh Bojan <mageshbk@jboss.com> made a comment on jira JBESB-3809 At revision: 38125
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1 +1 @@ -The soapUI SOAPClient cannot map a request Map object to a SOAP message template using OGNL at the part of "xs:any" data types in the WSDL. Because of this, messages which lacks "xs:any" XML fragments are sent if the WSDL includes data types with "xs:any".+The soapUI SOAPClient cannot map a requested Map object to a SOAP message template using OGNL with "xs:any" data types in the WSDL. Because of this, messages that lack "xs:any" XML fragments are sent if the WSDL includes data types with "xs:any".
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1 +1 @@ -The soapUI SOAPClient cannot map a requested Map object to a SOAP message template using OGNL with "xs:any" data types in the WSDL. Because of this, messages that lack "xs:any" XML fragments are sent if the WSDL includes data types with "xs:any".+The soapUI SOAPClient could not map a requested Map object to a SOAP message template using OGNL with "xs:any" data types in the WSDL. Because of this, messages that lacked "xs:any" XML fragments were sent if the WSDLincluded data types with "xs:any".
Unfortunately can't verify that it's repaired. In my exapmle the server log shows: ERROR [STDERR] [Fatal Error] :1:1: Content is not allowed in prolog. Apparently it's parsing error. Attaching full exception and reproducer. To run reproducer just copy it to quickstart directory and run: ant deploy ant runtest
Created attachment 600559 [details] Reproducer
Created attachment 600560 [details] Server log
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1 +1 @@ -The soapUI SOAPClient could not map a requested Map object to a SOAP message template using OGNL with "xs:any" data types in the WSDL. Because of this, messages that lacked "xs:any" XML fragments were sent if the WSDLincluded data types with "xs:any".+The soapUI SOAPClient does not map a requested Map object to a SOAP message template. This occurs when using OGNL with "xs:any" data types in the WSDL. Because of this, messages defined with the <xs:any> data type in the WSDL will not be sent.