Chinaunix首页 | 论坛 | 博客
  • 博客访问: 278160
  • 博文数量: 83
  • 博客积分: 2393
  • 博客等级: 大尉
  • 技术积分: 640
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-24 15:14
文章分类

全部博文(83)

文章存档

2019年(21)

2011年(5)

2010年(2)

2009年(1)

2008年(9)

2007年(33)

2006年(12)

我的朋友

分类: Java

2008-05-02 17:35:35

    好久没有写过东西,趁着过五一的时间自己在网上找资料学习了一下webservices的开发,以下是从网上找到的资料,通过这些资料对axis开发webservices有了一个初步了解。

   在网上看到的由--呼必斯哈拉图--写的"Apache AXIS 开发 Web Services Step By Step",跟着做了一遍。

非常感谢呼必斯哈拉图,写得非常的详细,图文并茂。
但是,我的环境和他文中的不太一样,所以根据自己的环境重写如下。

一、环境准备

1.1软件下载准备
Tomcat 5.5下载地址:

Axis War包:

Axis Eclipse plug-in(代码生成工具和打包工具):

Eclipse 3.2:

MyEclipse5.5M1

1.2安装

A.首先搭建开发环境,将下载的Eclipse解压缩到一个目录,D:\eclipse-SDK-3.2-win32。
B.将下载到的Axis 的两个plug-in解压缩到D:\Axis-Plugin-Dir\eclipse\plugins目录下

C.在eclipse目录下创建D:\eclipse-SDK-3.2-win32\eclipse\links,新建文件名为:axis-eclipse-plugin.link

内容为:
path=D:\\Axis-Plugin-Dir


D.安装MyEclipse5.5M1,将eclipse目录指向D:\eclipse-SDK-3.2-win32,删除D:\eclipse-SDK-3.2-win32\eclipse\configuration下的org.eclipse.update目录。然后启动MyEclipse,选择“File->New->Other”可以看到如下的两个界面
1、Axis2 plugins

 

2、Web Servieces plugins

E.下面开始搭建Web Services的部署环境。

将下载的tomcat5.5解压缩到一个目录D:\Tomcat5.5。

F.将axis2.war包拷贝到tomcat安装目录下的webapps目录。

G.启动Tomcat(D:\Tomcat5.5\bin\startup.bat),打开浏览器输入并访问: 来查看,结果如下图,表示axis2已经工作正常。

二、快速开始

2.1创建webApps项目

启动MyEclipse,新建立一个WebAppsFile->New->Project->Web Project,Project Name SayHello
,其他保持不改变。

2.2创建WSDL文件

A.选择File->New-Other菜单,进入后找到MyEclipse->Web Services并选择WSDL.如下图:

B.点击下一步按钮,显示如下图:

C.选择“src”目录作为“Enter or select the parent folder”的值,“File name”值给定为SayHello.wsdl。

D.下一步》所有界面内容取默认值,Finish!

E.显示WSDL设计器的界面如下:

F.修改图中标红色的部分:
修改图中的NewOperation为SayHello;
修改input中parameters为SayHelloRequest;
修改output中parameters为SayHelloResponse;
修改完后如下图:

红色框内为变化的内容,WSDL文件修改完毕。

2.3WSDL生成Java代码

A.选择菜单“File->New->Other”,从对话框中选取“Axis2 Wizards”下面的“Axis2 Code Generator”.点击“Next”

B.进入下一个页面,保持“Generate java source code from WSDL file”被选中,点击“Next”进入下一步。
C.点击“Browse”来选取存放在src目录下的SayHello.wsdl文件,“Next”进入下一步。
D.首先生成客户端代码和测试代码,设置如下:

E.下一步后,选择SayHello\src目录,如下图:

Finish !

F.重复从A到C的步骤,然后生成服务端代码,设置如下:

后面同E。

G.结束后,刷新项目,如图:

这是由于没有将Axis2jar包放入class path 中以及源代码的package不为org.example.引起的。

H.修改包名为org.example.并从tomcat中的axis2 web应用WEB-INF/lib目录中加载所有jar包到项目的classpath中。

I.在SayHelloTest.java 中引入junit包。

2.4编写业务代码

打开SayHelloSKeleton.java文件其中的方法如下:

public org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest param0)

{

// Todo fill this with the necessary business logic

throw new java.lang.UnsupportedOperationException();

}

 修改为:

public org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest request)
{
      try
    {
             SayHelloResponse response = new SayHelloResponse();
             response.setOut("Hi,"+request.getIn()+".How are you?");
             return response;
    }catch(UnsupportedOperationException e)
       {
           throw e;
   }
}

2.5打包

A.选择菜单“File->New->Other”,从对话框中选取“Axis2 Wizards”下面的“Axis2 Services Archive”.点击“Next”进入下一个页面

B.选择编译好的class文件所在目录(本项目应该是WebRoot下面WEB-INF/classes),“Next”进入下一步。

C.选择WSDL文件所在目录,此处为src目录下的SayHello.wsdl文件。“Next”,再“Next”。选择services.xm文件。

D.点击“Next”,将记入最后一个页面,此处有两个选项,一个是输出目录一个是处处文件名称。这里的输出文件名称给的是SayHello。点击“Finish”完成。

2.6部署

A.将打包好的文件SayHello.jar拷贝到Tomcat中已经部署的Axis2应用的WEB-INF/services目录下面。

B.重新启动Tomcat

C.打开浏览器,输入,并点击其中的“services”链接可以看到SayHello已经被部署。点击SayHello提供的连接可以看到与之对应的WSDL。

2.7调用测试
A.修改SayHelloTest.java文件中的方法
testSayHello的内容为:

public void testSayHello() throws java.lang.Exception {
  String url="";
  org.example..SayHelloStub stub = new org.example..SayHelloStub(url);
  org.example..SayHelloStub.SayHello request = (org.example..SayHelloStub.SayHello) getTestObject(org.example..SayHelloStub.SayHello.class);
  request.setIn("Teamlet");
  System.out.println(stub.SayHello(request).getOut());
  assertNotNull(stub.SayHello(request));
 }

  从菜单中选择“Run>Run as->JUnit Test 完成测试!

阅读(1590) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~