Я новичок в 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 (если это проблема)?Заранее спасибо за помощь.