zoukankan      html  css  js  c++  java
  • 转:axis2的配置和一个简单调用实例

    最近有一个项目要用webservice开发,听说Axis2不错,所以就去apache下载下来,因为第一次用,不熟悉,只好去网上搜搜文章,发觉网上 这方面的介绍很少,要不就是讲的太简单了,不好上手,只好去看Axis2自带的文档。经过几天的学习,调通了一个实例。就和大家一块探讨学习!
    一、环境:
    1. jdk1.5 + Tomcat5.5 + Axis2_1.1.1
    2. 好像jdk要1.4以上,tomcat要4.0以上。
    二、准备工作:
    1.下载Axis2,去http://ws.apache.org/axis2/下载Standard Binary Distribution、WAR Distribution。
    2. 把Standard Binary Distribution解压,如:$AXIS2_HOME$ = D:\axis2-1.1.1。
    3. 把WAR Distribution 解压到 $tomcat_home$\webapps\axis2下(注意:这里的axis2文件夹需要你手动添加),或者你也可以参照axis2文档的步骤用 ant 创建一个axis2.war ,放到$tomcat_home$\webapps下,然后启动tomcat ,那么tomcat会在webapps下自动创建一个axis2文件夹。
    4. 设置环境变量:建立JAVA_HOME和AXIS2_HOME,添加你的jdk和axis2的存放地址,同时把他们的bin添加到path。这样做主要是方便下来生成wsdl文件。
    5. 你可能还有把$tomcat_home$\webapps\axis2\WEB-INF\lib下的这些*.jar包添加到环境变量的classpath 。当然如果你使用IDEA的话可能就不用了。
    三、测试:
    1. 启动tomcat 打开浏览器,输入:http://localhost:[port]/axis2/ 应该可以进入axis2的欢迎界面了。点击“Validate”如果没有报错,应该说环境已经搭建好了!!
    2. 点击“Administration”初始用户名和密码分别是:admin 和 axis2,当然你也可以到$tomcat_home$\webapps\axis2\WEB-INF\conf\axis2.xml下通过修改用户名和密码。
    四、一个简单实例
    1. 用的实例是$AXIS2_HOME$\samples\quickstartaxiom 下的文件,这里有一个service :StockQuoteService.java,client:AXIOMClient.java 两个java文件。
    2. 编译StockQuoteService.java 文件。我用的IDEA 是intelliJ。所以编译完后class文件在$tomcat_home$\webapps\axis2\WEB-INF\classes \[package]. StockQuoteService.class ,这里package 我就不多说了。
    3. 生成wsdl文件。这里用axis2自带的java2wsdl.bat 来生成wsdl文件:进入dos 命令提示符到$tomcat_home$\webapps\axis2\WEB-INF\classes 下,输入:
    java2wsdl –cp . -cn [package].StockQuoteService –of ..\wsdl\StockQuoteService.wsdl
    -cn 后是指定的类,-of 是把文件输出到指定的位置。这里我在$tomcat_home$\webapps\axis2\WEB-INF 下创建了wsdl文件夹存放wsdl文件。
    4. 下面可以打包了,axis2中的service包是以后缀.aar 命名的。一种你可以使用命令:ant generate.service(我没用过)。还有一种就是从网上下载插件,因为我用的intelliJ,下载后解压到安装文件目录plugins下。 通过插件来打包,不管怎样;打包完后应该是有如下的结构:
    StockQuoteService.aar
    • META-INF
    - services.xml
    - StockQuoteService.wsdl
    • package
    - StockQuoteService.class
    注意:package应该和META-INF在同一目录。
    5. 上传服务。两种方法:一,直接把StockQuoteService.aar 文件拷贝到$tomcat_home$\webapps\axis2\WEB-INF\services 下,重新启动tomcat,打开浏览器,输入:http://localhost:[port]/axis2/ 进入管理界面,在左侧栏目中点击:“Available Services”可以看到服务已经上传了。二,在管理界面左侧栏目中,点击“Upload Service”上传也可以。
    6. 在浏览器中输入:http://localhost:[port]/axis2/services/StockQuoteService?wsdl 如果没错,ok 再输入:http://localhost:[port]/axis2/services/StockQuoteService?xsd 还没错
    那说明服务已经布置好了。
    7. 测验一下,AXIOMClient.java 编译成class文件执行一下,得到结果:Current price of WSO: 42 好了,服务调用完成。

    注意:在AXIOMClient.java 文件中注意端口port:
    private static EndpointReference targetEPR =
    new EndpointReference(
    "http://localhost:[port]/axis2/services/StockQuoteService");

    至于其他的如:传输机制等你也自己看的懂,不多说了。
    请多指教!!!!

    继续学习中 -- yxxiao0929

    我的Email:xyx-820929@163.com
  • 相关阅读:
    深入理解TCP协议及其源代码
    Socket与系统调用深度分析
    构建调试Linux内核网络代码的环境MenuOS系统
    创新产品的需求分析:未来的图书会是什么样子?
    socket通信的原理与实践
    案例分析:设计模式与代码的结构特性
    网络相关的命令工具研究报告:ssh
    业务领域建模Domain Modeling
    ubuntu 设置静态ip,但显示scope global secondary ens33
    解决Python查询Mysql中文乱码问题
  • 原文地址:https://www.cnblogs.com/phoebus0501/p/1970587.html
Copyright © 2011-2022 走看看