gpt4 book ai didi

java - SOAP getBody 方法与 writeTo

转载 作者:搜寻专家 更新时间:2023-11-01 03:54:23 28 4
gpt4 key购买 nike

我正在尝试创建一个 soapMessage 以便稍后传递到以下代码片段中:

SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
SOAPConnection connection = soapConnectionFactory.createConnection();
SOAPMessage response = connection.call(message, url);

但是,我收到一个空(null)响应:[SOAP-ENV:Body: null]。

当我执行以下命令时(在连接调用之前):

System.out.println(message.getSOAPBody());
message.writeTo(System.out);

当它们应该相同时我得到了两个不同的响应,对吗?

第一个系统打印 ln 给我 [SOAP-ENV:Body: null],而另一个实际上给了我我创建的 soap 消息 (writeTo)。

有什么想法吗?

完整代码:

MessageFactory factory = MessageFactory.newInstance();
SOAPMessage message = factory.createMessage();
SOAPEnvelope envelope = message.getSOAPPart().getEnvelope();
SOAPElement tvl = envelope.addAttribute(new QName("xmlns:tvl"), "http://some.url.com/");
SOAPBody body = message.getSOAPBody();
QName bodyText = new QName("tvl:searchAirings");
SOAPBodyElement bodyElement = body.addBodyElement(bodyText);
QName fromTag = new QName("from");
SOAPElement from = bodyElement.addChildElement(fromTag);
from.setValue("2012-11-02T14:00:00-4:00");

QName toTag = new QName("to");
SOAPElement to = bodyElement.addChildElement(toTag);
to.setValue("2012-11-02T18:00:00-4:00");

QName networkTag = new QName("network");
SOAPElement network = bodyElement.addChildElement(networkTag);
network.setAttribute("id", "n501");
network.setAttribute("language", "es");

System.out.println(message.getSOAPBody());
message.writeTo(System.out);

最佳答案

System.out.println(message.getSOAPBody()); => 这应该只打印 SOAP 信封的主体。

message.writeTo(System.out); => 这应该打印完整的 SOAP 消息,即信封、标题和正文。

关于java - SOAP getBody 方法与 writeTo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13239037/

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