java 调用 .net 第二种方式

本文介绍了一种使用Java调用.NET Web Services的方法。通过设置代理并利用Apache Axis库,文章详细展示了如何创建Service对象、定义操作及参数,并最终调用远程服务检查QQ在线状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
	 * java 调用 .net web services 第二种方式
	 */
	public static void main(String[] args) {
		System.getProperties().put("proxySet", "true");
		System.getProperties().put("proxyHost", "192.168.0.26");
		System.getProperties().put("proxyPort", "808");
		System.getProperties().put("socksProxySet", "true");
		System.getProperties().put("socksProxyHost", "192.168.0.26");
		System.getProperties().put("socksProxyPort", "1080");
		try {
			String endpoint = "http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx";
			Service service = new Service();
			Call call = (Call) service.createCall();
			call.setTargetEndpointAddress(new java.net.URL(endpoint));

			//设置执行的方法、参数、返回值
			org.apache.axis.description.OperationDesc oper;
			org.apache.axis.description.ParameterDesc param;
			oper = new org.apache.axis.description.OperationDesc();
			oper.setName("qqCheckOnline");
			param = new org.apache.axis.description.ParameterDesc(
					new javax.xml.namespace.QName("http://WebXml.com.cn/", "qqCode"),
					org.apache.axis.description.ParameterDesc.IN,
					new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema",
							"string"), java.lang.String.class, false, false);
			param.setOmittable(true);
			oper.addParameter(param);
			oper.setReturnType(new javax.xml.namespace.QName(
					"http://www.w3.org/2001/XMLSchema", "string"));
			oper.setReturnClass(java.lang.String.class);
			oper.setReturnQName(new javax.xml.namespace.QName(
					"http://WebXml.com.cn/", "qqCheckOnlineResult"));
			oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
			oper.setUse(org.apache.axis.constants.Use.LITERAL);

			call.setOperation(oper);

			/**
			call.setOperationName("qqCheckOnline");
			
			call.addParameter(new javax.xml.namespace.QName("http://WebXml.com.cn/", "qqCode")
			, org.apache.axis.encoding.XMLType.XSD_STRING
			, String.class, javax.xml.rpc.ParameterMode.IN);
			
			call.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
			call.setReturnClass(String.class);
			call.setReturnQName(new javax.xml.namespace.QName("http://WebXml.com.cn/", "qqCheckOnlineResult"));
			 **/

			call.setUseSOAPAction(true);
			call.setSOAPActionURI("http://WebXml.com.cn/qqCheckOnline");

			call.setOperationName(new javax.xml.namespace.QName(
					"http://WebXml.com.cn/", "qqCheckOnline"));

			String k = (String) call.invoke(new Object[] { "285336157" });
			System.out.println("result is " + k.toString() + ".");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值