gpt4 book ai didi

java - SoapFault 子节点中的 xmlns =""(空)命名空间

转载 作者:太空宇宙 更新时间:2023-11-04 15:00:51 27 4
gpt4 key购买 nike

我们的java应用程序使用glassfish 2.1作为服务器,我将ear文件部署到glassfish上并使用soapUI发送请求,并期望在响应中返回soapFault。但我得到了“HTTP Status 500”,查看服务器日志后发现以下内容:

原因:com.sun.xml.stream.XMLStreamException2:xmlns 已绑定(bind)到 .将其重新绑定(bind)到 mysite.com 是一个错误

检查调试日志,发现message标签中有一个奇怪的空命名空间,它是myException的子节点。任何关于这是如何发生的想法。

<ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
<faultcode>ERROR</faultcode>
<faultstring>Validation Errors</faultstring>
<detail>
<myException:myException xmlns:myException="mySite.com" xmlns="mySite.com" xmlns:ns2="wsdl.com">
<message xmlns="" xmlns:ns7="mySite.com" type="ERROR">
<ns7:code>code_123</ns7:code>
<ns7:description>Fault Description</ns7:description>
</message>
.............

最佳答案

我通过修改 xsd 文件的 attributeFormDefault = "qualified"解决了这个问题。这将为每个属性分配 targetNamespace。在这种情况下,glassfish 不会因为放置空命名空间而感到困惑。

不确定这个解决方案是否可以帮助其他人,但这解决了我的问题。

关于java - SoapFault 子节点中的 xmlns =""(空)命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22589055/

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