axis开发JAX-RPC webservice

本文将介绍用axis开发webservice服务.

1.下载axis1.4

 

2.创建一个简单的web工程,将axis的相关jar放到工程的WEB-INF\lib目录下

 

3.创建一个用于暴露webservice的javabean

package report.test.webservice;


public class HelloWorld {


	public String sayHello(String name) {
		return "Hello " + name+"!This is a webservice test!";
	}

}

 

4.修改web.xml文件,加入以下内容:

	<servlet>
		<servlet-name>AxisServlet</servlet-name>
		<servlet-class>
			org.apache.axis.transport.http.AxisServlet
		</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>

 

5.创建基于HelloWorld webservice的server-config.wsdd配置文件,并放到WEB-INF目录下面

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
	xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
	<handler type="java:org.apache.axis.handlers.http.URLMapper"
		name="URLMapper" />
	<service name="sayHelloService" provider="java:RPC">
		<parameter name="className" value="report.test.webservice.HelloWorld" />
		<parameter name="allowedMethods" value="*" />
	</service>
	<transport name="http">
		<requestFlow>
			<handler type="URLMapper" />
		</requestFlow>
	</transport>
</deployment>

 

6.发布web工程到服务器,可以用tomcat,weblogic等任意web服务器

本人采用weblogic.启动weblogic,发布成功后.

在浏览器键入:http://localhost:7002/CTestWeb/services/sayHelloService

可查看发布成功的情况!

键入:http://localhost:7002/CTestWeb/services/sayHelloService?wsdl

可查看生成的wsdl的详细情况.

 

7.client端调用.

	public static void main(String args[]) {
		String endpoint = "http://localhost:7002/CTestWeb/services/sayHelloService";// 指明服务所在位置

		Service service = new Service(); // 创建一个Service实例,注意是必须的!
		try {
			Call call = (Call) service.createCall();// 创建Call实例,也是必须的!
			call.setTargetEndpointAddress(new java.net.URL(endpoint));// 为Call设置服务的位置
			call.setOperationName("sayHello");// 注意方法名一样!!
			String res = (String) call.invoke(new Object[] { "xiao pin" });
			System.out.println(res);

		} catch (Exception e) {
			e.printStackTrace();
		}

	}

 

本文最后附上axis的高级特性攻略:如Handler,Chain,传递自定义javabean对象,传递文件,自定义异常等

 

你可能感兴趣的:(apache,Web,webservice,servlet,weblogic)