3

Eclipse BPEL Designer プラグインを使用してサービス オーケストレーションを作成していますが、自動的に生成される WSDL ファイルに問題があります。

WSDL は次のとおりです。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.invocation.import" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:wsdl="http://services.lolsystem.it" name="ImportOrchestration" targetNamespace="http://ws.invocation.import">

   <plnk:partnerLinkType name="ImportType">
      <plnk:role name="ImportRole" portType="wsdl:ImportServicePortType"/>
   </plnk:partnerLinkType>
   <import location="ImportModule.wsdl" namespace="http://services.italsystem.it"/>
<types>
   <schema xmlns="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ws.invocation.import">

     <element name="ImportOrchestrationRequest" type="tns:ImportOrchestrationReqType">
           </element>

   <element name="singleEntry">
            <complexType>
                <sequence>
                    <element minOccurs="0" name="name" nillable="true" type="string"/>
                    <element minOccurs="0" name="content" nillable="true" type="base64Binary"/>
                </sequence>
            </complexType>
        </element>

              <element name="ImportOrchestrationResponse">
            <complexType>
                <sequence>
                    <element name="result" type="string"/>
                </sequence>
            </complexType>
        </element>

        <complexType name="ImportOrchestrationReqType">
            <sequence minOccurs="1" maxOccurs="unbounded">
                <element name="file" type="tns:SingleFile"></element>
            </sequence>
        </complexType>

        <complexType name="SingleFile">
            <sequence>
                <element name="name" type="string"></element>
                <element name="content" type="base64Binary"></element>
            </sequence>
        </complexType>
    </schema>
</types>


<message name="ImportOrchestrationRequestMessage">
    <part name="payload" type="tns:ImportOrchestrationReqType"/>
</message>
<message name="ImportOrchestrationResponseMessage">
    <part element="tns:ImportOrchestrationResponse" name="payload"/>
</message>


<!-- portType implemented by the ImportOrchestration BPEL process -->
<portType name="ImportOrchestration">
    <operation name="process">
        <input message="tns:ImportOrchestrationRequestMessage"/>
        <output message="tns:ImportOrchestrationResponseMessage"/>
    </operation>
</portType>   

<plnk:partnerLinkType name="ImportOrchestration">
    <plnk:role name="ImportOrchestrationProvider" portType="tns:ImportOrchestration"/>
</plnk:partnerLinkType>


<binding name="ImportOrchestrationBinding" type="tns:ImportOrchestration">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="process">
        <soap:operation soapAction="http://ws.invocation.import/process"/>
        <input>
            <soap:body use="literal"/>
        </input>
        <output>
            <soap:body use="literal"/>
        </output>
    </operation>
</binding>


<service name="ImportOrchestration">
    <port binding="tns:ImportOrchestrationBinding" name="ImportOrchestrationPort">
        <soap:address location="http://localhost:8080/ode/processes/ImportOrchestration"/>
    </port>
</service>
</definitions>

さて、問題は Eclipse for Eclipse バリデーターの WSDL が適切に形成されていることです。Axis2 に基づく Apache ODE を BPEL エンジンとして使用しています。問題は、BPEL プロセスをデプロイしようとすると、Axis エンジンがエラーを出すことです。それは次のとおりです。

「メッセージ ImportOrchestrationRequestMessage の要素タイプが定義されていません」

このエラーとその修正方法を理解するためのアドバイスをくれる人はいますか? 前もって感謝します :)

4

1 に答える 1

5

以下を試していただけますか
<message name="ImportOrchestrationRequestMessage"> <part name="payload" element="tns:ImportOrchestrationRequest"/> </message>

問題は、バインディングがドキュメント リテラルであることです。その場合、メッセージ部分は「型」ではなく「要素」を使用して構成する必要があります。

HTH

于 2012-06-13T11:00:46.657 に答える