私はBPELの作成に不慣れです。以下の簡単なプロセスを実現しました。
受信1 | | | インボーク1 | | | 受信2 | | | インボーク2
問題は、プロセスが「receive2」まで正しく実行されることですが、soapUI を介して呼び出すと、「receive2」に関連付けられた操作は何も起こりません。BPEL に関する他の投稿を読みましたが、この質問に一致するものはありません。関係する実際のアクティビティ (私は Assign のものを省略しました) の下に。
<bpel:receive name="receiveInput" partnerLink="client"
portType="tns:HealthMobility"
operation="initiate" variable="input"
createInstance="yes"/>
<bpel:invoke name="getTreatmentOptions"
partnerLink="treatmentProviderPL" operation="getTreatmentOptions"
inputVariable="getTreatmentOptionsReq" outputVariable="getTreatmentOptionsResp">
</bpel:invoke>
<bpel:receive name="bookMobility" partnerLink="client" operation="bookMobility"
variable="bookMobilityReq" portType="tns:HealthMobility"/>
<bpel:invoke name="getTripOptions" partnerLink="mobilityMultiProvidersPL"
operation="getTripOptions" inputVariable="getTripOptionsReq"
outputVariable="getTripOptionsResp"></bpel:invoke>
受信を削除し、getTriOptions 呼び出しで必要な入力変数を静的に初期化するだけで、簡単にデバッグできるようにしました。この場合、すべて正常に動作するため、必然的に、SOAPUI を介して bookMobility を呼び出した場合にも、プロセスは引き続き受信を待機します。私の質問は:なぜですか?何か足りない?
ありがとう