You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by "Jeremiah Johnson (JIRA)" <be...@incubator.apache.org> on 2005/05/02 22:17:14 UTC

[jira] Resolved: (BEEHIVE-572) RPC literal generates invalid message with extra namsapces

     [ http://issues.apache.org/jira/browse/BEEHIVE-572?page=all ]
     
Jeremiah Johnson resolved BEEHIVE-572:
--------------------------------------

     Assign To: Jeremiah Johnson  (was: daryoush mehrtash)
    Resolution: Fixed

Resolving for Daryoush because he doesn't have full Jira rights, yet.

> RPC literal generates invalid message with extra namsapces
> ----------------------------------------------------------
>
>          Key: BEEHIVE-572
>          URL: http://issues.apache.org/jira/browse/BEEHIVE-572
>      Project: Beehive
>         Type: Bug
>     Reporter: daryoush mehrtash
>     Assignee: Jeremiah Johnson

>
> THe response  message to 
> http://localhost:8080/wsm-samplesWS/web/complex/RpcLiteralSample.jws?method=createAddressInBody
> generates:
> <soapenv:Envelope>
> -
> 	<soapenv:Body>
> -
> 	<createAddressInBodyResponse>
> <ns1:ReturnCreateAddressInBodyResult>0</ns1:ReturnCreateAddressInBodyResult>
> -
> 	<ns2:out_param_body>
> <ns2:city>Kirkland</ns2:city>
> -
> 	<ns2:phoneNumber>
> <ns2:areaCode>425</ns2:areaCode>
> <ns2:exchange>555</ns2:exchange>
> <ns2:number>1234</ns2:number>
> </ns2:phoneNumber>
> -
> 	<ns2:state>
> <ns2:state>WA</ns2:state>
> </ns2:state>
> <ns2:streetName>NE Points Drive</ns2:streetName>
> <ns2:streetNum>10230</ns2:streetNum>
> <ns2:zip>98008</ns2:zip>
> </ns2:out_param_body>
> </createAddressInBodyResponse>
> </soapenv:Body>
> </soapenv:Envelope>
> The message is wrong.  Below is the text from email send to me by Anne Thomas Manes
> Daryoush,
> The <ReturnCreateAddressResult> and <out_param_body> elements should be unqualified (in no namespace). I can't tell you what namespaces the child elements of <out_param_body> are supposed to be in without seeing the schema.
> According to the WS-I Basic Profile (which is the only definitive source of information for RPC/Literal), namespaces follow the following rules:
> The child element of the SOAP body (the autogenerated wrapper element
> -- in this case <createAddressResponse>) is in the namespace specified in the <wsdlsoap:body> definition in the WSDL binding:
>   <wsdl:output name="impl:createAddressResponse">
>     <wsdlsoap:body use="literal" namespace="some-uri"/>
>   </wsdl:output>
> Since this element is unqualified in both your examples, I assume that you neglected to specify a namespace in your WSDL binding. (You should, though.)
> The children of this wrapper element (the autogenerated parameter
> elements) are in *no* namespace. These elements aren't defined in the WSDL -- only their types are defined:
>   <wsdl:message name="createAddressResponse">
>      <wsdl:part name="ReturnCreateAddressResult" type="xsd:int"/>
>      <wsdl:part name="out_param_body" type="ns1:out_param_body"/>
>   </wsdl:message>
> The children of <out_param_body> will be in the namespace(s) as defined by the schema that defines the out_param_body type (ns1). If you specified elementFormDefault="qualified",  and you define all the children within that namespace, then the children of <out_param_body> will be in the ns1 namespace. But, if the children are defined in separate schemas, then they will be in different namespaces.
> For example, if the schema looks something like this:
>    <xsd:complexType name="out_param_body">
>       <xsd:sequence>
>           <xsd:element ref="ns1:city"/>
>           <xsd:element ref="ns2:phoneNumber"/>
>           <xsd:element ref="ns3:state"/>
>           ...
>       </xsd:sequence>
>    </xsd:complexType>
> then each child element will be in the appropriately referenced namespace.
> Anne

-- 
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