0

如何调用从 WSO2 ESB 到 BPEL 工作流程的 Soap 代理服务。任何帮助都将不胜感激。

4

1 回答 1

0

请按照以下步骤操作。

  1. 在 WSO2 BPS 服务器上部署一个 BPEL 流程。(登录到 BPS 管理控制台并转到 Processes -> Add 然后选择 BPEL Archive(zip) 文件并上传它。如果您的 BPEL 流程有外部 Web 服务调用,您可以托管这些 Web 服务 WSO2 App Server 或 axis2Server)

  2. 使用有效负载工厂调解器创建代理服务,如下所示。此处有效负载工厂中介用于将传入请求的有效负载转换为请求允许 BPEL 流程调用的适当格式。

<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="bpel_factory"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <payloadFactory media-type="xml">
            <format>
               <p:MultiOperatorServiceRequest xmlns:p="http://wso2.org/bps/operator"><!--Exactly 1 occurrence--><x xmlns="http://wso2.org/bps/operator">$1</x>
                  <!--Exactly 1 occurrence--><y xmlns="http://wso2.org/bps/operator">$2</y>
               </p:MultiOperatorServiceRequest>
            </format>
            <args>
               <arg xmlns:m="http://wso2.org/bps/operator"
                    evaluator="xml"
                    expression="//m:MultiOperatorServiceRequest/x"/>
               <arg xmlns:m="http://wso2.org/bps/operator"
                    evaluator="xml"
                    expression="//m:MultiOperatorServiceRequest/y"/>
            </args>
         </payloadFactory>
         <send>
            <endpoint>
               <address uri="http://10.100.7.75:9763/services/MultiOperatorService.MultiOperatorServicehttpMultiOperatorServiceBindingEndpoint/"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <log level="full"/>
         <respond/>
      </outSequence>
   </target>
   <description/>
</proxy>
  1. 接下来,您可以通过 POSTMAN 向代理服务发送带有有效负载的 POST 请求并对其进行测试。

有关更多信息,请参阅http://wokis.blogspot.com/2016/05/invoke-bpel-workflow-from-wso2-esb.html

于 2016-05-13T09:13:40.400 回答