xmlns:gen=-6ren">
gpt4 book ai didi

java 。对 Web 服务的 Soap 请求

转载 作者:行者123 更新时间:2023-12-01 13:28:33 27 4
gpt4 key购买 nike

我需要通过 Java 将此请求发送到 Web 服务:

> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:gen="http://www.bossmedia.com/wsdl/genericportaladapter">
> <soapenv:Header/> <soapenv:Body>
> <gen:GetPlayerDetails>
> <request>
> <systemUID>?</systemUID>
> <sessionID>?</sessionID>
> </request>
> </gen:GetPlayerDetails>
</soapenv:Body> </soapenv:Envelope>

最好的方法是什么,并将响应保存为我的计算机上的 XML 文件。

最好的方法是什么?如果您发布一些有帮助的链接,我会很高兴。我知道这是一个很受欢迎的问题,但我发现的所有内容都不适合我。

最佳答案

JDK 文档合理地告诉您如何执行此操作,但它确实涉及跳过一些步骤,因此这里有一些示例代码可以帮助您入门。

如果您要经常这样做,您可能希望将其包装在一些实用程序类中以大大简化此操作。

注意:我不确定这段代码是否完美,但它为您提供了谷歌搜索的所有正确信息。

祝你好运!

MessageFactory messageFactory = MessageFactory.newInstance();
TransformerFactory transformerFactory = TransformerFactory.newInstance();
SOAPConnectionFactory sfc = SOAPConnectionFactory.newInstance();

Document document = null; // load your document from somewhere

// make your request message
SOAPMessage requestMessage = messageFactory.createMessage();

/// copy your message into the soap message
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
DOMResult result = new DOMResult(requestMessage.getSOAPBody());
transformer.transform(source, result);

requestMessage.saveChanges();


// make the SOAP call
URL endpoint = new URL("http://example.com/endpoint");
SOAPConnection connection = sfc.createConnection();
SOAPMessage responseMessage = connection.call(requestMessage, endpoint);

// do something with the response message
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
responseMessage.writeTo(outputStream);
System.out.println(new String(outputStream.toByteArray()));

关于 java 。对 Web 服务的 Soap 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21683284/

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