Операция, указанная в связывании не определена для «PortType», но она там, WSDL .. помощь
-
02-10-2019 - |
Вопрос
Эта вещь сводит меня с ума ... всякий раз, когда я пытаюсь его подтвердить .. Это дает мне ошибку в
<wsdl:operation name="ComposedClassOpt">
Полное определение ниже ...
Что «операция, указанная для связывания« связывания »не определена для типа порта« ComputClassporttype ». Все операции, указанные в этом связывании, должны быть определены в портовом типе« ComputClassporttype ».
Но операция находится в портупе
плз спасибо.
<?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)
Другие советы
У меня была та же ошибка, я изменил операционные сообщения, чтобы включить имя, и она ушла:
т.е.
<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.