Spring integration Spring集成—XpathPayloadEndpointMapping—无法理解,也没有此类文档 本地名称(/*) mySampleServiceGateway
。 .Spring integration Spring集成—XpathPayloadEndpointMapping—无法理解,也没有此类文档 本地名称(/*) mySampleServiceGateway,spring-integration,spring-ws,Spring Integration,Spring Ws,。 . 。 我从你的一个集成项目中得到了上面的代码。但我无法理解标签可能包含哪些值以及本地名称(/*)的含义 虽然通过查看代码,我可以发现关键是XSD元素名,但我从中无法获得更多信息 是否有与spring集成的不同映射相关的文档,以及如何使用它们?您的配置看起来不错,不过您确实需要弄清楚应该使用什么XPath表达式。它针对SOAP请求消息体应用: <xs:element name="sampleKey"> <xs:complexType>
。
我从你的一个集成项目中得到了上面的代码。但我无法理解标签可能包含哪些值以及本地名称(/*)
的含义
虽然通过查看代码,我可以发现关键是XSD元素名,但我从中无法获得更多信息
是否有与spring集成的不同映射相关的文档,以及如何使用它们?您的配置看起来不错,不过您确实需要弄清楚应该使用什么XPath表达式。它针对SOAP请求消息体应用:
<xs:element name="sampleKey">
<xs:complexType>
<xs:complexContent>
<>所以,可能会考虑断言你的身体的根元素。
根据提供的配置,您尝试解析为请求根元素的本地名称。听起来您现在希望将sampleKey
作为根标记名
有关更多信息,请参阅
XPathPayloadEndpointMapping的JavaDocs。感谢Bilan对此进行了介绍
在做了更多的研究之后,我意识到答案是“表达式可以使用哪些可能的值?”并在spring文档中搜索uff!我错了
XPath不是spring元素,它是一个完全独立的元素,spring只是利用了它。因此,要了解元素可以保存哪些可能的值,任何人都可以参考W3C的以下链接
所以。在我的例子中,当前值local name(/*)
,它只是一个预定义的XPath方法
<xs:element name="sampleKey">
<xs:complexType>
<xs:complexContent>
protected String getLookupKeyForMessage(MessageContext messageContext) throws Exception {
Element payloadElement = getMessagePayloadElement(messageContext.getRequest());
return expression.evaluateAsString(payloadElement);
}