标签:android c class code java http
通过HttpClient请求webService
1 |
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"xmlns:sam="http://user.service.xxx.com"> |
2 |
<soap:Header/> |
3 |
<soap:Body> |
4 |
<sam:getUserInfo> |
5 |
<sam:userName>sunlightcs</sam:userName> |
6 |
</sam:getUserInfo> |
7 |
</soap:Body> |
8 |
</soap:Envelope> |
01 |
import java.io.IOException; |
02 |
import java.io.OutputStream; |
03 |
import java.io.OutputStreamWriter; |
04 |
import java.io.Writer; |
05 |
06 |
import org.apache.http.HttpResponse; |
07 |
import org.apache.http.client.HttpClient; |
08 |
import org.apache.http.client.methods.HttpPost; |
09 |
import org.apache.http.entity.ContentProducer; |
10 |
import org.apache.http.entity.EntityTemplate; |
11 |
import org.apache.http.impl.client.DefaultHttpClient; |
12 |
import org.apache.http.util.EntityUtils; |
13 |
14 |
15 |
public class ClientTest { |
16 |
17 |
public static void main(String[] args) { |
18 |
ClientTest.httpClientPost(); |
19 |
} |
20 |
|
21 |
private static void httpClientPost() { |
22 |
HttpClient client = new DefaultHttpClient(); |
23 |
HttpPost post = newHttpPost("http://localhost:8080/xxx/services/userService"); |
24 |
|
25 |
try { |
26 |
ContentProducer cp = new ContentProducer() { |
27 |
public void writeTo(OutputStream outstream) throwsIOException { |
28 |
Writer writer = new OutputStreamWriter(outstream,"UTF-8"); |
29 |
|
30 |
/** |
31 |
* 获取请求的xml格式数据 |
32 |
*/ |
33 |
String requestXml = getRequestXml(); |
34 |
writer.write(requestXml); |
35 |
writer.flush(); |
36 |
} |
37 |
}; |
38 |
39 |
post.setEntity(new EntityTemplate(cp)); |
40 |
HttpResponse response = client.execute(post); |
41 |
|
42 |
//打印返回的xml数据 |
43 |
System.out.println(EntityUtils.toString(response.getEntity())); |
44 |
} catch (IOException e) { |
45 |
e.printStackTrace(); |
46 |
} |
47 |
} |
48 |
|
49 |
|
50 |
private static String getRequestXml(){ |
51 |
StringBuilder sb = new StringBuilder("<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:sam=\"http://user.service.xxx.com\">"); |
52 |
sb.append("<soap:Header/>"); |
53 |
sb.append("<soap:Body>"); |
54 |
sb.append("<sam:getUserInfo>"); |
55 |
sb.append("<sam:userName>sunlightcs</sam:userName>"); |
56 |
sb.append("</sam:getUserInfo>"); |
57 |
sb.append("</soap:Body>"); |
58 |
sb.append("</soap:Envelope>"); |
59 |
|
60 |
return sb.toString(); |
61 |
} |
62 |
63 |
} |
1 |
<?xml version=‘1.0‘ encoding=‘UTF-8‘?> |
2 |
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> |
3 |
<soapenv:Body> |
4 |
<ns:getUserInfoResponse xmlns:ns="http://user.service.xxx.com"> |
5 |
<ns:return>xxx</ns:return> |
6 |
</ns:getUserInfoResponse> |
7 |
</soapenv:Body> |
8 |
</soapenv:Envelope> |
通过HttpClient请求webService,布布扣,bubuko.com
标签:android c class code java http
原文地址:http://www.cnblogs.com/chenying99/p/3746797.html