[jbossws-issues] [JBoss JIRA] Commented: (JBWS-2716) WS-I: SOAPAction header does not contain the correct string value

Kevin Conner (JIRA) jira-events at lists.jboss.org
Wed Aug 5 10:36:46 EDT 2009


    [ https://jira.jboss.org/jira/browse/JBWS-2716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12479041#action_12479041 ] 

Kevin Conner commented on JBWS-2716:
------------------------------------

I suspect this is an ESB issue and not a JBossWS issue, why was this changed?

As for the ESB issue, presumably this was using org.jboss.soa.esb.actions.soap.SOAPClient, can you confirm this?

> WS-I: SOAPAction header does not contain the correct string value
> -----------------------------------------------------------------
>
>                 Key: JBWS-2716
>                 URL: https://jira.jboss.org/jira/browse/JBWS-2716
>             Project: JBoss Web Services
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: jbossws-native
>    Affects Versions: jbossws-2.0.1.SP2
>            Reporter: Boris Belovic
>
> We were performing webservice interoperability tests using WS-I test tools. There is a non-empty header SOAPAction in HTTP request message. This header contains "modifyQName" string as a value. According to the Basic Profile, there must be a non-empty soapAction attribute in binding element and this soapAction attribute must contain the same value as SOAPAction header in HTTP request. We find out that is not happening. There is SOAPAction header in HTTP request, but the corresponding soapAction attribute is empty.
> This is a result from WS-I test tool we use for testing. This output shows non-empty SOAPAction header and an empty soapAction attribute:
> HTTP headers:
> POST /WS-I/HelloWorldWS HTTP/1.1
> Content-Type: text/xml;charset=UTF-8
> SOAPAction: "modifyQName"
> User-Agent: Jakarta Commons-HttpClient/3.0.1
> Host: localhost:65432
> Content-Length: 299
> soapAction:
>  
> Element Location:
>   lineNumber=154
> And here are two WSDL documents:
> <definitions name='HelloWorldWSService' targetNamespace='http://ws_i.quickstart.samples.esb.soa.jboss.org/' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:ns1='http://wsi/helloworld' xmlns:ns2='http://wsi/helloworld/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://ws_i.quickstart.samples.esb.soa.jboss.org/' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
>  <import location='http://localhost:8080/WS-I/imported.jsp' namespace='http://wsi/helloworld'></import>
>  <service name='HelloWorldWSService'>
>   <port binding='ns1:HelloWorldBinding' name='HelloWorldWSPort'>
>    <soap:address location='http://localhost:8080/WS-I/HelloWorldWS'/>
>   </port>
>  </service>
> </definitions
> In this WSDL document, down there is operation element with empty soapAction attribute. This attribute must contain the same value as SOAPAction header in a request.
> <definitions name='HelloWorldWSService' targetNamespace='http://wsi/helloworld' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:ns1='http://wsi/helloworld' xmlns:ns2='http://wsi/helloworld/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://ws_i.quickstart.samples.esb.soa.jboss.org/' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
>  <types>
>   <xs:schema targetNamespace='http://wsi/helloworld' version='1.0' xmlns:ns1='http://wsi/helloworld/' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
>    <xs:import namespace='http://wsi/helloworld/'/>
>    <xs:element name='modifyQName' nillable='true' type='ns1:modifyQName'/>
>    <xs:element name='modifyQNameResponse' nillable='true' type='ns1:modifyQNameResponse'/>
>   </xs:schema>
>   <xs:schema targetNamespace='http://wsi/helloworld/' version='1.0' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
>    <xs:complexType name='modifyQName'>
>     <xs:sequence>
>      <xs:element minOccurs='0' name='value' type='xs:QName'/>
>     </xs:sequence>
>    </xs:complexType>
>    <xs:complexType name='modifyQNameResponse'>
>     <xs:sequence>
>      <xs:element minOccurs='0' name='return' type='xs:QName'/>
>     </xs:sequence>
>    </xs:complexType>
>   </xs:schema>
>  </types>
>  <message name='HelloWorld_modifyQName'>
>   <part element='ns1:modifyQName' name='modifyQName'></part>
>  </message>
>  <message name='HelloWorld_modifyQNameResponse'>
>   <part element='ns1:modifyQNameResponse' name='modifyQNameResponse'></part>
>  </message>
>  <portType name='HelloWorld'>
>   <operation name='modifyQName' parameterOrder='modifyQName'>
>    <input message='ns1:HelloWorld_modifyQName'></input>
>    <output message='ns1:HelloWorld_modifyQNameResponse'></output>
>   </operation>
>  </portType>
>  <binding name='HelloWorldBinding' type='ns1:HelloWorld'>
>   <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/>
>   <operation name='modifyQName'>
>    <soap:operation soapAction=''/>
>    <input>
>     <soap:body use='literal'/>
>    </input>
>    <output>
>     <soap:body use='literal'/>
>    </output>
>   </operation>
>  </binding>
> </definitions>
> Here are two SOAP message, which are parts of the communication:
> Request:
> <?xml version="1.0" encoding="UTF-8" ?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hel="http://wsi/helloworld">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <hel:modifyQName>
>          <!--Optional:-->
>          <value>qname_value</value>
>       </hel:modifyQName>
>    </soapenv:Body>
> </soapenv:Envelope>
> Response:
> <?xml version="1.0" encoding="UTF-8" ?><env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><ns1:modifyQNameResponse xmlns:ns1="http://wsi/helloworld"><return>qname_value_modified</return></ns1:modifyQNameResponse></env:Body></env:Envelope>
> Here is a link to Test Assertion Document with specified requirement:
> http://www.ws-i.org/Testing/Tools/2005/01/SSBP10_BP11_TAD_1-0.htm#BP1116
> If there are any comments or request for any details please ask us.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbossws-issues mailing list