zoukankan      html  css  js  c++  java
  • android ksoap2调用.net Webservice 方法总结

    android  ksoap2调用.net Webservice 方法直接放到一个类里:

    package com.util;
    
    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.HttpTransportSE;
    
    
    
    public class AsmxUtil 
    {
    	private String SOAP_ACTION = "";
    	private String NAMESPACE = "http://tempuri.org/";
    	private String METHOD_NAME = "";
    	private String ServiceURL = "";
    	SoapObject request =null;
    	
    	public AsmxUtil(String serviceurl, String methodName)
    	{
    		
    		// 建立webservice连接对象  
    		ServiceURL = serviceurl;
    		METHOD_NAME = methodName;
    		SOAP_ACTION = NAMESPACE + METHOD_NAME;
    		request = new SoapObject(NAMESPACE, METHOD_NAME); 
    	}
    	
    	public void AddProperty(String name, Object v)
    	{
    		//参数值
    		request.addProperty(name, v);
    	  
    	}
    	
    	public String Call() throws Exception
    	{
    		
    		SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    		// soap协议版本必须用SoapEnvelope.VER11(Soap V1.1) 
        	envelope.bodyOut = request;
        	envelope.dotNet=true;
        	//对dotnet webservice协议的支持,如果dotnet的webservice 
        	//不指定rpc方式则用true否则要用false 
        	
        	HttpTransportSE ht = new HttpTransportSE(ServiceURL);
        	ht.debug = true;
        	try {
        		ht.call(SOAP_ACTION, envelope);
        		if (envelope.getResponse() != null) 
        		{
        			String msg = envelope.getResponse().toString();
        			return msg;
        		} 
        		else 
        		{
        			return "error";
        		}
        	}
    		catch (Exception e) {
        		throw new Exception(e.getMessage());
        
    		}
    	}
    }

    调用方法:

    AsmxUtil au = new AsmxUtil("http://192.168.111.153/WebService2/Service1.asmx", "HelloWorld");
         au.AddProperty("username","admin");
    au.AddProperty("password","123");
            String xst = null;
    try {
    xst = au.Call();

    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    //text1.setText(e.getMessage());
    }
     
    Toast.makeText(this, xst, Toast.LENGTH_LONG).show();

    
    


  • 相关阅读:
    用来验证字符串的规则引擎
    C++基本错误:
    web service传递stream二进制对象的解决方法
    安装EnterpriseLibrary4.1后遇到PresentationBuildTasks找不到的问题
    关于NHibernate示例程序QuickStart无法运行的问题
    关于iframe.document
    .NET下转换日期格式为中文大写
    History(历史)命令用法 15 例
    防火墙技术发展趋势浅析
    MIME类型大全
  • 原文地址:https://www.cnblogs.com/riskyer/p/3292168.html
Copyright © 2011-2022 走看看