2010-04-30 17 views
1

這件事情讓我瘋了...... 每當我嘗試驗證它..它給我的錯誤在操作不是用於「端口類型」中定義,但它的存在,WSDL ..幫助

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

回答

7

我也有類似的問題,並四處尋找一個解決方案。這對我來說很有用。

用於結合/操作/ [輸入,輸出] - 刪除 「名稱」 屬性。

這應該解決這個問題。儘管我遲遲不回答這個問題,但我希望將來有人可以利用這個信息,而不是像我那樣掙扎。

參考點4的位置: http://article.gmane.org/gmane.text.xml.axis.devel/6085/match=matching+portType

+0

工作。 謝謝。 – BMaximus 2017-03-30 09:43:21

6

我有同樣的錯誤,我改變了操作的信息,包括名稱和它走了:

<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格式。
+0

隨着氧氣XML開發者,我不得不(1)名稱屬性添加到端口類型/操作與上述(2)回到綁定,刪除它,然後使用自動完成來幫助再次構建綁定和操作。這讓Oxygen能夠拿起新的名字,並且一切都很好, – Kevsy 2013-06-25 12:44:45

相關問題