设为首页 收藏本站
查看: 301|回复: 0

[经验分享] Tomcat手动发布WebService —— axis2

[复制链接]

尚未签到

发表于 2017-1-26 09:00:03 | 显示全部楼层 |阅读模式

  • 准备工作。先去官网下载axis2-1.6.2-bin.zip,axis2-1.6.2-war.zip这两个包,解压axis2-1.6.2-bin.zip包到一个目录(我的是C盘),设置环境变量AXIS2_HOME=C:\axis2-1.6.2,这个步骤和设置JDK一样,就不说了。解压axis2-1.6.2-war.zip得到war包axis2.war,放在tomcat的里运行,访问地址是http://localhost:8080/axis2/,成功页面如下:
    DSC0000.jpg
     项目axis2的目录结构如下: 

  • axis2-web
    META-INF
    WEB-INF
    classes
    conf
    axis2.xml
    lib
    activation.jar
    ...
    xmlSchema.jar
    modules
    modules.list
    addressing.mar
    ...
    soapmonitor.mar
    services
    services.list
    aservice.aar
    ...
    version.aar
    web.xml
  • 有多种发布方法。第一种方法:直接发布类文件(.class)。缺点是此类文件中不能有包路径,否则发布出错,下面来发布以下这个类,
    import java.util.Random;
    /**
    *
    * @author yanqh
    * @since 2013-7-29
    *
    */
    public class HelloWorldService {
    public String sayHello(String name) {
    return name + " say: hello [axis2]";
    }
    public int getAge(int i) {
    return i + new Random().nextInt(100);
    }
    }
     。在项目axis2的WEB-INF下新建文件夹pojo,把HelloWorldService.class放在pojo里就OK了。插话{ 为什么要用pojo文件夹呢?查看项目WEB-INF\conf下的axis2.xml文件中有这么一句
    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
     }。点击项目主页的Services链接来查看发布的Service,如下: DSC0001.jpg
  •  使用地址http://localhost:8080/axis2/services/HelloWorldService/sayHello?name=yanqh来访问HelloWorldService中的sayHello方法,
    DSC0002.jpg
    插话{网上看到可以直接发布jar包,这样就可以在类文件中有包路径,我没试过就不在这里写了}
  • 第二种方法:打aar包进行发布。下面来发布以下这个类,
    package samples.quickstart.service.pojo;
    import java.util.HashMap;
    public class StockQuoteService {
    private HashMap map = new HashMap();
    public double getPrice(String symbol) {
    Double price = (Double) map.get(symbol);
    if(price != null){
    return price.doubleValue();
    }
    return 42.00;
    }
    public void update(String symbol, double price) {
    map.put(symbol, new Double(price));
    }
    }
     新建services.xml,
    <?xml version="1.0" encoding="UTF-8"?>
    <service name="StockQuoteService" scope="application">
    <description>
    Stock Quote Sample Service
    </description>
    <messageReceivers>
    <messageReceiver
    mep="http://www.w3.org/2004/08/wsdl/in-only"
    class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
    <messageReceiver
    mep="http://www.w3.org/2004/08/wsdl/in-out"
    class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </messageReceivers>
    <parameter name="ServiceClass">
    samples.quickstart.service.pojo.StockQuoteService
    </parameter>
    </service>
     然后构建以下目录结构,
    - StockQuoteService  //这个文件夹名字是任意的
    - META-INF
    - services.xml
    - lib
    - samples
    - quickstart
    - service
    - pojo
    - StockQuoteService.class
    - StockQuoteService.wsdl  //在第6步生成的
  • 打开命令行,执行以下命令
    DSC0003.jpg
     之后StockQuoteService目录下生成了StockQuoteService.wsdl文件,再执行以下命令
    DSC0004.jpg
     之后StockQuoteService目录下生成了StockQuoteService.aar包,把aar包放到项目axis2\WEB-INF\services中,然后再看Services列表
    DSC0005.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-333519-1-1.html 上篇帖子: 14,tomcat session管理 下篇帖子: 浅析Tomcat之CoyoteAdapter
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表