gpt4 book ai didi

java - 从请求中获取命名空间前缀并在 Spring Java 中查找带有它的元素

转载 作者:太空宇宙 更新时间:2023-11-04 07:42:57 25 4
gpt4 key购买 nike

我想去掉静态“ims:”,并使用 SOAP 请求中的前缀和命名空间 xmlns:ims="http://www.imsglobal.org/services/lis/bdems1p0/wsdl11/sync/imsbdems_v1p0。如何在 Spring 拦截器中执行此操作?

protected String findProperty(SOAPHeader soapHeader, String propertyName) {

NodeList list = soapHeader.getElementsByTagName("ims:" + propertyName);

我想要的属性是

<ims:imsx_syncRequestHeaderInfo>
<ims:imsx_version>V1.0</ims:imsx_version>
<ims:imsx_messageIdentifier>?</ims:imsx_messageIdentifier>
</ims:imsx_syncRequestHeaderInfo>

最佳答案

使用以下内容修复了该问题。

NodeList nodeList = soapHeader.getElementsByTagName("*");

for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE
&& node.getLocalName().equalsIgnoreCase(propertyName)) {
if (node.getTextContent().isEmpty()) {
return null;
} else {
return node.getTextContent();
}
}
}

关于java - 从请求中获取命名空间前缀并在 Spring Java 中查找带有它的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15769081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com