It depends. When RPC style is used the request should contain a wrapper element with the name of the operation. When document style is used it all depends o the schema that defines the elements (no magic elements). I wonder what your service really expects and editing the WSDL will have to make sure that this constrained is satisfied. I hope you get my point.
Thanks, Keith. On Fri, Sep 26, 2008 at 8:05 PM, jackdawson <[EMAIL PROTECTED]> wrote: > > Thanks Keith. That's good to hear that Axis2 is more strict and reliable. > > Here is my dumb question now: > If I modify this WSDL and correct it and generate client stubs and access > the service, will I be able to succeed? > > Thanks. > > > > > Keithgchapman wrote: > > > > This WSDL looks invalid. As you have said when a message part refers to > a > > type directly it is RPC whereas when it refers to an element its known as > > document. Now the messages parts of your WSDL is RPC but your binsind > says > > that its document. I feel that the WSDL is incorrect and hence Axis2 is > > right in saying that the element is missing. > > > > Thanks, > > Keith. > > > > On Fri, Sep 26, 2008 at 7:45 PM, jackdawson <[EMAIL PROTECTED]> > > wrote: > > > >> > >> Here is what I found: > >> 1.) When I used Axis2 Eclipse Codegen plugins (Generate Java > >> source > >> code > >> from WSDL file) to generate code from this WSDL, it didn't allow me. > >> It kept throwing me an error - > >> "An error occurred while completing the process - > >> java.lang.InterruptedException > >> No element type is defind for the message xxxxx" > >> 2.) Then, I switched to CXF 2.0.8 and tried to generate the > client > >> as I did > >> with Axis2 and surprisingly, it got through and created the client side > >> stubs. > >> CXF doesn't see this WSDL as a bad one. > >> > >> Please correct me if I'm wrong. To my knowledge, when you > >> define "type" > >> attribute for the "message" and not the "element" attribute then it has > >> to > >> be an "rpc" style. > >> Axis2 knows it but CXF ignores it. > >> > >> Can anyone let me know why there's a difference in > >> handling > >> the WSDLs? > >> If I modify the WSDL as Axis2 wants me to and generate > >> just > >> the client and > >> hit the service (which is already existing), will I still be able to > >> succeed? > >> > >> Here is the WSDL I'm talking about: > >> > >> <?xml version="1.0" encoding="UTF-8"?> > >> <wsdl:definitions targetNamespace="urn:login.safe.two.us" > >> xmlns:apachesoap="http://xml.apache.org/xml-soap" > >> xmlns:impl="urn:login.safe.two.us" > >> xmlns:intf="urn:login.safe.two.us" > >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > >> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > >> <wsdl:types> > >> <schema elementFormDefault="qualified" > >> targetNamespace="urn:login.safe.two.us" > >> xmlns="http://www.w3.org/2001/XMLSchema"> > >> > >> <complexType name="TestLoginType"> > >> <sequence> > >> <element name="eid" maxOccurs="1" > >> minOccurs="1" type="xsd:string" /> > >> <element name="key" > >> nillable="true" > >> type="xsd:string" /> > >> </sequence> > >> </complexType> > >> > >> <complexType name="TestLoginTypeResponse"> > >> <sequence> > >> <element name="failedReason" > >> nillable="true" type="xsd:string" /> > >> <element name="status" > >> type="xsd:boolean" /> > >> </sequence> > >> </complexType> > >> > >> </schema> > >> </wsdl:types> > >> > >> <wsdl:message name="testLoginRequest"> > >> <wsdl:part name="testLoginRequestAttributes" > >> type="impl:TestLoginType"/> > >> </wsdl:message> > >> > >> <wsdl:message name="testLoginResponse"> > >> <wsdl:part name="testLoginResponseAttributes" > >> type="impl:TestLoginTypeResponse"/> > >> </wsdl:message> > >> > >> <wsdl:portType name="LoginServicePortType"> > >> <wsdl:operation name="testLogin"> > >> <wsdl:input message="impl:testLoginRequest" > >> name="testLoginRequest" /> > >> <wsdl:output message="impl:testLoginResponse" > >> name="testLoginResponse" /> > >> </wsdl:operation> > >> </wsdl:portType> > >> > >> <wsdl:binding name="LoginServiceSoapBinding" > >> type="impl:LoginServicePortType"> > >> <wsdlsoap:binding style="document" > >> transport="http://schemas.xmlsoap.org/soap/http" /> > >> <wsdl:operation name="testLogin"> > >> <wsdlsoap:operation soapAction="" /> > >> <wsdl:input name="testLoginRequest"> > >> <wsdlsoap:body use="literal" /> > >> </wsdl:input> > >> <wsdl:output name="testLoginResponse"> > >> <wsdlsoap:body use="literal" /> > >> </wsdl:output> > >> </wsdl:operation> > >> </wsdl:binding> > >> > >> <wsdl:service name="LoginService"> > >> <wsdl:port binding="impl:LoginServiceSoapBinding" > >> name="LoginService"> > >> <wsdlsoap:address > >> location="http://JISLOGINDEV:8080/JisAuthentication/services/safelogin" > >> /> > >> </wsdl:port> > >> </wsdl:service> > >> </wsdl:definitions> > >> > >> > >> > >> Thanks. > >> -- > >> View this message in context: > >> > http://www.nabble.com/Axis2-and-CXF---Handling-WSDLs-differently-tp19689331p19689331.html > >> Sent from the Axis - User mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > -- > > Keith Chapman > > Senior Software Engineer > > WSO2 Inc. > > Oxygenating the Web Service Platform. > > http://wso2.org/ > > > > blog: http://www.keith-chapman.org > > > > > > -- > View this message in context: > http://www.nabble.com/Axis2-and-CXF---Handling-WSDLs-differently-tp19689331p19689691.html > Sent from the Axis - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
