Вызов службы отдыха через BPEL (WSO2) - PullRequest
0 голосов
/ 29 января 2019

Я новичок в WSO2, используя BPEL.Я без проблем запустил некоторые учебные пособия по бизнес-процессам, предлагаемые WSO2.

Я пытаюсь воспроизвести пример, предложенный в , этот пример .Пример работает на связывание HTTP через WSDL.То есть вызывать сервисы RESTful из процессов BPEL.Я пытаюсь запустить процесс BPEL, используя wso2bps-3.6.0, но у меня возникла ошибка, которую я не могу решить.

Ошибка следующая:

[2019-01-28 18:41:42,915] ERROR {org.wso2.carbon.bpel.core.ode.integration.PartnerService} -  Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphre0kvqr4udsb [PID {http://wso2.org/bps/sample}UserRestProcess-13] calling org.apache.ode.bpel.epr.WSAEndpoint@23735512.getUserName(...) Status REQUEST}
org.apache.axis2.AxisFault: The system cannot infer the transport information from the //172.17.100.63:8080/UserServiceREST/webresources/userservice/users/name/1 URL.
    at org.apache.axis2.description.ClientUtils.inferOutTransport(ClientUtils.java:81)
    at org.apache.axis2.client.OperationClient.prepareMessageContext(OperationClient.java:288)
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:176)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
    at org.wso2.carbon.bpel.core.ode.integration.HTTPBindingHandler.invoke(HTTPBindingHandler.java:118)
    at org.wso2.carbon.bpel.core.ode.integration.PartnerService.invoke(PartnerService.java:264)
    at org.wso2.carbon.bpel.core.ode.integration.BPELMessageExchangeContextImpl.invokePartner(BPELMessageExchangeContextImpl.java:43)
    at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:897)
    at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:140)
    at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
    at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
    at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:1002)
    at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:208)
    at org.apache.ode.bpel.engine.BpelProcess$1.invoke(BpelProcess.java:283)
    at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:224)
    at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:279)
    at org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(BpelProcess.java:434)
    at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:558)
    at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:467)
    at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleScheduler.java:633)
    at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleScheduler.java:627)
    at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:298)
    at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:253)
    at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:627)
    at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:611)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Я искал решение на разных форумах.Некоторые ответы на похожие проблемы указывают на transportSenders в файле axis2.xml в WSO2HOME\repository\conf\axis2.transportSenders в моем axis2.xml выглядит следующим образом:

<!--transportSender name="tcp"
                 class="org.apache.axis2.transport.tcp.TCPTransportSender"/-->
<transportReceiver class="org.wso2.carbon.core.transports.local.CarbonLocalTransportReceiver" name="local"/>
<transportSender class="org.wso2.carbon.core.transports.local.CarbonLocalTransportSender" name="local"/>
<!--<transportSender name="jms"
                 class="org.apache.axis2.transport.jms.JMSSender"/>-->
<transportSender class="org.apache.axis2.transport.http.CommonsHTTPTransportSender" name="http">
    <parameter name="PROTOCOL">HTTP/1.1</parameter>
    <parameter name="Transfer-Encoding">chunked</parameter>
    <!-- This parameter has been added to overcome problems encounted in SOAP action parameter -->
    <parameter name="OmitSOAP12Action">true</parameter>
</transportSender>
<transportSender class="org.apache.axis2.transport.http.CommonsHTTPTransportSender" name="https">
    <parameter name="PROTOCOL">HTTP/1.1</parameter>
    <parameter name="Transfer-Encoding">chunked</parameter>
    <!-- This parameter has been added to overcome problems encounted in SOAP action parameter -->
    <parameter name="OmitSOAP12Action">true</parameter>
</transportSender>

<!-- To enable mail transport sender, ncomment the following and change the parameters
     accordingly-->
<!--<transportSender name="mailto"
                 class="org.apache.axis2.transport.mail.MailTransportSender">
    <parameter name="mail.smtp.from">wso2demomail@gmail.com</parameter>
    <parameter name="mail.smtp.user">wso2demomail</parameter>
    <parameter name="mail.smtp.password">mailpassword</parameter>
    <parameter name="mail.smtp.host">smtp.gmail.com</parameter>

    <parameter name="mail.smtp.port">587</parameter>
    <parameter name="mail.smtp.starttls.enable">true</parameter>
    <parameter name="mail.smtp.auth">true</parameter>
</transportSender>-->

<!--Please uncomment this in Multiple Instance Scenario if you want to use NIO sender -->
<!--  
<transportSender name="http" class="org.apache.synapse.transport.nhttp.HttpCoreNIOSender">
    <parameter name="non-blocking" locked="false">true</parameter>
</transportSender>
<transportSender name="https" class="org.apache.synapse.transport.nhttp.HttpCoreNIOSSLSender">
    <parameter name="non-blocking" locked="false">true</parameter>
    <parameter name="keystore" locked="false">
        <KeyStore>
            <Location>repository/resources/security/wso2carbon.jks</Location>
            <Type>JKS</Type>
            <Password>wso2carbon</Password>
            <KeyPassword>wso2carbon</KeyPassword>
        </KeyStore>
    </parameter>
    <parameter name="truststore" locked="false">
        <TrustStore>
            <Location>repository/resources/security/client-truststore.jks</Location>
            <Type>JKS</Type>
            <Password>wso2carbon</Password>
        </TrustStore>
    </parameter>
</transportSender>
-->

Есть какие-либо советы о том, как решить эту проблему?Какие транспортные отправители требуются BPEL для вызова служб RESTful (если это проблема)?Заранее спасибо за помощь.

...