簡體   English   中英

WSO2 BPS BPEL重用異步過程

[英]WSO2 BPS BPEL reusing the async processes

有了WSO2 BPS 3.6.0,我們有幾個長時間運行的異步進程。 我想在多個其他進程(例如錯誤處理,通用過程等)中重用一個進程。

問題在於,在這種情況下,多個進程將公開相同的回調服務:

ERROR {org.wso2.carbon.bpel.core.ode.integration.store.TenantProcessStoreImpl} -  Service: {http://xxx/bps/xxx}XXCallback already used by another process. Try again with a different service name

如何偵聽來自多個進程的回調響應? (假設我可以提供相關性,以便調用正確的實例)

我正在考慮為每個父進程提供一點不同的服務名稱(URL片段?)(甚至公開相同的端口),並使用ReplyTo標頭強制使用正確的回調URL。 我仍然不確定這是否是正確的方法。

Process1和Process2異步調用CommonProcess。

Process1和Process2應該實現Callback.wsdl中定義的操作

CommonProcess將調用Callback.wsdl中定義的操作來關聯Process1 / Process2。

ProcessPackage1

  • 進程1
  • 進程1.wsdl
  • CommonProcess.wsdl
  • Callback.wsdl

ProcessPackage2

  • 進程2
  • Process2.wsdl
  • CommonProcess.wsdl
  • Callback.wsdl

CommonProcessPackage

  • CommonProcess.bpel
  • CommonProcess.wsdl
  • Callback.wsdl

如何將Process1和Process2的EPR傳遞給CommonProcess進行回調?

這可以通過DynamicEndpoints完成。 可以在從Process1或Process2到CommonProcess的調用期間,在有效負載消息中傳遞流程EPR。 CommonProcess將使用與傳入消息一起傳遞的EPR覆蓋與Callback.wsdl對應的partnelink EPR。

這是一個示例,展示了圍繞Partnerlink EPR進行的操作。

https://github.com/apache/ode/tree/ode-1.3.x/distro/src/examples-war/DynPartner

本文檔進一步介紹了該選項: http : //ode.apache.org/endpoint-references.html

注意:這在Apache ODE中提供,並且可能在WSO2上可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM