Bug 826012

Summary: SOAPClient fails to send message with <xs:any> data type
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Tadayoshi Sato <tasato>
Component: JBossESBAssignee: Kevin Conner <kevin.conner>
Status: VERIFIED --- QA Contact: Martin Vecera <mvecera>
Severity: high Docs Contact:
Priority: high    
Version: 5.2.0 GACC: aileenc, jpechane, ldimaggi, rwagner, soa-p-jira, tcunning
Target Milestone: ER5   
Target Release: 5.3.0 GA   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
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.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Feature Request
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Reproducer
none
Server log none

Description Tadayoshi Sato 2012-05-29 11:02:50 UTC
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.

Comment 1 Rick Wagner 2012-05-29 12:39:15 UTC
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

Comment 8 Suz 2012-06-14 05:59:43 UTC
    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.

Comment 9 Tadayoshi Sato 2012-06-15 05:39:37 UTC
    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".

Comment 10 JBoss JIRA Server 2012-06-18 06:11:20 UTC
Magesh Bojan <mageshbk> updated the status of jira JBESB-3809 to Closed

Comment 11 JBoss JIRA Server 2012-06-18 06:11:20 UTC
Magesh Bojan <mageshbk> made a comment on jira JBESB-3809

At revision: 38125

Comment 12 Suz 2012-06-28 23:32:26 UTC
    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".

Comment 13 David Le Sage 2012-07-02 03:50:16 UTC
    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".

Comment 14 Robert Balent 2012-07-26 17:26:57 UTC
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

Comment 15 Robert Balent 2012-07-26 17:29:03 UTC
Created attachment 600559 [details]
Reproducer

Comment 16 Robert Balent 2012-07-26 17:29:25 UTC
Created attachment 600560 [details]
Server log

Comment 19 Suz 2012-07-26 23:35:53 UTC
    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.