`

webservice 客户端调用--axis

 
阅读更多

 

package com.morning.webservice.client.test;

 

import javax.xml.namespace.QName;

 

import org.apache.axis2.AxisFault;

import org.apache.axis2.addressing.EndpointReference;

import org.apache.axis2.client.Options;

import org.apache.axis2.rpc.client.RPCServiceClient;

 

public class AxisServiceTest {

 

public static void main(String[] args) throws AxisFault {

testSayHello();

 

}

 

private static void testSayHello() throws AxisFault {

//输入参数

Object[] opSayHelloArgs = new Object[]{"Mr Chen"};

//输出结果是String类型

Class[] returnTypes = new Class[]{String.class};

RPCServiceClient serviceClient = new RPCServiceClient();

//EndpointReference 和 QName 我们都可以从 WSDL 中得到

String address = "http://127.0.0.1:8080/axis2/services/AxisService";

EndpointReference targetEPR = new EndpointReference(address);

Options options = serviceClient.getOptions();

options.setTo(targetEPR);

//调用webService服务,传递操作名称QName,操作所需参数,返回类型,获得返回结果

//这个调用封装了发起soap请求访问webserive与解析soap响应结果的解析

QName opSayHello = new QName("http://service.axis.morning.com","sayHello");

Object[] response = serviceClient.invokeBlocking(opSayHello, opSayHelloArgs, returnTypes);

String result = (String) response[0];

System.out.println(result);

}

 

}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics