使用java调用.net提供的Webserver服务

1.导包

<!-- https://mvnrepository.com/artifact/org.apache.axis/axis -->
<dependency>
    <groupId>org.apache.axis</groupId>
    <artifactId>axis</artifactId>
    <version>1.4</version>
</dependency>

2.代码调用

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
`
// 通过axis方式调用webservice接口
	public static voidTextaxis(String type,String name) {
		
		 	String port=null;
	        String[] parm=null;
	        String url = null;
	        String method=null;
	        Object[] obj=null;
	        String rhip=null;
	        
	        	 url="http://ip:端口/地址.asmx?WSDL";
	             method="方法名称";
	             port="端口";
	             parm=new String[] {"参数1","参数2"};//看需要
	             obj=new Object[] {'参数1的值',"参数2的值" };

            Service sv = new Service();

	        //创建一个call对象
	        Call call=null;
	        try {
	            call = (Call) sv.createCall();
	            call.setUseSOAPAction(true);
	            call.setSOAPActionURI("http://tempuri.org/"+method);
	        } catch (ServiceException e2) {
	            e2.printStackTrace();

	        }

	        //设置要调用的接口地址
	        try {
	            call.setTargetEndpointAddress(new java.net.URL(url));
	        } catch (MalformedURLException e1) {
	            e1.printStackTrace();

	        }
	        //设置要调用的接口方法
	        call.setOperationName(new javax.xml.namespace.QName("http://tempuri.org/",method));
	        //参数
	        for(String s:parm) {
	            call.addParameter( new  javax.xml.namespace.QName("http://tempuri.org/",s),
	                    org.apache.axis.encoding.XMLType.XSD_STRING,
	                    javax.xml.rpc.ParameterMode.IN);
	        }
	        //返回参数类型
	        call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);


	        //开始调用方法并返回相应数据信息,以xml格式的字符串返回,也可以json格式主要看对方用什么方式返回
	        String result=null;
	        try {
	            result = (String)call.invoke(obj);
	        } catch (RemoteException e) {
	            e.printStackTrace();
	        }
//具体业务根据需求,这就是调用.net接口返回给我们的数据
	        System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+result);//打印字符串,返回给我们的结果

		}

``

你可能感兴趣的:(工具学习)