【发布时间】:2015-10-22 10:03:54
【问题描述】:
亲爱的 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>
提前致谢。 帕特里克
【问题讨论】:
-
Assign xpath 是 $originalHeader//LoggingCategory 你有什么运气吗? XML 的根元素与您的变量名同义……所以 $originalHeader = privateMetaAttributesHeader。 (...这也意味着在您的请求中您已经完成了 ASSIGN $originalHeader=$header/privateMetaAttributesHeader。)
-
另外,您的屏幕截图与您粘贴为 $originalHeader 的内容不匹配
-
@Jonathan,是的,我将 $header 分配到 $originalHeader 中,因为它会在两者之间的某处被覆盖。我能够在适当的元素“privateMetaAttributesHeader”处使用正确/定义的命名空间“v1”来解决它。
标签: variables header variable-assignment assign osb