[ http://issues.apache.org/jira/browse/BEEHIVE-746?page=all ]
     
daryoush mehrtash closed BEEHIVE-746:
-------------------------------------

    Resolution: Fixed

I have talked to brian zotter, the spec lead, on this issue.  He thinks our 
implementation is also valid and he will update the spec to reflect it.

> WSDL generated for headers inconsistent with JSR 181 spec
> ---------------------------------------------------------
>
>          Key: BEEHIVE-746
>          URL: http://issues.apache.org/jira/browse/BEEHIVE-746
>      Project: Beehive
>         Type: Bug
>   Components: Web Services (181)
>     Versions: V1Beta
>  Environment: Beehive SVN 170442
>     Reporter: Jeremiah Johnson
>     Assignee: daryoush mehrtash
>      Fix For: V1
>  Attachments: BEEHIVE-746.tar
>
> There is an example in the JSR 181 spec in section 5.4.1.3 and another in 
> section 9.1.1 showing an annotated Web service and the expected resulting 
> WSDL.  In both cases, a specific message element represents the header field 
> and a specific message element represents the other parameters.  The WSM 
> implementation takes a different route and maps all parameters, header or 
> body, into the header message entry in the WSDL.  Is that clear?  :)
> Here is the WSM version of the binding operation from the 5.4.1.3 example:
> <wsdl:operation name="SecurePing">
>   <wsdlsoap:operation soapAction=""/>
>   <wsdl:input name="SecurePingRequest">
>     <wsdlsoap:body namespace="http://www.openuri.org/jsr181/WebParamExample"; 
> parts="Ping" use="literal"/>
>     <wsdlsoap:header message="impl:SecurePingRequest" 
> namespace="http://www.openuri.org/jsr181/WebParamExample"; part="SecHeader" 
> use="literal"/>
>   </wsdl:input>
> </wsdl:operation>
> And then the message element:
> <wsdl:message name="SecurePingRequest">
>   <wsdl:part name="SecHeader" type="impl:SecurityHeader"/>
>   <wsdl:part name="Ping" type="impl:PingDocument"/>
> </wsdl:message>
> Here is the spec version of the binding operation:
> <operation name="SecurePing">
>   <soap:operation soapAction="http://openuri.org/SecurePing"/>
>   <input>
>     <soap:body parts="Ping" use="literal"/>
>     <soap:header message="SecurePingHeaders" part="SecHeader"use="literal"/>
>   </input>
> </operation>
> And the message elements:
> <message name="SecurePing">
>   <part name="Ping" type="tns:Ping"/>
> </message>
> <message name="SecurePingHeaders">
>   <part name="SecHeader" element="tns:SecurityHeader"/>
> </message>
> I get the impression that the non-spec route was explicitly chosen, so the 
> reasoning must be documented somewhere so that it may be validated; 
> otherwise, the handling of headers needs to be changed.
> Here is the wording from the spec about WebParam.header (section 7.2):
> Parameters annotated with the @WebParam.header attribute map to SOAP headers 
> instead of elements in the SOAP body.  Header parameters may appear as parts 
> in the operation's input message, output message, or both depending on the 
> value of the @WebParam.mode attribute.  Header parameters are included as 
> soap:header elements in the appropriate wsdl:input and wsdl:output sections 
> of the binding operation.

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

Reply via email to