王洪伟的专栏

http://blog.teamlet.org 本站搜索关键字:王洪伟+teamlet

王洪伟ID:teamlet
151322次访问,排名451好友1人,关注者25
10年软件开发设计经验,专注J2EE领域的技术架构和应用.
teamlet的文章
原创 95 篇
翻译 9 篇
转载 67 篇
评论 131 篇
teamlet的公告

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.

关注SOA技术的发展,跟进SCA技术的理论和实现,努力实践。愿与同行者一起分享,互相勉励,共同进步。
最近评论
xaser:GOOGLE一下“Vidalia Bundle”,安装后就能正常访问SF了,也能正常下载文
JAVA:如何下载被封的SourceForge.net上面的源码
http://hi.baidu.com/huqiwen/blog/item/675a3812da9d6b54f819b8de.html
eason:我发现源码出来之后,有些红叉,总是消除不了
能不能给我也发一份源码过来!谢谢
lgz_seu@hotmail.com
feigme:为什么现在我还出现这个问题?我用的JDK也是1.5.0_10,Maven2是2.0.9这个版本了
xiaohui5850:我想了解JAX-WS啊
好强的技术
文章分类
收藏
    相册
    资源联接
    Cruise Control
    Open CSA
    OSOA
    SOA Tools Project
    theserverside
    中国Java开发网
    满江红
    知识共享@中国大陆
    左邻右舍
    donews的blog
    msn的blog
    Tuscany中文社区
    我用Subversion
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 用Eclipse3.2+MyEclipse5.5M1+axis2_1.1.1+tomcat5.5 开发Web Services收藏

    新一篇: 使用Eclipse3.2.1+STP.0.4.0+Apache Tuscany开发SCA的Java组件(1)设置篇

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

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

    一、环境准备

    1.1软件下载准备
    Tomcat 5.5下载地址:
    http://tomcat.apache.org/download-55.cgi#5.5.20

    Axis War包:
    http://ftp.wayne.edu/apache/ws/axis2/1_1_1/axis2.war

    Axis Eclipse plug-in(代码生成工具和打包工具):
    http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-codegen-wizard.zip
    http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-service-archiver-wizard.zip

    Eclipse 3.2:
    http://www.eclipse.org/

    MyEclipse5.5M1
    http://www.myeclipseide.com/

    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),打开浏览器输入并访问:http://127.0.0.1:8080/axis2 来查看,结果如下图,表示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.www.sayhello引起的。

    H.修改包名为org.example.www.sayhello并从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.打开浏览器,输入http://127.0.0.1:8080/axis2,并点击其中的“services”链接可以看到SayHello已经被部署。点击SayHello提供的连接可以看到与之对应的WSDL。

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

    public void testSayHello() throws java.lang.Exception {
      String url="http://localhost:8080/axis2/services/SayHello";
      org.example.www.sayhello.SayHelloStub stub = new org.example.www.sayhello.SayHelloStub(url);
      org.example.www.sayhello.SayHelloStub.SayHello request = (org.example.www.sayhello.SayHelloStub.SayHello) getTestObject(org.example.www.sayhello.SayHelloStub.SayHello.class);
      request.setIn("Teamlet");
      System.out.println(stub.SayHello(request).getOut());
      assertNotNull(stub.SayHello(request));
     }

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

    <EOF>

    发表于 @ 2007年03月05日 14:22:00|评论(loading...)|编辑

    旧一篇: Eclipse plugin.xml中的%(百分号)

    评论

    #小鱼 发表于2007-04-15 16:15:07  IP: 60.190.253.*
    好文章!更新这么快!
    请问一下myeclipse5.5注册码
    #韭菜 发表于2007-07-04 17:43:07  IP: 210.21.35.*
    5.5 GA 版本:
    Subscriber: www.1cn.biz
    Subscriber Code: jLR8ZC-655355-5450765457039125
    或者
    Subscriber: www.1cn.biz
    Subscriber Code: jLR7ZL-655355-5450755330522962

    适用于早期的 5.5 M2 版本的:

    Subscriber: www.1cn.biz
    Subscriber Code: jLR8ZC-956-55-5467865833584547

    适用于早期的 5.0 , 5.1.1 GA 和 5.5 M1 版本的:

    Subscriber: www.1cn.biz
    Subscriber Code: jLR8ZC-444-55-4467865481680090
    #uclnn 发表于2007-07-06 13:11:13  IP: 59.41.191.*
    多谢你的文章,学到新东西了。还有没有深入的Web Services 例子啊?
    #事实 发表于2007-09-06 17:05:39  IP: 61.187.64.*
    请问你的SayHello Requestl类怎么产生呢?
    骗子
    2007-09-06 20:35:55作者回复
    你没有做出来吗,能说说你的开发环境和操作步骤吗?如果有截图就更好了,可以给我发邮件.<br /><br />另外,如果你的态度能够礼貌些,我想我们能更好的沟通.
    2007-09-07 10:44:14作者回复
    二、快速开始<br />...<br />2.2创建WSDL文件<br />...<br />F.修改图中标红色的部分:<br /><br />1、修改图中的NewOperation为SayHello;<br />2、修改input中parameters为SayHelloRequest;<br />3、修改output中parameters为SayHelloResponse;<br />...<br /><br />我想你可能漏掉了上面的步骤.
    #tester 发表于2007-09-19 16:27:30  IP: 59.41.183.*
    按照图的做法,本来应生成名为"SayHelloRequest"的类是生成名为"SayHello",步骤"F"有小误
    #tester  发表于2007-09-19 16:43:50  IP: 59.41.183.*
    我错了,原来的方法没错:P
    #林行天下 发表于2007-11-24 11:49:19  IP: 121.35.125.*
    结果出不来啊。老兄.最后一步.
    从菜单中选择“Run->Run as->JUnit Test 完成测试!
    根本就出来不了结果.不要再抄了.很多错的啊,害人
    Launch Error
    Editor does not contain a main type
    #teamlet 发表于2007-11-29 21:10:49  IP: 123.112.98.*
    http://blog.csdn.net/teamlet/archive/2007/11/29/1907860.aspx

    以后做不出来的时候,最好先反思一下自己的问题.
    #yfdwl 发表于2008-01-09 12:59:45  IP: 60.190.56.*
    程序没有问题

    谢谢
    #Abcix 发表于2008-01-16 15:30:14  IP: 210.87.131.*
    好的帖子,怎么办,一个字——顶!
    谢谢你的帖子
    #asdfsx 发表于2008-03-27 11:30:41  IP: 58.31.68.*
    完全没有问题
    不过没有说明services.xml文件在哪里
    让我找了一阵
    services.xml文件存放在resource目录下
    #冰红茶 发表于2008-04-19 03:41:28  IP: 85.180.68.*
    您好,我是java和webservice的新手,想照您的例子做一遍,其他的写得很详细,但是具体的java文件都没有给出源码,比如sayhello.java, sayhellorequest.java等等,请问您能把源码给出来吗?或者发到我的email信箱可以吗?tjsyy@21cn.com。

    期待您的回复,谢谢!
    2008-04-19 12:13:09作者回复
    已经发送到邮箱,请查收。
    #tjsongyy 发表于2008-05-09 05:31:36  IP: 85.180.79.*
    您好,邮件已收到,多谢。
    我后来自己也找到了那些自动生成的.java程序,并按照自己的需求更改了client和server端的skeleton,已经调试通过了。非常感谢您的帮助。
    #charlesking4u 发表于2008-05-15 00:54:15  IP: 116.235.201.*
    写得很详细,这样得很好。
    2.5->2.6的是打包SayHello.jar的过程,2.5最后一步要注明路径。。。一开始我还以为对项目export打包成。。。。昏。。总体来说,LZ好样的!支持!
    #charlesking4u 发表于2008-05-15 00:55:04  IP: 116.235.201.*
    需要源代码的我也可以发一份。联系Email
    charlesking2u@126.com
    #eason 发表于2008-07-01 14:18:42  IP: 58.213.92.*
    我发现源码出来之后,有些红叉,总是消除不了
    能不能给我也发一份源码过来!谢谢
    lgz_seu@hotmail.com
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © teamlet