Я новичок в написании BPEL. Я понял простой процесс ниже:
Receive1
|
|
invoke1
|
|
receive2
|
|
invoke2
Проблема в том, что процесс корректно работает до «receive2», но когда я вызываю, через soapUI, операция, связанная с «receive2», ничего не происходит. Я читал другие сообщения о BPEL, но ничего не соответствует этому вопросу. Ниже приведены реальные действия (я пропустил Назначить).
<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. В этом случае все работает нормально, поэтому это обязательно означает, что процесс продолжит ожидать получения, даже если я вызову bookMobility через SOAPUI. Мой вопрос: почему? Я что-то упустил?
Спасибо