我不熟悉所有这些,但是我试图创建SOAP消息并陷入困境,我使用的是Java 8和标准的javax.xml.soap类,但似乎无法将名称空间添加到信封中

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内容,来完成此操作

09-10 15:28