WSDL文件中未找到WSDL绑定。

6

我有以下的wsdl文件:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://www.minfin.fgov.be/bbf/extern/myMinfin/"   xmlns="http://www.minfin.fgov.be/bbf/extern/myMinfin" xmlns:pols="http://www.minfin.fgov.be/bbf/extern/myMinfin/policies"

xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<wsdl:types>
<xsd:schema targetNamespace="http://www.minfin.fgov.be/bbf/extern/myMinfin/">
  <xsd:import namespace="http://www.minfin.fgov.be/bbf/extern/myMinfin/policies" schemaLocation="getPolicies.xsd" />
</xsd:schema>
</wsdl:types>

<wsdl:message name="policiesForPersonRequest">
  <wsdl:part name="policiesForPerson" element="pols:policiesForPersonRequest" />
</wsdl:message>

<wsdl:message name="policiesOutput">
  <wsdl:part name="policies" element="pols:policiesResponse" />
</wsdl:message>

<wsdl:portType name="MyMinfinService">
  <wsdl:operation name="getPoliciesForPerson">
    <wsdl:input message="policiesForPersonRequest" />
    <wsdl:output message="policiesOutput" />
  </wsdl:operation>
</wsdl:portType>

<wsdl:binding name="MyMinfinServiceHTTPBinding" type="MyMinfinService">
  <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
  <wsdl:operation name="getPoliciesForPerson">
    <wsdlsoap:operation soapAction="" />
    <wsdl:input>
      <wsdlsoap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
      <wsdlsoap:body use="literal" />
    </wsdl:output>
  </wsdl:operation>
</wsdl:binding>

<wsdl:service name="MyMinfinServicePorts">
  <wsdl:port binding="MyMinfinServiceHTTPBinding" name="MyMinfinService">
    <wsdlsoap:address location="http://localhost:7001/bbf/MyMinfinService" />
  </wsdl:port>
</wsdl:service>

</wsdl:definitions>

它背后的xsd:
<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns="http://www.minfin.fgov.be/bbf/extern/myMinfin/policies" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.minfin.fgov.be/bbf/extern/myMinfin/policies"
elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:element name="policiesForPersonRequest">
<xs:annotation>
  <xs:documentation>The request from where all available policies must be returned.</xs:documentation>
</xs:annotation>
<xs:complexType>
  <xs:sequence>
    <xs:element name="FI_enterpriseNumber">
      <xs:annotation>
        <xs:documentation>The KBO / enterprise number of the financial institution.</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:length value="10" />
          <xs:pattern value="[0-9]{10}" />
        </xs:restriction>
      </xs:simpleType>
    </xs:element>
    <xs:element name="RRNOrBIS">
      <xs:annotation>
        <xs:documentation>The national number or bis number.</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:length value="11" />
          <xs:pattern value="[0-9]{11}" />
        </xs:restriction>
      </xs:simpleType>
    </xs:element>
  </xs:sequence>
</xs:complexType>
</xs:element>



<xs:element name="policiesResponse">
<xs:annotation>
  <xs:documentation>Available policies.</xs:documentation>
</xs:annotation>
<xs:complexType>
  <xs:sequence>
    <xs:element name="policy" maxOccurs="999">
      <xs:annotation>
        <xs:documentation>A policy.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
        <xs:sequence>
          <xs:element name="policyNumber" >
            <xs:annotation>
              <xs:documentation>Insurance policy number.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:length value="255" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element name="policyName" type="xs:string">
            <xs:annotation>
              <xs:documentation>The name of the policy.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
  </xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

我遇到了以下错误:
wsdl:binding "{http://www.minfin.fgov.be/bbf/extern/myMinfin}MyMinfinServiceHTTPBinding" not found in the wsdl: file:/C:/BBF2/FUP_04_Implementation/FUP_00_Source/Project_Folder/BBF_EXTERNAL_CONTRACTS/src/main/resources/myMinfin/myMinfin.wsdl

可能出了什么问题?


我选择不将命名空间等内容更紧凑,因为谁知道,错误可能就在其中。 - GregD
谁抛出了这个异常?请描述一下您的环境。我在您的WSDL中没有看到任何问题。 - Leos Literak
当我在命令提示符中运行“wsimport myMinfin.wsdl”命令时,会抛出此异常。 - GregD
尝试在其他工具中打开wsdl,如SoapUI或您的IDE。这可能会澄清问题。 - Leos Literak
WSDL是在Eclipse中创建/打开的,没有显示任何错误。SoapUI给出了完美的错误提示:“您的WSDL有问题”。 - GregD
显示剩余3条评论
2个回答

10
爱上错误..问题得到解决。
xmlns="http://www.minfin.fgov.be/bbf/extern/myMinfin" 

使用

xmlns="http://www.minfin.fgov.be/bbf/extern/myMinfin/" 

花了我3个小时才找到!


-1
javax.xml.ws.WebServiceException: Could not find wsdl:binding operation info for web method XXXX.
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:125)
    at com.sun.proxy.$Proxy82.XXXXX(Unknown Source)

如果出现此错误,请在客户端接口上添加Webservice注释,该接口已在服务端开发完成。我曾遇到过这个问题;我已经配置了Spring和CXF。我已经开发了服务并从客户端调用它。
希望这可以帮助到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接