gpt4 book ai didi

java - wsdl 绑定(bind)未定义

转载 作者:行者123 更新时间:2023-12-01 04:36:22 27 4
gpt4 key购买 nike

我是 WSDL 新手,正在尝试验证 WSDL。我必须从 WSDL 生成代码。我收到以下错误

The operation specified for the 'DictionaryServiceServiceSoapBinding' binding is not defined for port type 'DictionaryService'. All operations specified in this binding must be defined in port type 'DictionaryService'.

以下是我的 WSDL:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="DictionaryService" targetNamespace="http://dictionaryservice.example.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://dictionaryservice.example.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://dictionaryservice.example.com/" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://dictionaryservice.example.com/">
<xs:element name="addDataToDict" type="tns:addDataToDict"/>
<xs:element name="addDataToDictResponse" type="tns:addDataToDictResponse"/>
<xs:complexType name="addDataToDict">
<xs:sequence>
<xs:element name="identifier" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="uri" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="addDataToDictResponse">
<xs:sequence>
<xs:element name="status" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>


<xs:element name="listOfAllIndexes" type="tns:listOfAllIndexes"/>
<xs:element name="listOfAllIndexesResponse" type="tns:listOfAllIndexesResponse"/>
<xs:complexType name="listOfAllIndexes">
<xs:sequence>
</xs:sequence>
</xs:complexType>
<xs:complexType name="listOfAllIndexesResponse">
<xs:sequence>
<xs:element name="list" type="tns:listData"/>
</xs:sequence>
</xs:complexType>



<xs:element name="getDictByIndex" type="tns:getDictByIndex"/>
<xs:element name="getDictByIndexResponse" type="tns:getDictByIndexResponse"/>
<xs:complexType name="getDictByIndex">
<xs:sequence>
<xs:element name="index" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="getDictByIndexResponse">
<xs:sequence>
<xs:element name="data" type="tns:dictData"/>
</xs:sequence>
</xs:complexType>



<xs:complexType name="listData">
<xs:sequence>
<xs:element name="identifier" type="xs:integer"/>
<xs:element name="index" type="xs:integer"/>
</xs:sequence>
</xs:complexType>


<xs:complexType name="dictData">
<xs:sequence>
<xs:element name="identifier" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="uri" type="xs:string"/>
</xs:sequence>
</xs:complexType>

</xs:schema>
</wsdl:types>


<wsdl:message name="addDataToDict">
<wsdl:part name="NewPart" type="tns:addDataToDict"></wsdl:part>
</wsdl:message>

<wsdl:message name="addDataToDictResponse">
<wsdl:part name="NewPart" type="tns:addDataToDictResponse"></wsdl:part>
</wsdl:message>

<wsdl:message name="listOfAllIndexes">
<wsdl:part name="NewPart" type="tns:listOfAllIndexes"></wsdl:part>
</wsdl:message>

<wsdl:message name="listOfAllIndexesResponse">
<wsdl:part name="NewPart" type="tns:listOfAllIndexesResponse"></wsdl:part>
</wsdl:message>

<wsdl:message name="getDictByIndex">
<wsdl:part name="NewPart" type="tns:getDictByIndex"></wsdl:part>
</wsdl:message>

<wsdl:message name="getDictByIndexResponse">
<wsdl:part name="NewPart" type="tns:getDictByIndexResponse"></wsdl:part>
</wsdl:message>



<wsdl:portType name="DictionaryService">
<wsdl:operation name="addDataToDict">
<wsdl:input message="tns:addDataToDict"></wsdl:input>
<wsdl:output message="tns:addDataToDictResponse"></wsdl:output>
</wsdl:operation>
<wsdl:operation name="listOfAllIndexes">
<wsdl:input message="tns:listOfAllIndexes"></wsdl:input>
<wsdl:output message="tns:listOfAllIndexesResponse"></wsdl:output>
</wsdl:operation>
<wsdl:operation name="getDictByIndex">
<wsdl:input message="tns:getDictByIndex"></wsdl:input>
<wsdl:output message="tns:getDictByIndexResponse"></wsdl:output>
</wsdl:operation>
</wsdl:portType>

<wsdl:binding name="DictionaryServiceServiceSoapBinding" type="tns:DictionaryService">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="addDataToDict">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="addDataToDict">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="addDataToDictResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>

<wsdl:operation name="listOfAllIndexes">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="listOfAllIndexes">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="listOfAllIndexesResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>

<wsdl:operation name="getDictByIndex">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getDictByIndex">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getDictByIndexResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>

</wsdl:binding>


<wsdl:service name="DictionaryService">
<wsdl:port name="DictionaryServicePort" binding="tns:DictionaryServiceServiceSoapBinding">
<soap:address location="http://localhost:9090/DictionaryServicePort"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

我自己尝试过,但找不到答案。

最佳答案

尝试为每个消息/部分指定不同的名称 <wsdl:part name="NewPart" .....>喜欢

<wsdl:message name="addDataToDict">
<wsdl:part name="AddDataToDictRequestPart" type="tns:addDataToDict"></wsdl:part>
</wsdl:message>

<wsdl:message name="addDataToDictResponse">
<wsdl:part name="addDataToDictResponsePart" type="tns:addDataToDictResponse"></wsdl:part>
</wsdl:message>

关于java - wsdl 绑定(bind)未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17287048/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com