真正发布使用axis 发布 webservice

本文介绍了一种利用Axis简化WebService部署的方法,通过简单的步骤即可完成服务发布,避免了使用Stub方式带来的复杂性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在网上看了很多优秀的或者说是基本一致单一的一种发布webservice的方法是stub,但是我是个新手,尽管好不容易配通了一次,但是还是没有掌握要领,本来就是为了能够作为一个webservice项目发布,偏偏弄得那么难,不知道浪费了自己多少金子般的时间啊(现在真想痛哭一场!)只怪自己不够仔细认真,后来发现axis中自带一个测试用的项目,于是就在此基础之上搭建了一个webservice项目,仅仅用了几分钟就够了。这在项目中是很方便的啊。各位同僚,真不知道你们用stub的方式是为了什么,可能你不用eclipse等的ide,但是俺用啊,你们那么整把俺也整惨了,俺的时间啊!因此写下这篇日志,当是对自己一个提醒吧 !也希望那些刚刚涉入axis模式的webservice同僚能节省自己的宝贵时间,快速的发布webservice服务!

首先,跟任何一种发布方式一样就是环境的配置,把下下来axis包中的那个测试项目/axis-src-1_4/axis-1_4/webapps路径下的axis文件夹下的WEB-INF/lib中的所有的包都拷到你的项目中,然后看看axis文件夹下的WEB-INF/下的web.xml文件中的配置,把里面的欢迎页面和session时间配置项去掉之后就是有用的servlet&servlet-mapping的配置了,把这些都原封不动的拷到你的项目文件web.xml中,然后还要在你项目中的WEB-INF/下建立server-config.wsdd文件,这个文件的主要用途是发布你自己的service方法,否则你就没地方发布啦,是不是啊?

文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
 <globalConfiguration>
  <parameter name="adminPassword" value="admin"/>
  <parameter name="attachments.Directory" value="./attachments"/>
  <parameter name="attachments.implementation"
             value="org.apache.axis.attachments.AttachmentsImpl"/>
  <parameter name="sendXsiTypes" value="true"/>
  <parameter name="sendMultiRefs" value="true"/>
  <parameter name="sendXMLDeclaration" value="true"/>
  <parameter name="axis.sendMinimizedElements" value="true"/>
  <requestFlow>
   <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="session"/>
   </handler>
   <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="request"/>
    <parameter name="extension" value=".jwr"/>
   </handler>
  </requestFlow>
 </globalConfiguration>
 <handler name="LocalResponder"
          type="java:org.apache.axis.transport.local.LocalResponder"/>
 <handler name="URLMapper"
          type="java:org.apache.axis.handlers.http.URLMapper"/>
 <handler name="Authenticate"
          type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
 
  <service name="myService" provider="java:RPC">
  <parameter name="allowedMethods" value="*"/>
  <parameter name="className" value="webservices.WebService"/>
 </service>

<transport name="http">
  <requestFlow>
   <handler type="URLMapper"/>
   <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
  </requestFlow>
 </transport>
 <transport name="local">
  <responseFlow>
   <handler type="LocalResponder"/>
  </responseFlow>
 </transport>
</deployment>

亮色显示部分是自己的项目中发布的service类,大家都能看懂什么意思吧??

然后你就发布自己的项目,启动tomcat吧,然后在你的浏览器里输入http://127.0.0.1:8080/testWebService2/services(其中testWebService2是我的项目名称),你就看到自己发布的服务啦!!!哈哈,真是比那个stub好多了,那还要写bat,这个直接发布就可以,真不知道那些人是怎么想的,不管怎么样,还是应该谢谢各位仁兄啊!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值