2012-04-29 8 views
0

저는 axis2를 사용하면서 새로운 기능을 사용하며 wsdl에서 Java 클래스를 생성하려고합니다. Unfotunately 다음과 같은 예외가 발생합니다. org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL 문제를 찾는 방법을 찾을 수 없습니다. jdk1.7 및 win7에서 axis2-1.6.2로 작업합니다. 힌트를 보내 주시면 감사하겠습니다. 플라 비오 여기 내 WSDL입니다 :axis2 - 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> 

답변

0

여전히 문제가있는 경우, WSDL 내의 관련 기관이 제대로 참조하는 것을 보장하기 위해 WSDL에 다음 업데이트를 시도 :

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

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

주 사용을 type과 binding 속성에 각각 'tns :'접두어가 붙는다.

관련 문제