posts - 66,comments - 41,trackbacks - 0
          近日在項(xiàng)目中寫了個(gè)OPhone 調(diào)用Webservice的工具類,主要是使用了KSoap2來實(shí)現(xiàn)的,代碼如下:

           1package com.ictehi.ophone.util;   
           2  
           3import java.io.IOException;   
           4import java.util.Iterator;   
           5import java.util.Map;   
           6  
           7import org.ksoap2.SoapEnvelope;   
           8import org.ksoap2.SoapFault;   
           9import org.ksoap2.serialization.SoapObject;   
          10import org.ksoap2.serialization.SoapSerializationEnvelope;   
          11import org.ksoap2.transport.AndroidHttpTransport;   
          12import org.ksoap2.transport.HttpTransportSE;   
          13import org.xmlpull.v1.XmlPullParserException;   
          14  
          15import android.util.Log;   
          16  
          17public 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             * 設(shè)置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博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/kylixlu/archive/2010/03/12/5372846.aspx
          調(diào)用這個(gè)工具類的方法如下:
           1HashMap<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博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/kylixlu/archive/2010/03/12/5372846.aspx


          MSN:
          posted on 2010-03-24 09:23 kylixlu 閱讀(813) 評(píng)論(0)  編輯  收藏 所屬分類: Android
          主站蜘蛛池模板: 漳浦县| 南郑县| 沾化县| 宽城| 浏阳市| 武威市| 岳阳市| 棋牌| 化州市| 阜康市| 韶山市| 改则县| 皮山县| 奉化市| 苍山县| 琼结县| 印江| 巴林右旗| 淮安市| 花垣县| 望谟县| 九龙县| 新丰县| 庐江县| 炎陵县| 西乌珠穆沁旗| 敦煌市| 都江堰市| 邵东县| 吉林市| 桃园县| 裕民县| 南平市| 哈巴河县| 南丹县| 晋江市| 瓮安县| 乌拉特后旗| 那曲县| 木兰县| 秭归县|