Thanks Dan. 
Thanks your help;
----- Original Message ----- 
From: "Daniel Kulp" <dk...@apache.org>
To: <users@cxf.apache.org>
Cc: "xuhb" <x...@tongtech.com>
Sent: Monday, January 16, 2012 11:51 PM
Subject: Re: A defect of JAXWS of RPC Literal operation which has xsd:Element 
message part?


> On Monday, January 16, 2012 5:37:23 PM xuhb wrote:
>> By the way, I am not sure if JAXWS specification support a RPC-Literal
>> Operation whose message part point to a xsd:element, not to a xsd:type.
>> Does anyone know about it ?
> 
> WS-I Basic profile, the parts in an RPC-Literal style WSDL MUST point to a 
> type, not an element:
> 
> R2203 An rpc-literal binding in a DESCRIPTION MUST refer, in its 
> soapbind:body 
> element(s), only to wsdl:part element(s) that have been defined using the 
> type 
> attribute.
> 
> Thus, such a wsdl as you describe is not WS-I Basic Profile compliant and 
> thus 
> would really be outside the scope of JAX-WS and CXF (and pretty much any 
> other 
> modern toolkit).
> 
> 
> Dan
> 
> 
>> ----- Original Message ----- 
>> From: "xuhb" <x...@tongtech.com>
>> To: <users@cxf.apache.org>
>> Sent: Monday, January 16, 2012 5:17 PM
>> Subject: A defect of JAXWS of RPC Literal operation which has xsd:Element
>> message part?
> 
>> 
>> 
>> > Hi:
>> > 
>> >   
>> >   CXF support RPC Literal operation which has message part point to a
>> >   xsd:element;
> But it seems there is a defect;
>> >  
>> >  
>> >  
>> >   First I generate a JAXWS interface from such a wsdl, and publish the
>> >   JAXWS as service; 
>> 
>> > 
>> > 
>> >   If I doesn't specifiy the origical wsdl's location and force CXF
>> >   create WSDL only from JAXWS interface. then the new wsdl's message
>> >   part point to a xsd:type, but not a xsd:element;
>> 
>> > 
>> > for example:
>> > 
>> > Original wsdl:
>> > <schema>
>> > 
>> >  <xs:element name="SimpleSymbol" type="xs:string" /> 
>> >  <xs:element name="Symbol" type="ns:SymbolType" /> 
>> > 
>> > </schema>
>> > 
>> > 
>> >  <wsdl:message name="rpcEInOutRequest">
>> >  
>> >    <wsdl:part name="rpcEInOutArg" element="ns:SimpleSymbol">
>> >    </wsdl:part>
>> >  
>> >  </wsdl:message>
>> >  <wsdl:message name="rpcEInOutResponse">
>> >  
>> >    <wsdl:part name="rpcEInOutReturn" element="ns:Symbol">
>> >    </wsdl:part>
>> >  
>> >  </wsdl:message>
>> > 
>> > 
>> > 
>> >  <wsdl:portType name="rpcLiteralType">
>> >  
>> >    <wsdl:operation name="rpcEInOut">
>> >    
>> >      <wsdl:input message="axis2:rpcEInOutRequest">
>> >    
>> >    </wsdl:input>
>> >    
>> >      <wsdl:output message="axis2:rpcEInOutResponse">
>> >    
>> >    </wsdl:output>
>> >    </wsdl:operation>
>> >  
>> >  </wsdl:portType>
>> > 
>> > 
>> > Generate JAXWS-Interface:
>> > 
>> >    public interface RpcLiteralType {
>> > 
>> > 
>> > 
>> >    @WebResult(name = "rpcEInOutReturn", targetNamespace =
>> >    "http://anyxml.samples/";, partName = "rpcEInOutReturn")
>> >    @WebMethod
>> >    public SymbolType rpcEInOut(
>> >    
>> >        @WebParam(partName = "rpcEInOutArg", name =
>> >        "rpcEInOutArg")
>> >        java.lang.String rpcEInOutArg
>> >    
>> >    );
>> > 
>> > }
>> > 
>> > Created WSDL from JAXWS-interface:
>> > 
>> > 
>> >    
>> >    <wsdl:message name="rpcEInOutResponse">
>> >    
>> >       <wsdl:part name="rpcEInOutReturn" type="ns1:SymbolType" /> 
>> > 
>> > </wsdl:message>
>> > 
>> >    <wsdl:message name="rpcEInOut">
>> >    
>> >          <wsdl:part name="rpcEInOutArg" type="xsd:string" /> 
>> >    
>> >    </wsdl:message>
>> >    <wsdl:portType name="rpcLiteralType">
>> >    <wsdl:operation name="rpcEInOut">
>> >    
>> >      <wsdl:input message="tns:rpcEInOut" name="rpcEInOut" /> 
>> >   
>> >   <wsdl:output message="tns:rpcEInOutResponse"
>> >   name="rpcEInOutResponse" /> 
>> 
>> > </wsdl:operation>
>> > </wsdl:portType>
>> > 
>> > 
>> > 
> 
> -- 
> Daniel Kulp
> dk...@apache.org - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com
>

Reply via email to