java - 在 Java 中动态添加命名空间到 SOAP Envelope

标签 java soap

我对这一切都很陌生,但我正在尝试创建 SOAP 消息并陷入困境,我使用 Java 8 和标准 javax.xml.soap 类,但似乎无法将 namespace 添加到信封

MessageFactory factory  = MessageFactory.newInstance();
SOAPMessage message     = factory.createMessage();
SOAPPart part       = message.getSOAPPart();
SOAPEnvelope envelope   = part.getEnvelope();

envelope.addNamespaceDeclaration( "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");

如果我在运行时尝试此操作,则会收到以下错误 NAMESPACE_ERR:尝试以不正确的命名空间方式创建或更改对象。

最佳答案

我现在已经通过将所需的信封定义创建为 XML 字符串,然后使用该字符串设置 SOAPPart 内容来完成此操作

关于java - 在 Java 中动态添加命名空间到 SOAP Envelope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56090943/

相关文章:

Java LWJGL - 怪物不跟着我,在 2 的范围内运行

java - 二维数组分数

java - 运行时动态 Web 服务调用

.net - WS 安全 header 无效 - IRS ACA SOAP 请求

c# - WCF REST 与 WEB API 之间的区别

java - 如何使用 JAX-WS 客户端指定 WS-Addressing 版本?

Java可以子类继承和覆盖嵌套类吗?

java - 在java中应用if/else语句时出错

java - removeview() 不会删除 android

c# - WCF 使用 SOAP 1.2,即使 MessageVersion 是 Soap11WSAddressing10