eclipse的webservice调用实例

本文档介绍了如何在Eclipse环境中利用Axis2开发Web Service。首先,详细阐述了开发前的配置步骤,包括在Eclipse的偏好设置中配置Axis2运行时位置。接着,通过新建Java Project,创建接口和实现类来实现Web Service。最后,指导如何在Eclipse内生成并测试Web Service客户端。

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

2.2.开发前准备:

  1. 安装Eclipse-jee;
  2. 下载最新版本的Axis2,网址http://axis.apache.org/axis2/java/core/download.cgi ,选择Standard Binary Distribution的zip包,解压缩得到的目录名axis2-1.4.1,目录内的文件结构如下:


2.3.开发前配置:

在Eclipse的菜单栏中,Window --> Preferences --> Web Service --> Axis2 Perferences,在Axis2 runtime location中选择Axis2解压缩包的位置,设置好后,点"OK"即行。(如图

2.4.开发Web Service:

(1)新建一个Java Project,命名为"WebService"
(2)新建一个接口包com.yangjf.service,命名为"MessageService"

(3)新建一个实现类包com.yangjf.serviceImpl,命名为"MessageServiceImpl",代码如下:

package com.yangjf.serviceImpl;

import com.yangjf.service.MessageService;

public class MessageServiceImpl implements MessageService {

	@Override
	public void sendSms(String tel, String content) {
		System.out.println("调用WebService发送成功!号码是:"+tel+", 内容是:"+content+"。");

	}

}
(3)在"WebService"项目上new --> other,找到"Web Services"下面的"Web Service";

(4)下一步(next),在出现的Web Services对象框,在Service implementation中点击"Browse",进入Browse Classes对象框,查找到我们刚才写的写的MessageServiceImpl类。。点击"ok",则回到Web Service话框。

(5)在Web Service对话框中,将Web Service type中的滑块,调到"start service“的位置,将Client type中的滑块调到"Test client"的位置(若不需要自动创建测试客户端就不调)。

(6)一直点next就可以了。

(7)可以在测试客户端获取到wsdlUrl。

2.5 写测试客户端

(1)导入需要用到的jar包


(2)测试类代码如下:

package com.yangjf.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 sendSms {
	public static int TIMEOUT = 100000;
	public static void send(){
		String wsdlUrl = "http://localhost:8080/WebService/services/MessageServiceImpl"; 
		String tel = "15626961234";
		String content = "我是短信测试内容!";
		Object[] rx;
		try {
			rx = invokeWebService(wsdlUrl, 
					"http://service.yangjf.com",
					"sendSms", new Object[]{tel,content}, new Class[]{});
					//System.out.println("返回结果:"+rx[0].toString());
		} catch (AxisFault e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	public static Object[] invokeWebService( String url, String nameSpace, 
			String method, Object[] args, Class[] returnTypes ) throws AxisFault
	 {
	  RPCServiceClient serviceClient = new RPCServiceClient();
	  Options options = serviceClient.getOptions();
	  EndpointReference targetEPR = new EndpointReference( url );
	  options.setTo( targetEPR );
	  options.setTimeOutInMilliSeconds( TIMEOUT );
	  QName opName = new QName( nameSpace, method );
	  Object[] results = serviceClient.invokeBlocking( opName, args, returnTypes );
	  return results;
	 }
	
	public static void main(String[] args) {
		sendSms.send();
	}
}

结果如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值