gpt4 book ai didi

javax.xml.soap.SOAPException : Header child element 'username' must be namespace qualified

转载 作者:行者123 更新时间:2023-12-04 17:02:11 25 4
gpt4 key购买 nike

我正在开发 SOAP 网络服务。我在tomcat中运行成功。但是当我将它部署到 weblogic 时,发生了错误。我正在从标题向 Web 服务发送用户名和密码,但出现如下错误:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:vw="http://vw.com/">
<soapenv:Header>
<username>operator</username>
<pass>xxxxxx</pass>
</soapenv:Header>
<soapenv:Body>
<vw:createParams>
<!--Optional:-->
<arg0>app1</arg0>
<!--Optional:-->
<arg1>All</arg1>
</vw:createParams>
</soapenv:Body>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns0:Fault xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://www.w3.org/2003/05/soap-envelope">
<faultcode>ns0:Server</faultcode>
<faultstring>javax.xml.soap.SOAPException: Header child element 'username' must be namespace qualified!</faultstring>
</ns0:Fault>
</S:Body>
</S:Envelope>

任何的想法?

最佳答案

即使我们有同样的问题,我们正在从 Weblogic 10.3.6 迁移到 Weblogic 12.2.1.4,我们基于 SOAP 的 Web 服务开始失败,因为我们有自定义身份验证 header 参数,如下所示:

<soapenv:Header>
<username>admin</username>
<password>welcome</password>
</soapenv:Header>
由于 weblogic 要求子元素具有与以下错误相同的子元素架构,因此上述 header 未通过身份验证。

error message :

Caused by: javax.xml.soap.SOAPException: Header child element 'username' must be namespace qualified!


解决方案 :
新的 Header 子元素具有用于正在工作的子元素的 soapenv。
<soapenv:Header>
<soapenv:username>admin</soapenv:username>
<soapenv:password>welcome</soapenv:password>
</soapenv:Header>
但是上述方法的问题是我们有 20 多个 web 服务客户端,它们都受到影响,因此 weblogic 团队建议在 JAVA_OPTIONS 中进行调整以解决我们的问题。验证错误已暂停,所有现有客户端的旧代码开始按原样工作。
-Dprocesssoapheader=relax.


关于javax.xml.soap.SOAPException : Header child element 'username' must be namespace qualified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46929338/

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