我在 Github (issue#18) 上提到了类似的问题,但那里没有对我有用。
我正在尝试使用以下转换/服务:
<transition name="storeContactInfo">
<service-call name="mantle.party.ContactServices.store#PartyContactInfo" in-map="context" out-map="context" />
<default-response url="." />
</transition>
屏幕的 url 参数是 workEffortId,但一旦运行过渡,它就会从 url 中删除。
我也试过了,没用:
<transition name="storeContactInfo">
<path-parameter name="workEffortId"/>
<service-call name="mantle.party.ContactServices.store#PartyContactInfo" in-map="context" out-map="context" />
<default-response url="." >
<parameter name="workEffortId" from="workEffortId" />
</default-response>
</transition>
而且我还尝试添加操作标签,我之前看到它解决了这个问题。但这也没有用。
我的其他屏幕转换工作正常。那里仍然存在问题,还是我做错了什么?
我正在使用 1.5.1。
更新:我认为问题出在我正在做的事情上,而不是上一期#18。
仔细阅读通过的地图和值,似乎有一些非常复杂的理解 - 从 get#PartyContactInfo 演变到 StupidUtilities.flattenNestedMap (创建一个带有来自传入 Map 和所有嵌套 Maps 的字段的单个 Map 并删除条目Map 中的 null 值)一直到我的转换中调用的 store#PartyContactInfo,它利用传递的许多条件来驱动 PartyForms.xml#ContactInfo。
我试图从第一个服务调用中直接传递值:
<set field="partyId" from="facility.ownerPartyId" />
<service-call name="mantle.party.ContactServices.get#PartyContactInfo" out-map="projectSiteContactInfo" in-map="[partyId:partyId, workEffortId:workEffortId, postalContactMechPurposeId:'PostalShippingDest', telecomContactMechPurposeId:'PhoneShippingDest', emailContactMechPurposeId:'EmailShippingDest']" />
...一直到,但由于某种原因,它没有从另一边出来。