`
yangyang
  • 浏览: 174426 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

手把手教你用axis创建自己的webservice(五)

阅读更多

 好了现在我们将webservice的实现代码发布到tomcataxis web应用中。如将你的代码拷贝到axis/WEB-INF/classes<o:p></o:p>

进入你的deploy.wsdd所在目录。<o:p></o:p>

cd C:\tomcat5\webapps\axis\WEB-INF\classes\com\yy\ws<o:p></o:p>

输入如下命令:<o:p></o:p>

C:\tomcat5\webapps\axis\WEB-INF\classes\com\yy\ws>   java     org.apache.axis.client.AdminClient  deploy.wsdd<o:p></o:p>

AdminClient  -一个axis发布工具,会自动地将你的webservice发布到WEB-INF下的server-config.wsdd文件中。如果显示:<o:p></o:p>

Processing file deploy.wsdd
<Admin>Done processing</Admin><o:p></o:p>

则表示发布成功!<o:p></o:p>

       好了,现在我们已经完成了创建和发布过程,接下来我们来进行最后一步工作——调用我们写的webservice!<o:p></o:p>

      <o:p></o:p>

java 代码<o:p></o:p>

1.          package com.yy.ws.test;   <o:p></o:p>

2.            <o:p></o:p>

3.          import java.net.MalformedURLException;   <o:p></o:p>

4.          import java.rmi.RemoteException;   <o:p></o:p>

5.            <o:p></o:p>

6.          import javax.xml.rpc.ServiceException;   <o:p></o:p>

7.            <o:p></o:p>

8.          import com.yy.ws.ClientRequest;   <o:p></o:p>

9.          import com.yy.ws.MobileBoss;   <o:p></o:p>

10.       import com.yy.ws.MobileBossService;   <o:p></o:p>

11.       import com.yy.ws.MobileBossServiceLocator;   <o:p></o:p>

12.       import com.yy.ws.ServerResponse;   <o:p></o:p>

13.         <o:p></o:p>

14.       public class Test {   <o:p></o:p>

15.           public static void main(String args[]) throws ServiceException, MalformedURLException, RemoteException{   <o:p></o:p>

16.               ClientRequest req = new ClientRequest();   <o:p></o:p>

17.               req.setAmount(1000);   <o:p></o:p>

18.               req.setOpType("charge");   <o:p></o:p>

19.               req.setPhoneNumber("13912345678");   <o:p></o:p>

20.               MobileBossService sl = new MobileBossServiceLocator();   <o:p></o:p>

21.               //URL url = new URL("http://localhost:8080/axis/services/MobileBoss");   <o:p></o:p>

22.               //s.getMobileBoss(url);   <o:p></o:p>

23.               MobileBoss mb = sl.getMobileBoss();//default port   <o:p></o:p>

24.               ServerResponse resp = mb.charge(req);   <o:p></o:p>

25.               System.out.println("client result:"+resp.getResultCode()+"\nclient message:"+resp.getMessage());   <o:p></o:p>

26.           }   <o:p></o:p>

27.       }   <o:p></o:p>

 结果如下:<o:p></o:p>

服务器端显示:<o:p></o:p>

13912345678|charge|1000
13912345678is charged successfully!<o:p></o:p>

客户端显示:<o:p></o:p>

client result:8888<o:p></o:p>

client message:13912345678|charge|1000<o:p></o:p>

      服务器段成功返回消息,大功告成!不是很难吧?!这篇文章的所有代码我都测试过,全部可以直接使用。希望能够对大家有所帮助。<o:p></o:p>

分享到:
评论
13 楼 shorthair 2007-09-03  
为什么我的客户端和服务端老是连不上,总是catch java.rmi.RemoteException

服务端应该发步成功了

我用的是JDK1.6和axis1.4,apache-tomcat6.0.14

可能是哪方面的原因呢?

谢谢
12 楼 jia95812 2007-08-13  
啊,test放在任何位置都可以吗?什么是服务器输入和客户端输出,什么意思啊?
11 楼 irvine007 2007-07-26  
刚刚接触webservice,用axis2在tomcat上部署了一个ws服务。
在用axis2写客户端的时候发现axis2跟axis差异还比较大啊。
大家一般使用axis2和axis中的哪一个啊。
10 楼 hxirui 2007-07-25  
不知道axis如何返回复杂对象:
比如我要返回一个组织类,组织类中有个List用来存放所有的子组织,
类似:

public class OrgBean{   
  private String orgName;   
  ...   
  private List subOrgs;   
  public void setSubOrgs(List par){   
       subOrgs = par;   
  }   
  public List getSubOrgs(){   
     return subOrgs;   
  }   
}   


services类为:

package com.admin.webservices;      
     
public class AdminOrgService {     
 //简单说明    
    public OrgBean getOrgBean() {      
        return new OrgBean();      
    }      
}      


不知道是否有人遇到过这种情况
不好意思这个问题我在 http://www.iteye.com/topic/104696  也提问过因为很着急所以在此也向大家请教,不过估计看这个主题的都是新手吧.
9 楼 wisdom3099 2007-07-12  
在你的帮助下第一次尝试axis例子已经发布成功:),axis的官方文档其实也非常详细。使用axis的自带工具要注意一下classpath。
 

   


8 楼 e3002 2007-06-12  
楼主的连载很好,对新手很有用,我更希望看到楼主在实际使用过程中遇到的问题及解决方法与大家一起分享一下,这样我觉得会更好
7 楼 aone 2007-06-07  
我发现axis1.4和jfreechart0.9.11在同一个工程的话,启动web服务时会报错,不知道有没有人碰到过同样的问题,我的解决办法是把jfreechart里的gnujaxp.jar删掉.
6 楼 aone 2007-06-07  
自问自答:
java org.apache.axis.client.AdminClient -lhttp://地址:端口/context模块/services/AdminService deploy.wsdd
5 楼 aone 2007-06-07  
我在执行java     org.apache.axis.client.AdminClient  deploy.wsdd
的时候发生错误:

Exception: AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (404)/axis/services/AdminService
faultActor:
faultNode:
faultDetail:
        {}:return code:  404


可以看到是没有找到:/axis/services/AdminService
但是我没有在deploy.wsdd里找到哪里有设置/axis/services/AdminService
LZ或者路过的高手给分析一下发生这种错误都可能是哪些原因,谢谢.
4 楼 cqpxm 2007-04-22  
MobileBossServiceLocator()

是用来做什么的啊!
3 楼 fragility 2007-04-21  
作者写的很明白。我只是接触一些ws的概念,还从没有实践过,不过看完这几篇文章,已经可以自己来做一个简单的例子了。
至于用什么工具开发,不值一提。入门的例子最好用最简单的工具。
2 楼 hbcui1984 2007-04-20  
引用
用MyEclipse5.0是不是可以简化开发啊!我看他里面代有关于webservice的开发,不过不会用没有用过!呵呵..

楼主为什么不在Myeclipse下开发呢?为什么还要配classpath之类的,多麻烦
1 楼 VerRan 2007-03-27  
用MyEclipse5.0是不是可以简化开发啊!我看他里面代有关于webservice的开发,不过不会用没有用过!呵呵..

相关推荐

    手把手教你用axis1.4搭建webservice

    标题中的“手把手教你用axis1.4搭建webservice”是指一篇教程,旨在指导读者如何使用Axis1.4这个开源工具来创建和部署Web服务。Axis是Apache软件基金会的一个项目,它提供了一种简单的方式来实现Java到SOAP(Simple ...

    手把手教你创建axis-webservice.docx

    本教程将详细介绍如何使用 AXIS 开发工具创建并发布 WebService。AXIS 是一个开源的 Java SOAP 工具包,它允许开发者轻松地创建、部署和使用 WebServices。在开始之前,确保你已经搭建了合适的开发环境,包括 JDK ...

    webservice Axis2教程

    Axis2是目前比较流行的WebService... 本课程通过一套完备的WebService电子书教程+20多讲教学视频+ QQ群中老师辅导的教学服务方式的教学方式, 手把手辅导学员掌握Axis2的核心技术,并一步步带领学员完成这三个项目。

    清风教你手把手-写WebService客户端代码(Java版本)

    在Java中,我们可以使用Apache Axis、JAX-WS(Java API for XML Web Services)或者Spring框架来创建和消费Web服务。 教程开始,我们先确保安装了必要的开发环境,比如Java Development Kit(JDK)和构建工具如...

    FLEX资源---------手把手实现WebService服务与通讯

    标题 "FLEX资源---------手把手实现WebService服务与通讯" 提供了一个关于使用FLEX与WebService进行通信的主题。这篇博文可能是作者分享的一种详细教程,指导读者如何在实际开发中实现这一功能。结合描述中的链接,...

    WebService&SOA&ESB入门介绍(手把手xfire开发WS入门实例)

    【WebService概念】 Web Service是一种基于开放标准的互操作机制,允许不同应用程序和平台通过互联网进行通信。这种通信是基于XML(eXtensible Markup Language)的,确保数据能够在各种编程语言和操作系统之间无缝...

    浪曦航母战斗编队式企业级项目培训系列明细

    浪曦航母战斗编队式企业级项目培训系列明细 JAVA,JSP/Servlet基础 Struts2 ...Mule Esb发布基于CXF,Axis的WebService, Extjs3.2与Html/css/js整合打造不规则九宫格效果 JBPM4.4开发销售工作流

Global site tag (gtag.js) - Google Analytics