【发布时间】:2013-02-19 21:22:07
【问题描述】:
如何在 JAX-WS 中更改 SOAP 请求前缀。我在句柄消息中更新了 setprofix 方法
SOAPMessage msgs = ctx.getMessage();
SOAPMessage sm = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL).createMessage();
sm.getSOAPPart().getEnvelope().setPrefix("soap");
sm.getSOAPPart().getEnvelope().removeNamespaceDeclaration("env");
sm.getSOAPHeader().setPrefix("soap");
sm.getSOAPBody().setPrefix("soap");*/
但我仍然收到相同的请求
<?xml version="1.0"?>
<S:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
我需要
<Soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
请帮忙
【问题讨论】:
-
你试过找到命名空间吗???尝试找到一个有点像 setNamespace() 的方法......它可能会有所帮助......还有为什么需要 Soap 而不是 s,它只是一个命名空间......
-
您的代码 sn-p 是正确的。刚刚使用 Metro JAX-WS 发行版 2.2.1-1 进行了测试。您的下划线 JAX-WS 实现可能有问题。您使用哪个 Web 服务库?
-
我使用 wsimport JDK 1.6 提供的 WSDL 生成了代码。构建 27。
-
使用的是2.1.6版本
-
这是用于入站消息还是出站消息?
标签: java web-services jax-ws soap-client