我曾经提到过类似的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>我还试着添加了action标记,我以前看到它解决了这个问题。但这也没用。
我的其他屏幕转换工作正常。还是我做错了什么?
我用的是1.5.1。
更新:我认为问题在于我正在做的事情,而不是上一期第18期。
仔细地跟踪所传递的映射和值,似乎需要理解一些非常复杂的东西--从get#PartyContactInfo到StupidUtilities.flattenNestedMap (从传递的地图和所有嵌套的映射和删除带有空值的条目创建一个单独的映射,并从映射中删除带有空值的条目),直到在我的转换中调用的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']" />..。一路走来,但出于某种原因,它没有从另一边出来。
发布于 2015-04-30 14:33:17
解决方案是在转换之前在容器对话框中调用的/mantle-usl/template/party/PartyForms.xml#ContactInfo小部件组件中添加一个workEffortId字段(隐藏)。
我看到有一次我说:
<parameter name="workEffortId" value="${workEffortId}" />对于转换来说,workEffort确实是空的,因此必须在某个地方被去掉。
将workEffortId添加到ContactInfo表单解决了这个问题。
https://stackoverflow.com/questions/29803334
复制相似问题