我有一个新项目要制作,但是由于我是SOAP新手,所以需要一些帮助来开始。我需要通过SOAP请求发送一些数据,这些数据会下载到文件中,并从服务器获得响应。我不知道该怎么处理文件->以及如何通过soap发送带有该数据的请求?
此外,数据必须以XML格式通过SOAP发送-我有一个指南,但是由于我从未使用过SOAP,因此我需要其他帮助。
我以为我使用JAXB Marshaller将数据封送为XML格式,但是我不知道如何将其进一步发送到服务器?
所有帮助将不胜感激-如果您有一些更好的例子。
答案 0 :(得分:1)
您可以使用:
命令:wsimport
命令用于解析CompA WSDL文件。
例如:-wsimport -keep -verbose http://compA.com/ws/server?wsdl
使用此功能,您可以与服务进行通信。
答案 1 :(得分:1)
您需要以SOAP格式来编写请求,该格式通常看起来像这样:
POST http://some.url:1337/someService_WS
Accept-Encoding: stuff
Content-Type: text/xml;charset=UTF-8
SOAPAction: "some:urn:here:1/someService/someOperation"
Content-Length: 300 (whatever content lenght you have withing the envelope)
Host: someservername.com:1337
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.5.1 (Java/2.0) (use your own stuff ;))
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="some:urn:here:1">
<soapenv:Header/>
<soapenv:Body>
<SomeOperation xmlns="some:urn:here:1">
<someElement>someValue123</someElement>
</SomeOperation>
</soapenv:Body>
</soapenv:Envelope>
所有SOAP确实是用于发送和接收SOAP信息的这种格式,它是一种标准/协议。在用SOAP编写消息之后,您需要将消息放在要由服务接收的队列上,或者将其发送到Web服务的url以便对其进行处理。您可以使用各种工具来简化此过程。我亲自使用SOAPUI / ReadyAPI,它具有免费版本和一些不错的入门指南。
https://www.soapui.org/downloads/soapui.html
希望对您有所帮助! 干杯,