Web Service 之 axis (6) ——Dynamic web

1. 环境准备
下载wtp-all-in-one-sdk-R-1.5.4-win32,这个是eclipse的web开发插件。

2. 新建一个动态web工程(dynamic web project),命名为DynamicAxisClient。
eclips>>file>>new>>project>>web>>Dynamic web project

3. 写服务端代码(HelloWorld.java)
package com.dynamic.axis.server;
public class HelloWorld {
public String sayHello(String name) {
return "你好,世界!";
}
}

4. 发布服务
右键点击HelloWorld.java>>new>>other>>Web Services>>Web service>>next>>next>>start server>>Finish。
webcontent目录下会自动生成一个文件wsdl文件夹,文件夹中包含HelloWorld.wsdl文件,WEB-INF目录下会生成server-config.wsdd,HelloServiceService目录文件,lib文件夹中生成了axis的jar文件>>服务端部署成功。
打开浏览器,输入:http://localhost:8080/DynamicAxisServer/services

5. 生成服务器代码
右击webcontent\wsdl\HelloWorld.wsdl文件>>new>>other>>Web Services>>Web service>>next>>next>>Finish。
src目录下会自动生成com\dynamic\axis\server包,包中包含6个java文件(HelloWorld.java|HelloWorldService.java|HelloWorldServiceLocator.java|HelloWorldSoapBindingImpl.java|HelloWorldSoapBindingSkeleton.java|HelloWorldSoapBindingStub.java)
webcontent目录下会自动生成一个文件类的包文件与2个wsdd文件.

6. 在HelloWorldSoapBindingImpl.java文件中编写服务器实现代码.

7. 客户端程序测试
创建java工程,导入axis相关包,编写客户端测试代码,如下:
package com.dynaic.axis.client;

import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class TestAxisClient {
public static void main(String[] args) {
String endPoint = "http://localhost:8080/DynamicAxisServer/services/HelloWorld";
Service service = new Service();
try {
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endPoint);
call.setOperationName(new QName("urn:HelloService", "sayHello"));
String returnValue = (String) call.invoke(new Object[] {});
System.out.println(returnValue);
} catch (ServiceException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
}
}

你可能感兴趣的:(webservice)