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