首页 文章

wsimport使用SOAP 1.2 for SOAP 1.1 wsdl

提问于
浏览
1

我已经为SOAP 1.1提供了这个wsdl,一旦我尝试使用wsimport生成我的java代码,它将wsdl处理为1.2 . 哪个次序会抛出错误:com.sun.tools.ws.wsdl.framework.ParseException:无效的扩展元素:"soap:body"(在命名空间“http://schemas.xmlsoap.org/wsdl/soap/”中)

如果我将soap名称更改为:xmlns:soap =“http://schemas.xmlsoap.org/wsdl/soap12/到xmlns:soap =”http://schemas.xmlsoap.org/wsdl/soap/它会生成我的代码,但我不确定它有什么其他后果(我目前还无法连接到 endpoints ) . 另外我不想破解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>

注意:两个.xsd不包括在内

1 回答

  • 0

    是的,我们决定使用CXF(可以工作)生成代码,然后将其添加到交付文件中 .

    此外,我们公司的另一个团队遇到了同样的问题,也无法找到解决方案 .

    所以,答案似乎是:使用CXF .

相关问题