OSB:在错误处理程序中将$ header中的值赋给变量

时间:2015-10-22 10:03:54

标签: variables header variable-assignment assign osb

亲爱的Stackoverflowers,

这是我的第一篇文章,所以我尽力做好一切。

在OSB组件的错误处理程序中,我需要将现有$ originalHeader中的值分配给另一个变量以重用它,而不将该值作为文本输入。

在分配操作中,表达式$originalHeader/privateMetaAttributesHeader/LoggingCategory 对于变量 originalLoggingCategory 确实返回以下内容:

Debugging_VariablesScreen

我不明白为什么LoggingCategory的值没有分配给变量 originalLoggingCategory 。请帮帮我。

$ originalHeader的内容:

<soapenv:Header xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><v1:privateMetaAttributesHeader xmlns:v1="http://www.example.org/scintilla/meta/v1"><SwingMonitoring>...</SwingMonitoring><LoggingCategory>com.schenker.scintilla.AirOcean.WWTAN.LoadPlanInstructionService.v1</LoggingCategory></v1:privateMetaAttributesHeader></soapenv:Header>

提前致谢。 帕特里克

1 个答案:

答案 0 :(得分:0)

OSB正确尊重的<privateMetaAttributesHeader><v1:privateMetaAttributesHeader>之间存在差异。

例如

  • $originalHeader/privateMetaAttributesHeader/LoggingCategory可能为null
  • $originalHeader/v1:privateMetaAttributesHeader/v1:LoggingCategory可能会返回您想要的内容(首先尝试选择标题,然后逐步查看日志记录类别,以防LoggingCategory不在v1名称空间中)

您可以定义命名空间&#39; v1&#39;是在OSB代理阶段,或者如果您不知道,您可以使用$originalHeader/*:privateMetaAttributesHeader/*:LoggingCategory,但不建议这样做。