亲爱的Stackoverflowers,
这是我的第一篇文章,所以我尽力做好一切。
在OSB组件的错误处理程序中,我需要将现有$ originalHeader中的值分配给另一个变量以重用它,而不将该值作为文本输入。
在分配操作中,表达式$originalHeader/privateMetaAttributesHeader/LoggingCategory
对于变量 originalLoggingCategory 确实返回以下内容:
我不明白为什么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>
提前致谢。 帕特里克
答案 0 :(得分:0)
OSB正确尊重的<privateMetaAttributesHeader>
和<v1:privateMetaAttributesHeader>
之间存在差异。
$originalHeader/privateMetaAttributesHeader/LoggingCategory
可能为null $originalHeader/v1:privateMetaAttributesHeader/v1:LoggingCategory
可能会返回您想要的内容(首先尝试选择标题,然后逐步查看日志记录类别,以防LoggingCategory不在v1名称空间中)您可以定义命名空间&#39; v1&#39;是在OSB代理阶段,或者如果您不知道,您可以使用$originalHeader/*:privateMetaAttributesHeader/*:LoggingCategory
,但不建议这样做。