2017-02-28 7 views
0

SOAP 1.1에 대해 wsdl을 제공합니다. wsimport를 사용하여 Java 코드를 생성하려고하면 wsdl이 1.2로 처리됩니다. com.sun.tools.ws.wsdl.framework.ParseException : 유효하지 않은 확장 요소 : subsiquentially 오류가 발생하는 "비누 : 몸"("http://schemas.xmlsoap.org/wsdl/soap/"네임 스페이스)wsimport는 SOAP 1.1 wsdl에 대해 SOAP 1.2를 사용합니다.

내가에서 비누 이름 변경을 변경하는 경우 : xmlns : soap = "http://schemas.xmlsoap.org/wsdl/soap12/ to xmlns : soap ="http://schemas.xmlsoap.org/wsdl/soap/ 내 코드를 생성하지만 다른 결과가 무엇인지 확신 할 수 없습니다 (아직이 시점에서 엔드 포인트에 연결할 수 없습니다). 게다가 wsdl을 해킹하고 싶지 않습니다.

wsimport에서 1.1 wsdl을 1.2로 잘못 처리하도록하는 알려진 오류가 있습니까? (글쎄, 알려진 ... 검색 시간이 지난 후에 이것에 대해 아무것도 찾을 수 없습니다) 예를 들어 wsimport가 비누 1.1을 강제로 사용할 수있는 곳이 있습니까? wsdl을 편집하지 않고 다른 해결책이 있습니까? 여기

WSDL 코드 :

<?xml version="1.0" encoding="UTF-8"?> 
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:rpa="urn:ns:cdm:reisinformatie:data:vi:1" xmlns:tns="urn:ns:cdm:reisinformatie:message:actuelelandelijkeberichten:1" xmlns:ns="urn:ns:cdm:reisinformatie:message:actuelelandelijkeberichten:1" targetNamespace="urn:ns:cdm:reisinformatie:message:actuelelandelijkeberichten:1"> 
    <wsdl:types> 
     <xsd:schema xmlns:rpa="urn:ns:cdm:reisinformatie:data:vi:1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:ns:cdm:reisinformatie:message:actuelelandelijkeberichten:1" targetNamespace="urn:ns:cdm:reisinformatie:message:actuelelandelijkeberichten:1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"> 
      <xsd:import schemaLocation="ri-cdm-vi-lab.xsd" namespace="urn:ns:cdm:reisinformatie:data:vi:1"/> 
      <xsd:element name="GeefActueleLandelijkeBerichtenRequestMessage" type="rpa:GeefActueleLandelijkeBerichtenRequestMessageType"/> 
      <xsd:element name="GeefActueleLandelijkeBerichtenResponseMessage" type="rpa:GeefActueleLandelijkeBerichtenResponseMessageType"/> 
      <xsd:element name="GeefActueleLandelijkeBerichtenFaultMessage" type="rpa:GeefActueleLandelijkeBerichtenFaultMessageType"/> 
     </xsd:schema> 
    </wsdl:types> 
    <wsdl:message name="GeefActueleLandelijkeBerichtenRequest"> 
     <wsdl:part name="parameter" element="tns:GeefActueleLandelijkeBerichtenRequestMessage"/> 
    </wsdl:message> 
    <wsdl:message name="GeefActueleLandelijkeBerichtenResponse"> 
     <wsdl:part name="parameter" element="tns:GeefActueleLandelijkeBerichtenResponseMessage"/> 
    </wsdl:message> 
    <wsdl:message name="GeefActueleLandelijkeBerichtenFault"> 
     <wsdl:part name="Fout" element="tns:GeefActueleLandelijkeBerichtenFaultMessage"/> 
    </wsdl:message> 
    <wsdl:portType name="ActueleLandelijkeBerichtenSoap"> 
     <wsdl:documentation>Actuele LandelijkeBerichten Soap Port</wsdl:documentation> 
     <wsdl:operation name="GeefActueleLandelijkeBerichten"> 
      <wsdl:input message="tns:GeefActueleLandelijkeBerichtenRequest"/> 
      <wsdl:output message="tns:GeefActueleLandelijkeBerichtenResponse"/> 
      <wsdl:fault name="Fout" message="tns:GeefActueleLandelijkeBerichtenFault"/> 
     </wsdl:operation> 
    </wsdl:portType> 
    <wsdl:binding name="ActueleLandelijkeBerichtenSoap" type="tns:ActueleLandelijkeBerichtenSoap"> 
     <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> 
     <wsdl:documentation>Actuele LandelijkeBerichten Soap Binding</wsdl:documentation> 
     <wsdl:operation name="GeefActueleLandelijkeBerichten"> 
      <soap:operation soapAction="urn:GeefActueleLandelijkeBerichten"/> 
      <wsdl:input> 
       <soap:body use="literal"/> 
      </wsdl:input> 
      <wsdl:output> 
       <soap:body use="literal"/> 
      </wsdl:output> 
      <wsdl:fault name="Fout"> 
       <soap:body use="literal"/> 
      </wsdl:fault> 
     </wsdl:operation> 
    </wsdl:binding> 
    <wsdl:service name="ActueleLandelijkeBerichten"> 
     <wsdl:documentation>Actuele LandelijkeBerichten Service</wsdl:documentation> 
     <wsdl:port name="RPAActueleLandelijkeBerichtenSoap" binding="tns:ActueleLandelijkeBerichtenSoap"> 
      <soap:address location="NotDefined"/> 
      <wsdl:documentation>Reisinformatie Pull Applicatie Actuele LandelijkeBerichten Soap Service</wsdl:documentation> 
     </wsdl:port> 
    </wsdl:service> 
</wsdl:definitions> 

참고 :

답변

0

오른쪽에 포함이 .XSD 년대하지, 우리는 (작동) CXF와 코드를 생성 한 후 전달 파일에 그를 추가하기로 결정했습니다 .

저희 회사의 다른 팀도 같은 문제에 부딪혔으므로 이에 대한 해결책을 찾지 못했습니다.

그래서 답은 다음과 같습니다. use CXF.