axis2系列之HelloWorld

基于上一篇axis2系列之eclipse开发环境搭建,我们开始创建、发布、访问自己的webservice。

创建Axis2 WebService的Hello World程序,大概有以下几步:

  1. 创建web service:HelloWorldWS
  2. 创建、配置services.xml文件
  3. 部署service,进行访问测试
  4. 创建客户端,进行调用

一、创建web service:HelloWorldWS

package com.test;

public class HelloWorldWS {

	public String helloAxis2(){
		return "你好:Axis2";
	}
	
	public String helloWorld(String name){
		return "你好:"+name;
	}
}

二、创建、配置services.xml文件

在WebContent(或WebRoot)/WEB-INF/services/下创建任一文件夹(必须创建,否则无法访问,在我的项目中创建为service文件夹),在service文件夹中创建META-INF文件夹,在META-INF文件夹中创建services.xml文件,文件配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
<service name="helloWorldWS">
<description>
HelloWorldWebService
</description>
<parameter name="ServiceClass">com.test.HelloWorldWS</parameter>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</messageReceivers>
</service>
</serviceGroup>

三、部署service,访问如下地址:

http://localhost:8080/mywebservice/services/listServices
如果显示如下,则表示部署成功。

四、创建客户端,调用服务器

package com.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 HelloWorldWSClient {

	public static void main(String[] args) {
		try {
			EndpointReference targetEPR = new EndpointReference(
					"http://localhost:8080/mywebservice/services/helloWorldWS");
			RPCServiceClient serviceClient = new RPCServiceClient();
			Options options = serviceClient.getOptions();
			options.setTo(targetEPR);

			QName opGetWeather = new QName("http://test.com",
					"helloAxis2");
			Object[] opGetWeatherArgs = new Object[] {};
			Class[] returnTypes = new Class[] { String.class };
			Object[] response = serviceClient.invokeBlocking(opGetWeather,
					opGetWeatherArgs, returnTypes);

			String result = (String) response[0];
			if (result == null) {
				System.out.println("Weather didn't initialize!");
			} else {
				System.out.println(result);
			}
		} catch (AxisFault e) {
			e.printStackTrace();
		}
	}
}
运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值