绑定中指定的操作没有为“Porttype”定义,但它确实存在,wsdl。帮助

时间:2021-03-17 07:26:47

this thing is driving me crazy... Whenever I try to validate it.. it gives me error at

这件事快把我逼疯了……无论何时我试图验证它。它在

<wsdl:operation name="ComposedClassOpt">

complete definition is below...

完成下面的定义是…

that "The operation specified for the 'Binding' binding is not defined for port type 'ComposedClassPortType'. All operations specified in this binding must be defined in port type 'ComposedClassPortType'."

“为‘绑定’绑定指定的操作没有为‘ComposedClassPortType’端口类型定义。此绑定中指定的所有操作必须在端口类型' composesporttype '中定义。

But the operation is in the PortType

但手术在PortType

plz thank you.

请谢谢你。

    <?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>

2 个解决方案

#1


7  

I had a similar issue and looked around for a solution. This is what worked for me.

我也遇到过类似的问题,于是四处寻找解决办法。这对我起了作用。

For the Binding/Operation/[Input, Output] - remove the "name" attributes.

对于绑定/操作/[输入,输出]-删除“name”属性。

This should fix the issue. Though I'm late in answering this, I hope in future some one might make use of this info and not struggle like I did.

这应该能解决问题。虽然我回答这个问题有点晚,但我希望将来有人能利用这个信息,而不是像我一样挣扎。

Refer to the point 4 here: http://article.gmane.org/gmane.text.xml.axis.devel/6085/match=matching+portType

请参阅这里的第4点:http://article.gmane.org/gmane.text.xml.axis.devel/6085/match= matches +portType

#2


6  

I had the same error, I changed the operation messages to include name and it went away:

我犯了同样的错误,我把操作信息改成了名字,它就消失了:

i.e.

即。

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

to

  <wsdl:operation name="fetch">
    <wsdl:input message="impl:fetchRequest" name="fetchRequest"/>
    <wsdl:output message="impl:fetchResponse" name="fetchResponse" />
  </wsdl:operation>
  • Fixed XML formatting.
  • 固定的XML格式。

#1


7  

I had a similar issue and looked around for a solution. This is what worked for me.

我也遇到过类似的问题,于是四处寻找解决办法。这对我起了作用。

For the Binding/Operation/[Input, Output] - remove the "name" attributes.

对于绑定/操作/[输入,输出]-删除“name”属性。

This should fix the issue. Though I'm late in answering this, I hope in future some one might make use of this info and not struggle like I did.

这应该能解决问题。虽然我回答这个问题有点晚,但我希望将来有人能利用这个信息,而不是像我一样挣扎。

Refer to the point 4 here: http://article.gmane.org/gmane.text.xml.axis.devel/6085/match=matching+portType

请参阅这里的第4点:http://article.gmane.org/gmane.text.xml.axis.devel/6085/match= matches +portType

#2


6  

I had the same error, I changed the operation messages to include name and it went away:

我犯了同样的错误,我把操作信息改成了名字,它就消失了:

i.e.

即。

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

to

  <wsdl:operation name="fetch">
    <wsdl:input message="impl:fetchRequest" name="fetchRequest"/>
    <wsdl:output message="impl:fetchResponse" name="fetchResponse" />
  </wsdl:operation>
  • Fixed XML formatting.
  • 固定的XML格式。