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

Reply via email to