`
hulu26
  • 浏览: 222488 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

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();
}
      }
   }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics