您的位置:首页 > 编程语言 > Java开发

Axis2 Eclipse 开发webservice(2)

2013-11-04 15:35 337 查看
创建两个工程,一个WebServer,一个WebClient(只是为了项目的导入导出方便),主要通过Eclipse插件来创建服务和客户端。

创建服务类

在WebServer中新建HelloWord类,当做服务,后面调用这个服务。

package server;

public class HelloWord {

	/**
	 * @param args
	 * @return 
	 */
	public String hello(String name){
		return name+" say HelloWord!!!";
	}
}


在菜单中选择新建,NEW--other--Axis2 Service Archiver



下一步,选择Class File Location ,就是上面创建服务类的bin目录。



下一步,选择WSDL文件,直接Skip。



下一步,选择需要的jar包,这里不需要,直接下一步。



下一步,自动生成xml文件。



下一步,填写服务名称和类名称,服务名称自命名,类名称写全路径。然后load一下,就可以看到方法。



下一步,填写服务文件arr的导出位置,名称自命名。这里直接选择axis2在tomcat中服务的发布位置,我的是

C:\app\apache-tomcat-7.0.47\webapps\axis2\WEB-INF\services。也可以随便找一个目录,导出arr文件之后拷贝到

C:\app\apache-tomcat-7.0.47\webapps\axis2\WEB-INF\services下。



点击Finish,会提示Successfully!

访问http://localhost:8080/axis2/,点击Service,查看服务。



点击HelloWord,查看相关信息。



生成客户端代码。

新建NEW--others



下一步,选择从WSDL生成java代码。



下一步,填写WSDL文件的位置,就是上面查看HelloWord服务的地址。



下一步,默认就可以了。



下一步,选择code的导出位置,导出到项目或者导出到文件夹,这里选择导出到项目。另外选择添加axis2的jar文件,选择axis2的home目录,check一下。



点击Finish,没有错误,会提示Successfully!

刷新Eclipse Package Explorer,在WebClient下多出一个server包,下面包含6个java文件,ExtensionMapper.java Hello.java HelloResponse.java HelloWord.java HelloWordCallbackHandler.java HelloWordStub.java

编写测试类,调用已经发布的服务。

新建类文件,如下

package client;

import java.rmi.RemoteException;

import org.apache.axis2.AxisFault;

import server.*;

public class WebServiceTest {

	/**
	 * @param args
	 * @throws RemoteException 
	 */
	public static void main(String[] args) throws RemoteException {
		// TODO Auto-generated method stub

		HelloWordStub hellowordstub = new HelloWordStub();
		Hello hello = new Hello();
		hello.setName("yang");
		HelloResponse response = hellowordstub.hello(hello);
		
		System.out.println(response.get_return());  
		
	}

}

执行程序,输出:yang say HelloWord!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: