1
package com.ictehi.ophone.util;
2
3
import java.io.IOException;
4
import java.util.Iterator;
5
import java.util.Map;
6
7
import org.ksoap2.SoapEnvelope;
8
import org.ksoap2.SoapFault;
9
import org.ksoap2.serialization.SoapObject;
10
import org.ksoap2.serialization.SoapSerializationEnvelope;
11
import org.ksoap2.transport.AndroidHttpTransport;
12
import org.ksoap2.transport.HttpTransportSE;
13
import org.xmlpull.v1.XmlPullParserException;
14
15
import android.util.Log;
16
17
public class WSUtils {
18
19
public WSUtils() {
20
}
21
22
/**
23
* @author Eric.Lu
24
* @param endPoint
25
* @param methodName
26
* @param params
27
* @param wsdl
28
* @return SoapObject
29
*/
30
public static SoapObject callWS(String nameSpace, String methodName,
31
Map params, String wsdl) {
32
33
final String SOAP_ACTION=nameSpace+methodName;
34
SoapObject request = new SoapObject(nameSpace, methodName);
35
SoapObject soapResult=null;
36
37
if(params !=null && !params.isEmpty()){
38
for(Iterator it=params.entrySet().iterator();it.hasNext();){//遍歷MAP
39
Map.Entry<String, Object> e=(Map.Entry<String, Object>) it.next();
40
request.addProperty(e.getKey().toString(),e.getValue());
41
}
42
}
43
44
/**
45
* 設置Soap版本
46
* 類型:VER1.0,VER1.1,VER1.2
47
*/
48
// SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER10);//SOAP 1.0
49
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);// SOAP 1.1
50
// SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER12);//SOAP 1.2
51
52
envelope.dotNet=true;//是否是dotNet WebService
53
envelope.bodyOut = request;
54
55
// HttpTransportSE ht = new HttpTransportSE(wsdl);
56
AndroidHttpTransport androidHT=new AndroidHttpTransport(wsdl);
57
try {
58
// ht.call(SOAP_ACTION, envelope);
59
androidHT.call(SOAP_ACTION,envelope);
60
} catch (IOException e) {
61
Log.e("IOException:", e.getMessage());
62
} catch (XmlPullParserException e1) {
63
Log.e("XmlPullParserException", e1.getMessage());
64
}
65
try {
66
soapResult=(SoapObject)envelope.getResponse();
67
} catch (SoapFault e) {
68
Log.e("SoapFault",e.getMessage());
69
}
70
return soapResult;
71
}
72
}
73
74
75
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/kylixlu/archive/2010/03/12/5372846.aspx
調用這個工具類的方法如下:
2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

1
HashMap<String, Object> params = new HashMap<String, Object>();
2
params.put("theCityName", peoples[position]);
3
String wsdl = "webservice的wsdl地址";
4
String nameSpace = "wsdl中的namespace";
5
String methodName = "方法名";//
6
// SoapObject result = WSUtils.callWS(nameSpace, methodName,
7
// wsdl,peoples[position]);
8
SoapObject result = WSUtils.callWS(nameSpace, methodName, params, wsdl);
9
10
11
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/kylixlu/archive/2010/03/12/5372846.aspx

2

3

4

5

6

7

8

9

10

11

MSN:
