我在服务器上部署了一个HelloWorld Web服务。现在我试图与服务器交谈。如何在Java应用程序中执行SOAP请求?
这是XML信封(请求):
POST /AndroidSampleApp/Test.asmx HTTP/1.1
Host: (host)
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/HelloWorld"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<HelloWorld xmlns="http://tempuri.org/">
<username>string</username>
<password>string</password>
</HelloWorld>
</soap:Body>
</soap:Envelope>
这是XML信封(请求):
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<HelloWorldResponse xmlns="http://tempuri.org/">
<HelloWorldResult>string</HelloWorldResult>
</HelloWorldResponse>
</soap:Body>
</soap:Envelope>
如何从java程序调用此Web服务以及我需要导入哪些包。谢谢!
注意:这适用于Android应用程序
答案 0 :(得分:0)
如果你想用Java调用它,那么一种方法是让soapUI为你生成一个客户端jar。
http://2mohitarora.blogspot.com/2010/11/how-to-generate-web-service-client-jar.html
如果您使用的是Apache cxf,您可以查看本文如何生成客户端:
答案 1 :(得分:0)
您可以使用ksoap2库轻松进行soap webservie调用。
Ksoap相对易于使用,但我在使用它的某些网络上遇到了一些性能问题。
相反,我一直在使用HttpUrlConnection(或AndroidHttpClient,具体取决于操作系统版本)。有关详细信息,请参阅此post。我将它们与Android上提供的任何XML解析器和构建器结合使用。
希望这有帮助!