バインディングで指定された操作は「porttype」で定義されていませんが、そこにあります、WSDL ..ヘルプ

StackOverflow https://stackoverflow.com/questions/2747513

質問

このことは私を夢中にさせています...私がそれを検証しようとするときはいつでも..それは私にエラーを与えます

<wsdl:operation name="ComposedClassOpt">

完全な定義は以下です...

「バインディング」結合に指定された操作は、ポートタイプ「ComposedClassPortType」に対して定義されていません。このバインディングで指定されたすべての操作は、ポートタイプ「ComposedClassPortType」で定義する必要があります。」

ただし、操作はporttypeにあります

plzありがとう。

    <?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="compose" targetNamespace="http://composeWsdl/"
 xmlns:wsdl2="http://BookService2/" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
 xmlns:wsdl1="http://BookService1/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
 xmlns:tns="http://composeWsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
 xmlns:xsdcomp="http://ComposedClass/">
 <wsdl:import namespace="http://BookService1/"
  location="/Users/adnan/Documents/workspace/TestBpel/BookService1.wsdl">
 </wsdl:import>
 <wsdl:import namespace="http://ComposedClass/"
  location="/Users/adnan/Documents/workspace/wsdlparse/ComposedClass.xsd">
 </wsdl:import>
 <wsdl:import namespace="http://BookService2/"
  location="/Users/adnan/Documents/workspace/TestBpel/BookService2.wsdl">
 </wsdl:import>
 <wsdl:message name="ComposedClassINMsg">
  <wsdl:part name="ComposedClassINMsgPayload" element="xsdcomp:ComposedClassIN">
  </wsdl:part>
 </wsdl:message>
 <wsdl:message name="fault">
  <wsdl:part name="FaultPayload" type="xsd:string">
  </wsdl:part>
 </wsdl:message>
 <wsdl:message name="ComposedClassResponseMsg">
  <wsdl:part name="ComposedClassResponseMsgPayload" element="xsdcomp:ComposedClassResponse">
  </wsdl:part>
 </wsdl:message>
 <wsdl:portType name="ComposedClassPortType">
  <wsdl:operation name="ComposedClassOpt">
   <wsdl:input name="ComposedClassINMsg" message="tns:ComposedClassINMsg">
   </wsdl:input>
   <wsdl:output name="ComposedClassResponseMsg" message="tns:ComposedClassResponseMsg">
   </wsdl:output>
   <wsdl:fault name="generalFault" message="tns:fault">
   </wsdl:fault>
  </wsdl:operation>
 </wsdl:portType>
 <wsdl:binding name="Binding" type="tns:ComposedClassPortType">
  <soap:binding style="rpc"
   transport="http://schemas.xmlsoap.org/soap/http" />
  <wsdl:operation name="ComposedClassOpt">

   <wsdl:input name="ComposedClassbindIn">
    <soap:body use="literal" />
   </wsdl:input>
   <wsdl:output name="ComposedClassbindOut">
    <soap:body use="literal" />
   </wsdl:output>
   <wsdl:fault name="BindingFault">
   </wsdl:fault>
  </wsdl:operation>
 </wsdl:binding>
 <wsdl:service name="service">
  <wsdl:port name="BindingPort" binding="tns:Binding">
   <soap:address location="http://localhost:8181/ode/processes/BindingPort" />
  </wsdl:port>
 </wsdl:service>
 <plnk:partnerLinkType name="BookServicePLT">
  <plnk:role name="BookServiceRole" portType="tns:ComposedClassPortType">
  </plnk:role>
 </plnk:partnerLinkType>
</wsdl:definitions>
役に立ちましたか?

解決

私は同様の問題を抱えていて、解決策を探しました。これが私のために働いたものです。

バインディング/操作/[入力、出力] - 「名前」属性を削除します。

これにより、問題が修正されるはずです。私はこれに答えるのに遅れていますが、将来、この情報を利用して、私のように苦労しない人がいることを願っています。

ここでポイント4を参照してください:http://article.gmane.org/gmane.text.xml.axis.devel/6085/match = matching+porttype

他のヒント

同じエラーがあり、操作メッセージを変更して名前を含めると消えました。

すなわち

  <wsdl:operation name="fetch">
    <wsdl:input message="impl:fetchRequest"/>
    <wsdl:output message="impl:fetchResponse"/>
  </wsdl:operation>

  <wsdl:operation name="fetch">
    <wsdl:input message="impl:fetchRequest" name="fetchRequest"/>
    <wsdl:output message="impl:fetchResponse" name="fetchResponse" />
  </wsdl:operation>
  • XMLフォーマットを修正しました。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top