贴个c# wcf调用的代码

/**
 * SOAP 调用封装类
 * 
 * @author 2013-3-22 QQ 7617812
 */
public class HomeLinkManager {

	private static final String ImgUploadUrl = ConstantInfo.websit
			+ "/UploadUserAvatar.ashx";
	// 命名空间
	private static final String NameSpace = "http://tempuri.org/";
	/**
	 * private static final String URL = "http://你的服务器/虚拟目录/你的服务.svc"; private
	 * static final String SOAP_ACTION = "http://www.master.haku/你的服务/SayHello";
	 */
	private static final String URL = ConstantInfo.websit + "/Service.svc";
	private static HomeLinkManager HomeLinkManager;

	public static HomeLinkManager getInstance() {
		if (HomeLinkManager == null) {
			HomeLinkManager = new HomeLinkManager();
		}
		return HomeLinkManager;
	}

	private HomeLinkManager() {

	}

	/**
	 * 
	 * @param param
	 *            给定的第一个例如accountOrEmail
	 * @param list
	 *            hashmap组成的list结合
	 * @param methodname
	 *            回调的方法名
	 * @return SoapObject对象
	 */
	public SoapObject LoadResult(String param,
			ArrayList<HashMap<String, Object>> list, String methodname) {
		// SOAP_ACTION = "http://tempuri.org/IAppContract/+方法名
		String SOAP_ACTION = "http://tempuri.org/IAppContract/" + methodname;
		SoapObject soapObject = new SoapObject(NameSpace, methodname);

		// 添加对象
		for (Iterator iterator = list.iterator(); iterator.hasNext();) {
			HashMap<String, Object> hashMap = (HashMap<String, Object>) iterator
					.next();
			for (Iterator iterator2 = hashMap.entrySet().iterator(); iterator2
					.hasNext();) {
				Entry<String, Object> entry = (Entry<String, Object>) iterator2
						.next();
				String keyString = entry.getKey();
				Object valueString = entry.getValue();
				soapObject.addProperty(keyString, valueString);
				// LogUtils.log("test",keyString+"    "+valueString.toString());
			}
		}
		SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
				SoapEnvelope.VER11); // 版本
		envelope.bodyOut = soapObject;
		envelope.dotNet = true;
		envelope.setOutputSoapObject(soapObject);
		envelope.encodingStyle = "UTF-8";
		SoapObject result = null;
		try {
			HttpTransportSE trans = new HttpTransportSE(URL, 5000);// 设置超时时间5秒
			trans.debug = true; // 使用调试功能
			trans.call(SOAP_ACTION, envelope);
			LogUtils.log("test", "Call Successful!");
			result = (SoapObject) envelope.getResponse();
		} catch (IOException e) {
			LogUtils.log("test", "IOException");
			e.printStackTrace();
		} catch (XmlPullParserException e) {
			LogUtils.log("test", "XmlPullParserException");
			e.printStackTrace();
		}
		return result;
	}

	public SoapPrimitive LoadReason(String param,
			ArrayList<HashMap<String, Object>> list, String methodname) {
		// SOAP_ACTION = "http://tempuri.org/IAppContract/+方法名
		String SOAP_ACTION = "http://tempuri.org/IAppContract/" + methodname;
		SoapObject soapObject = new SoapObject(NameSpace, methodname);

		// 添加对象
		for (Iterator iterator = list.iterator(); iterator.hasNext();) {
			HashMap<String, Object> hashMap = (HashMap<String, Object>) iterator
					.next();
			for (Iterator iterator2 = hashMap.entrySet().iterator(); iterator2
					.hasNext();) {
				Entry<String, Object> entry = (Entry<String, Object>) iterator2
						.next();
				String keyString = entry.getKey();
				Object valueString = entry.getValue();
				soapObject.addProperty(keyString, valueString);
				// LogUtils.log("test",keyString+"    "+valueString.toString());
			}
		}
		SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
				SoapEnvelope.VER11); // 版本
		envelope.bodyOut = soapObject;
		envelope.dotNet = true;
		envelope.setOutputSoapObject(soapObject);
		envelope.encodingStyle = "UTF-8";
		SoapPrimitive result = null;
		try {
			HttpTransportSE trans = new HttpTransportSE(URL, 5000);// 设置超时时间5秒
			trans.debug = true; // 使用调试功能
			trans.call(SOAP_ACTION, envelope);
			LogUtils.log("test", "Call Successful!");
			result = (SoapPrimitive) envelope.getResponse();
		} catch (IOException e) {
			LogUtils.log("test", "IOException");
			e.printStackTrace();
		} catch (XmlPullParserException e) {
			LogUtils.log("test", "XmlPullParserException");
			e.printStackTrace();
		}
		return result;
	}

}
 
调用如下

  SoapObject soapObject = HomeLinkManager.getInstance().LoadResult(param,
    list, "GetUserInfo");// param 用户名 //
可以把list去掉直接hashmap添加键值对
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值