如何调用异步BPEL流程?
我有一个异步 BPEL 流程,我想从我的 Java EE Web 应用程序调用它。我该怎么做?我正在使用 Oracle SOA-Suite 11g PS3。
I've got an asynchronous BPEL process and I wanna call it from my Java EE web application. How can I do this? I'm using Oracle SOA-Suite 11g PS3.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
异步 SOAP/HTTP 发送方与同步 SOAP/HTTP 客户端基本相同,只是它会丢弃响应。仅检查响应的 HTTP 状态以验证接收者是否理解您的消息。
异步接收器基本上是一个 SOAP/HTTP 服务器,侦听请求的“ReplyTo/Adress”字段中发送的地址。收到消息后,它会发送带有“200”状态代码的空响应。
发送和接收的消息使用 WS-Addressing SOAP 标头字段“MessageID”(请求)和“RelatesTo”(响应)进行关联。
如果您对“低技术”解决方案感到满意,您可以像通过 HTTP 发送/接收 XML 一样发送/接收异步 SOAP 请求。以下 HTTP 请求将被 BPEL 流程“AsynchDummy”理解为异步请求。 AsynchDummy 是使用 JDeveloper 生成的默认异步 BPEL 流程:
不要忘记将 SOAPAction HTTP 标头设置为 "initiate"(包括引号)。
您可以从 BPEL 流程的回调客户端步骤中得到类似的消息:
An Asynchronous SOAP/HTTP sender is basically the same as a Synchronous SOAP/HTTP client, just it throws away the response. Only check the HTTP status of the response to verify that the receiver understood your message.
An Asynchronous receiver is basically a SOAP/HTTP server listening on the address sent in the "ReplyTo/Adress" field of the request. After receiving the message it sends an empty response with a "200" status code.
The sent and received messages are correlated using the WS-Addressing SOAP header fields "MessageID" (request) and "RelatesTo" (response).
If you are happy with a "low-tech" solution, you can send/receive Asynch SOAP requests just as XML over HTTP. The following HTTP Request will be understood by the BPEL process "AsynchDummy" as an asynchronous request. AsynchDummy is the default asynchronous BPEL process generated with JDeveloper:
Don't forget to set the SOAPAction HTTP header to "initiate" (including the quotation marks).
You can expect a similar message from the callback client step of the BPEL process: