java 调用 .net webservice 示例

package com.hcg.test;

import java.rmi.RemoteException;

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;

public class WebServiceTest {

	  public String invokeRemoteFuc() {
	        String endpoint = "http://xxx.xxx.xxx;
	        String result = "no result!";
	        Service service = new Service();
	        Call call;
	        Object[] object = new Object[3];
	        object[0] = "11111111111";//Object是用来存储方法的参数
	        object[1] = "123";//Object是用来存储方法的参数
	        object[2] = "123";//Object是用来存储方法的参数
	        try {
	            call = (Call) service.createCall();
	            
	            call.setTargetEndpointAddress(endpoint);// 远程调用路径
//	            call.setOperationName("SendSMS");// 调用的方法名
	            call.setOperationName(new QName("http://tempuri.org/","SendSMS")); 
	            call.setSOAPActionURI("http://tempuri.org/SendSMS");

	            // 设置参数名:
	            call.addParameter(new QName("http://tempuri.org/","tel"), // 参数名
	                    XMLType.XSD_STRING,// 参数类型:String
	                    ParameterMode.IN);// 参数模式:'IN' or 'OUT'
	            call.addParameter(new QName("http://tempuri.org/","type"), // 参数名
	            		XMLType.XSD_STRING,// 参数类型:String
	            		ParameterMode.IN);// 参数模式:'IN' or 'OUT'
	            call.addParameter(new QName("http://tempuri.org/","code"), // 参数名
	            		XMLType.XSD_STRING,// 参数类型:String
	            		ParameterMode.IN);// 参数模式:'IN' or 'OUT'

	            // 设置返回值类型:
	            call.setReturnType(XMLType.XSD_STRING);// 返回值类型:String			

	            result = (String) call.invoke(object);// 远程调用
	        } catch (ServiceException e) {
	            e.printStackTrace();
	        } catch (RemoteException e) {
	            e.printStackTrace();
	        }
	        return result;
	    }

	    public static void main(String[] args) {
	    	WebServiceTest t = new WebServiceTest();
	        String result = t.invokeRemoteFuc();
	        System.out.println(result);
	    }
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值