手機歸屬地查詢

注意:要先下載ksoap2.jarweb

 

 

關鍵代碼:工具

private String namespace="http://WebXml.com.cn/";
private String methodName="getMobileCodeInfo";
private String url="http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx";url

private String getPhoneNamberAddress(String phoneNamber)
 {
  //SoapObject實例
      SoapObject soap=new SoapObject(namespace, methodName);
      soap.addProperty("mobileCode", phoneNamber);//設置請求參數  ,參數必須和API接口中保持一致
       soap.addProperty("userID", "");//免費客戶spa


   //SoapSerializationEnvelope實例
      SoapSerializationEnvelope envelope =new SoapSerializationEnvelope(SoapEnvelope.VER11);
      envelope.dotNet=true;
      envelope.setOutputSoapObject(soap);//發送請求    等價於envelop.bodyOut=soap;debug


   //AndroidHttpTransport實例
      AndroidHttpTransport ht=new AndroidHttpTransport(url);
      ht.debug =true;xml

獲取結果:
  //SoapPrimitive  result=null;
     SoapObject result =null;
  try
  {
       ht.call(namespace+methodName,envelope);
       result = (SoapObject) envelope.bodyIn;  //方法1
       // 獲取返回的結果 
      //result = ( SoapPrimitive)envelope.getResponse();//方法2
      //result.toString();
  } catch (Exception e)
  {
      e.printStackTrace();
  }
      return result.getProperty("getMobileCodeInfoResult").toString(); 
 }對象

 

 

 

一個工具類:
public class WSUtils {
 /**
  *
  * @description:調用webservice接口
  * @param nameSpace 方法名空間
  * @param methodName 方法名
  * @param params 請求參數
  * @param wsdl url地址
  * @return SoapObject對象
  * @throws Exception
  */
 public static SoapObject callWS(String nameSpace, String methodName, Map params, String wsdl) throws Exception {
  final String SOAP_ACTION = nameSpace + methodName;
  SoapObject soapResult = null;
  
  //SoapObject實例
  SoapObject mSoapObject = new SoapObject(nameSpace, methodName);
  if (params != null && !params.isEmpty()) {
   for (Iterator it = params.entrySet().iterator(); it.hasNext();) {
    // 遍歷MAP
    Map.Entry<String, Object> e = (Map.Entry<String, Object>) it.next();
    mSoapObject.addProperty(e.getKey().toString(), e.getValue());//設置請求參數
   }
  }
  
   //SoapSerializationEnvelope實例
  SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);// SOAP
  envelope.dotNet = true;
  envelope.bodyOut = mSoapObject;//發送請求
  
  //HttpTransportSE實例
  HttpTransportSE ht = new HttpTransportSE(wsdl,10*1000);
  ht.debug =true;
  
  //獲取結果
  ht.call(SOAP_ACTION, envelope);
  soapResult = (SoapObject) envelope.bodyIn; 
  return soapResult;
 }
}接口

相關文章
相關標籤/搜索