加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

axis2发布webservice

发布时间:2020-12-16 22:04:24 所属栏目:安全 来源:网络整理
导读:一、下载axis2 war包 ? ? ? ? 1、到apache axis2官网 下载了目前最新的war包 也就是axis2-1.7.3-war 2、将war包拷贝到tomcat的webapp中,然后在浏览器中访问 http://localhost:8080/axis2 ? ? 如果显示Apache axis2页面表示部署成功 3、在myclipse中新建一个

一、下载axis2 war包


? ? ? ? 1、到apache axis2官网 下载了目前最新的war包 也就是axis2-1.7.3-war


2、将war包拷贝到tomcat的webapp中,然后在浏览器中访问http://localhost:8080/axis2

? ? 如果显示Apache axis2页面表示部署成功


3、在myclipse中新建一个helloworld项目,将axis2集成到我们的项目中需要配置

web.xml,在web.xml中加入如下配置:

<servlet>
        <servlet-name>AxisServlet</servlet-name>
        <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>

4、新建一个简单的webservice,建一个包 com.hello,在包下面建一个hellowordservice

package com.hello;
public class HelloworldService {
 public String test(String name){
  return name +" "+ "test";
 }
把tomcat?安装目录下的webapps/axis2/axis2-web放到项目的WebRoot下,把tomcat安装目录下的webapps/axis2/WEB-INF下的service和conf和moduls文件拷至项目下的WEB-INF目录下,并修改conf目录下的axis2.xml,找到<module?ref="addressing"/>并将其注释掉。把lib下的jar包到项目的lib下去。结构如下:

services下新建Axis2Service(这个可以任取)/META-INF路径,META-INF下新建services.xml,内容如下:
<service name="hello">
? ? <description> ?
? ? ? 	Test Service Example ??
? ? </description> ?
? ? <parameter name="ServiceClass"> ?
? ? ? ?com.hello.serviceimpl.HelloServiceImpl?
? ? </parameter> ?
    <operation name="test">  
        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />  
    </operation>
</service>
把项目加载到tomcat,也可以打包成war发布到tomcat,启动tomcat后访问http://localhost:8080/zwservice/services/hello?wsdl
如果能看到xml文档说明发布成功,
然后我在客户掉利用wsimport 生成客户端代码调用服务端的接口,发现一直报错:

The ServiceClass object does not implement the required method in the following form: OMElement greetings(OMElement e),查询了好久是server.xml配置文件的问题,上面的
   </operation>
是比较早之前版本的配置,换成 
<messageReceivers>
? ? ? ? <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
? ? ??
? <messageReceiver ?mep="http://www.w3.org/ns/wsdl/in-out" ?class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
? ? </messageReceivers>
就解决问题了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读