axis2+MyEclipse8.5实现webservice接口例子(没有使用插件)

本文介绍使用Axis2-1.6.2搭建WebService服务端与客户端的具体步骤,包括环境配置、代码实现及测试方法。

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

一.webservice服务端demo

1.下载axis2-1.6.2-war.zip,解压后将axis2.war放入tomcat,启动,访问http://127.0.0.1:8080/axis2,进入欢迎页面,表明axis2可用.


axis2-1.6.2-war.zip下载地址:

http://download.youkuaiyun.com/detail/luoke626/9247515

2.新建一个webproject,取名为MyAxisDemo

3.新建一个类:

package com.sidney.bj;

public class MyWebserviceTest {

	//测试代码
	public String infoMes(String responseStr){
		return "-----webservice------>"+responseStr+"<---";
	}
}

3.将解压后axis2的WEB-INF目录下services,modules,conf文件夹复制到项目WEB-INF下面,并将lib下的jar包拷贝到项目lib中

4.修改web.xml,在xml中加入配置信息:

<servlet>
	<servlet-name>AxisServlet</servlet-name>
	<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>AxisServlet</servlet-name>
	<url-pattern>/services/*</url-pattern>
</servlet-mapping>
5.在services文件下增加TestService\META-INF文件夹,在这个文件夹里增加services.xml添加配置信息:

<?xml version="1.0" encoding="UTF-8"?>
<service name="myFirstWebservice">      
   <description>MyFirst WebService Example</description>        
   <parameter name="ServiceClass">com.sidney.bj.MyWebserviceTest</parameter>  
   <messageReceivers>
		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
			class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
	</messageReceivers>
</service> 
6.将项目添加到tomcat,启动后访问网址http://127.0.0.1:8080/MyAxisDemo/services/myFirstWebservice?wsdl,访问成功,服务端就已经部署好了



二.webservice客户端demo:

1.新建WebServiceClientTest.java

package com.sidney.bj.client;
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;
import org.junit.Test;


public class WebServiceClientTest {

	//webservice接口地址
	public String WEBSERVICE_URL = "http://127.0.0.1:8080/MyAxisDemo/services/myFirstWebservice?wsdl";
	
	//测试方法
	@Test
	public void myClientTest(){
		String callSoapenvWebService = new WebServiceClientTest().callSoapenvWebService("infoMes", "传入的数据");
		System.out.println(callSoapenvWebService);
	}
	/**
	 * 调用webservice的接口
	 * @param methodName
	 * @param requestXml
	 * @return
	 */
	public String callSoapenvWebService(String methodName, String requestXml) {
        try {
            return callSoapenvWebService(WEBSERVICE_URL, new Object[]{requestXml}, methodName);
        } catch (AxisFault axisFault) {
            axisFault.printStackTrace();
            return "";
        }
    }

    public String callSoapenvWebService(String url, Object[] params, String methodName) throws AxisFault {
        RPCServiceClient serviceClient = new RPCServiceClient();
        Options options = serviceClient.getOptions();
        EndpointReference targetEPR = new EndpointReference(url);
        options.setTo(targetEPR);
        //webservice调用webservice---
        options.setAction(methodName);
        //---
        Class[] classes = new Class[]{String.class};
        //QName是webservice的命名空间,可以在wsdl上面看到
        QName opAddEntry = new QName("http://bj.sidney.com", methodName);
        return (String) serviceClient.invokeBlocking(opAddEntry, params, classes)[0];
    }
}

2.启动服务,测试方法,如下图显示则客户端调用成功.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值