0

I'm new in using axis2 and I'trying to generate java classes from a wsdl. Unfotunately I get the following exception : org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL I cannot figure out how to find the problem. I work with axis2-1.6.2 on jdk1.7 and win7. Any hint would be appreciated. Flavio here is my wsdl :

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions 
name="IFX170PortType" 
targetNamespace="urn:ifxforum-org:WSDL:1:PortType" 
xmlns:tns="urn:ifxforum-org:WSDL:1:PortType" 
xmlns:types="urn:ifxforum-org:WSDL:1:PortType:types" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
    <xsd:schema 
        targetNamespace="urn:ifxforum-org:WSDL:1:PortType:types"
        xmlns:ifx="urn:ifxforum-org:XSD:1" 
        xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
        <xsd:import namespace="urn:ifxforum-org:XSD:1" 
                                schemaLocation="IFX170.xsd"/>
        <xsd:element name="DoIFXRq">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="ifx:IFX" />
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="DoIFXRs">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="ifx:IFX" />
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:schema>
</wsdl:types>
<wsdl:message name="DoIFXRqMsg">
    <wsdl:part name="parameters" element="types:DoIFXRq"/>
</wsdl:message>
<wsdl:message name="DoIFXRsMsg">
    <wsdl:part name="result" element="types:DoIFXRs"/>
</wsdl:message>
<wsdl:portType name="IFX170PortType">
    <wsdl:operation name="DoIFX">
        <wsdl:input message="tns:DoIFXRqMsg"/>
        <wsdl:output message="tns:DoIFXRsMsg"/>
    </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="IFX170SOAPBinding" type="IFX170PortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="DoIFX">
        <soap:operation style="document" soapAction="getDoIFX" />
        <wsdl:input>
            <soap:body use="literal" />
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal" />
        </wsdl:output>
    </wsdl:operation>
</wsdl:binding>
<wsdl:service name="IFX170Service">
    <wsdl:port name="IFX170SOAPPort" binding="IFX170SOAPBinding">
        <soap:address location="http://localhost:8080/axis2/services      /StockQuoteService" />
    </wsdl:port>
</wsdl:service>
</wsdl:definitions>
vyegorov
  • 21,787
  • 7
  • 59
  • 73
flavio
  • 11
  • 2
  • 5

1 Answers1

0

If still having issues, try the following updates to the WSDL to ensure that the related entities within the WSDL are properly referenced:

<wsdl:binding name="IFX170SOAPBinding" type="tns:IFX170PortType">

<wsdl:service name="IFX170Service">
    <wsdl:port name="IFX170SOAPPort" binding="tns:IFX170SOAPBinding">

Note the use of the 'tns:' prefix in the type and binding attributes respectively.

dcbyers
  • 864
  • 4
  • 6