Hi Anne, thanks for the tips. I'm using the editor you recommended - runs on 
linux even ;-) . 

I'm getting one error still. I moved to WSDL2Java from axis v1.3 for better 
error messages. I'm sure the error has something to do with 'extension 
base' . I just resolved a jira issue on this: 

http://issues.apache.org/jira/browse/AXIS-2165

I'm getting: 

/home/iksrazal/white3/build.xml:154: WSDL processing error 
for /home/iksrazal/white3/resources/axis-jira-doclit.wsdl :
 Type {http://com/callcentreweb/types}elementReturnWeb_Base is referenced but 
not defined.

I'm not quite sure how to do this with doc lit. Any ideas ? Thanks!

<?xml version="1.0" encoding="UTF-8"?>

<definitions name="CallCentreWebService" 
targetNamespace="http://com/callcentreweb"; 
xmlns:tns="http://com/callcentreweb"; xmlns="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:ns2="http://com/callcentreweb/types";>
  <types>
    <schema targetNamespace="http://com/callcentreweb/types"; 
xmlns:tns="http://com/callcentreweb/types"; 
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns="http://www.w3.org/2001/XMLSchema";>
      <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
      <element name="elementReturnWeb_Base">
        <complexType>
          <sequence>
            <element name="tns:errorMessage" type="string"/>
            <element name="tns:successErrorCode" type="int"/>
          </sequence>
        </complexType>
      </element>
      <element name="elementReturnWeb_Login">
        <complexType>
          <complexContent>
            <extension base="tns:elementReturnWeb_Base">
              <sequence>
                <element name="tns:SOAP_Session_id" type="string"/>
                <element name="tns:web_user_name" type="string"/>
              </sequence>
            </extension>
          </complexContent>
        </complexType>
      </element>
      <element name="web_Login_Type">
        <complexType>
          <sequence>
            <element ref="tns:user_nameElement"/>
            <element ref="tns:user_passwordElement"/>
          </sequence>
        </complexType>
      </element>
      <element name="user_nameElement" type="xsd:string"/>
      <element name="user_passwordElement" type="xsd:string"/>
</schema></types>
  <message name="CallCentreWebEndpoint_web_Login">
     <part name="parameters" element="ns2:web_Login_Type"/>
  </message>
  <message name="CallCentreWebEndpoint_web_LoginResponse">
    <part name="result" element="ns2:elementReturnWeb_Login"/>
  </message>
  <portType name="CallCentreWebEndpoint">
    <operation name="web_Login">
      <input message="tns:CallCentreWebEndpoint_web_Login"/>
      <output message="tns:CallCentreWebEndpoint_web_LoginResponse"/>
    </operation>
  </portType>
  <binding name="CallCentreWebEndpointBinding" 
type="tns:CallCentreWebEndpoint">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
    <operation name="web_Login">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output> 
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="CallCentreWebService">
    <port name="CallCentreWebEndpointPort" 
binding="tns:CallCentreWebEndpointBinding">
      <soap:address 
location="http://127.0.0.1"/></port></service></definitions>



Em Quarta 23 Novembro 2005 12:08, o Anne Thomas Manes escreveu:
> I agree that the NPE isn't particularly informative, but you do have a
> number of errors in your WSDL. I suggest you get a WSDL editor with a
> validation function.
> The Cape Clear SOA Editor is free and works pretty well.
>
> First error:
> You have two elements defined in your schema named "elementReturnWeb_Base"
>
> Second set of errors:
> You need to be more careful with your namespace qualifications. In your
> message parts, you don't qualify the referenced elements, so it defaults to
> the wsdl namespace. e.g.,
>
> This:
>   <part name="user_name" element="user_nameElement"/>
>
> should be this:
>   <part name="user_name" element="tns:user_nameElement"/>
>
> And finally:
> When using document style, a message must contain at most one body part.
> You have two body parts in your login request. You must create a wrapper
> element (preferably with the same name as the operation) and use that as
> your input element. e.g.,
>
>  <x:element name="web_Login">
>   <x:complexType>
>    <x:sequence>
>      <x:element ref="tns:user_nameElement"/>
>      <x:element ref="tns:user_passwordElement"/>
>     </x:sequence>
>    </x:complexType>
>  </x:element>
>
>  <w:message name="CallCentreWebEndpoint_web_Login">
>   <w:part name="parameters" element="tns:web_Login"/>
>  </message>
>
> Anne
>
> On 11/23/05, iksrazal <[EMAIL PROTECTED]> wrote:
> > Hi all,
> >
> > I'm trying to convert a simple wsdl from rpc encoded to doc lit and wsdl
> > 2.0.
> > Please excuse if I'm making a simple error here. However, the wsdl is
> > valid
> > xml. I'm getting:
> >
> > ./WSDL2Java.sh -uri wout/axis-jira-doclit.wsdl -o wout/
> > ...
> >
> > Exception in thread "main" java.lang.NullPointerException
> >   at
> > org.apache.axis2.wsdl.builder.wsdl4j.WSDLPump.generateWrapperSchema(
> > WSDLPump.java:633)
> >   at
> > org.apache.axis2.wsdl.builder.wsdl4j.WSDLPump.populateDefinition(
> > WSDLPump.java:153)
> >   at
> > org.apache.axis2.wsdl.builder.wsdl4j.WSDLPump.pump(WSDLPump.java:100)
> >   at
> > org.apache.axis2.wsdl.builder.wsdl4j.WSDL1ToWOMBuilder.build(
> > WSDL1ToWOMBuilder.java:126)
> >   at
> > org.apache.axis2.wsdl.builder.wsdl4j.WSDL1ToWOMBuilder.build(
> > WSDL1ToWOMBuilder.java:95)
> >   at
> > org.apache.axis2.wsdl.codegen.CodeGenerationEngine.getWOM(
> > CodeGenerationEngine.java:117)
> >   at
> > org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(
> > CodeGenerationEngine.java:47)
> >   at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:30)
> >   at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21)
> >
> > The line throwing is:
> >
> > if (XMLSCHEMA_NAMESPACE_URI.equals(schemaTypeName.getNamespaceURI())){
> >
> > Here's my wsdl, once again please excuse if there is an error, but even
> > still
> > perhaps the the error should'nt be NPE.
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> >
> > <definitions name="CallCentreWebService"
> > targetNamespace="http://com/callcentreweb";
> > xmlns:tns="http://com/callcentreweb"; xmlns="
> > http://schemas.xmlsoap.org/wsdl/";
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
> > xmlns:ns2="http://com/callcentreweb/types";>
> > <types>
> >   <schema targetNamespace="http://com/callcentreweb/types";
> > xmlns:tns="http://com/callcentreweb/types";
> > xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/";
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
> > xmlns="http://www.w3.org/2001/XMLSchema";>
> >   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
> >   <element name="elementReturnWeb_Base">
> >   <complexType name="ReturnWeb_Base">
> >   <sequence>
> >   <element name="errorMessage" type="string"/>
> >   <element name="successErrorCode" type="int"/>
> >   </sequence>
> >   </complexType>
> >   </element>
> >   <element name="elementReturnWeb_Base">
> >   <complexType name="ReturnWeb_Login">
> >   <complexContent>
> >   <extension base="tns:ReturnWeb_Base">
> >   <sequence>
> >   <element name="SOAP_Session_id" type="string"/>
> >   <element name="web_user_name" type="string"/>
> >   </sequence>
> >   </extension>
> >   </complexContent>
> >   </complexType>
> >   </element>
> >   <element name="user_nameElement" type="xsd:string"/>
> >   <element name="user_passwordElement" type="xsd:string"/>
> > </schema></types>
> > <message name="CallCentreWebEndpoint_web_Login">
> >   <part name="user_name" element="user_nameElement"/>
> >   <part name="user_password" element="user_passwordElement"/>
> > </message>
> > <message name="CallCentreWebEndpoint_web_LoginResponse">
> >   <part name="result" element="elementReturnWeb_Login"/>
> > </message>
> > <portType name="CallCentreWebEndpoint">
> >   <operation name="web_Login" parameterOrder="user_name user_password">
> >   <input message="tns:CallCentreWebEndpoint_web_Login"/>
> >   <output message="tns:CallCentreWebEndpoint_web_LoginResponse"/>
> >   </operation>
> > </portType>
> > <binding name="CallCentreWebEndpointBinding"
> > type="tns:CallCentreWebEndpoint">
> >   <soap:binding transport="http://schemas.xmlsoap.org/soap/http";
> > style="document"/>
> >   <operation name="web_Login">
> >   <soap:operation soapAction=""/>
> >   <input>
> >   <soap:body use="literal"/>
> >   </input>
> >   <output>
> >   <soap:body use="literal"/>
> >   </output>
> >   </operation>
> > </binding>
> > <service name="CallCentreWebService">
> >   <port name="CallCentreWebEndpointPort"
> > binding="tns:CallCentreWebEndpointBinding">
> >   <soap:address
> > location="http://127.0.0.1"/></port></service></definitions>
> >
> > --
> > Faster, better, cheaper - choose two of the above.   - Old engineering
> > proverb
> >
> > It's easier to ask for forgiveness than permission.   - Another old
> > engineering proverb

Reply via email to