zoukankan      html  css  js  c++  java
  • [JavaWebService-axis]-环境搭建

    一、准备

    1.下载环境需要的zip包

    JDK

    Eclipse

    axis(http://axis.apache.org/axis2/java/core/download.html)(axis2-1.7.0-bin.zip,axis2-1.7.0-war.zip,axis2-eclipse-codegen-plugin-1.7.0.zip,axis2-eclipse-service-plugin-1.7.0.zip)

    omcat

    2.安装axis插件(试错)

    将axis2-eclipse-codegen-plugin-1.7.0.zip,axis2-eclipse-service-plugin-1.7.0.zip下载下来后,解压后是2个jar包,放在MyEclipse安装目录的plugins下后,重启后并没有如下图2:

    File-》new-》other

    3.重新下载插件包(http://archive.apache.org/dist/ws/axis2/tools/)

    在这个地址下面可以下载到相应的包

    你可以进入1_4_1,如下图:

    下载这2个包后,解压。然后放在MyEclipse安装目录的dropins文件夹下(Eclipse是在plugins文件夹中),如下图:

    然后重启MyEclipse,就可以了。再次重复File-》new-》other就有了图2中的,这里也可以用link文件配置试试。

    二、配置

    1.配置Tomcat 中WebService解析容器

    在上面下载的axis2-1.7.0-war.zip解压后,会有一个axis2.war文件,需要把该文件放入Tomcat目录下面的webapps文件夹下面。(浏览器运行会自动将war文件解压出来一个文件夹axis2 包含axis2-web、META-INF、org、WEB-INF)

    2.启动Taomcat后,就可以访问http://localhost:8080/axis2/ ,如下图:

    三、编写Java版的Webservice

    1.新建一个Web项目,如下图:

    2.新建一个上述的实体类,如下:

     

    3.把tomcat 安装目录下的webapps/axis2/中的axis2-web放到项目的WebRoot下(这步可不弄)

    4. 把tomcat安装目录下的webapps/axis2/WEB-INF下的services和conf 和moduls 文件夹拷至项目下的WEB-INF目录下

    5.修改conf目录下的axis2.xml,找到 <module ref=”addressing”/> 并将其注释掉

    6.把lib下的jar包也拷到项目的lib下去。

    以上4步操作,如下:

    7.为该项目写一个部署描述。 

    在services下新建 Axis2Service(这个可以任取) /META-INF路径,META-INF下新建services.xml,内容如下:

     1 <service name="ServiceTest" > //这个名字随意
     2     <description>  
     3           Test Service Example   
     4     </description>  
     5     <parameter name="ServiceClass">  
     6         cn.homily.action.FisrtDemo  //这个必须是这个服务的类路径
     7     </parameter>  
     8     <operation name="getStr">  //这个是这个服务的方法名
     9         <messageReceiver  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />  //这个应该是接收数据的配置
    10     </operation>
    11 </service>

    这样Webservice的配置工作基本上就好了

    四、结果

    1.部署项目 启动tomcat

    2.访问http://localhost:8080/WebserviceDemo/services/ServiceTest?wsdl(WebserviceDemo-项目名,services-是WEB-INF/services对应,ServiceTest-是上面7中的服务名),结果如下图:

    3.编写Java调用方法

    新建如下图,Java项目

    4.编写调用Webservice的代码

     1 package cn.homily.action;
     2 
     3 import javax.xml.namespace.QName;
     4 import javax.xml.rpc.ServiceException;
     5 
     6 import org.apache.axis.client.Call;
     7 import org.apache.axis.client.Service;
     8 
     9 public class InterfaceUserTest {
    10 
    11     public static void main(String[] args) {
    12         String url = "http://localhost:8080/WebserviceDemo/services/ServiceTest?wsdl";
    13         String xmlData= "www.homily.cn";
    14         try {
    15             Service service = new Service();
    16             Call call = (Call) service.createCall();
    17             call.setTargetEndpointAddress(url);
    18             call.setOperationName(new QName("http://action.homily.cn", "getStr"));
    19             call.setTimeout(new Integer(5000));
    20             String retu = "";
    21             try {
    22                 retu = (String) call.invoke(new Object[] { xmlData});
    23             } catch (Throwable e) {
    24                 e.printStackTrace();
    25             }
    26         } catch (ServiceException e) {
    27             e.printStackTrace();
    28         }
    29     }
    30 }

    5.执行Run As,结果如下图:

    五、问题

    1.The ServiceClass object does not implement the required method in the following form: OMElement getDocSummary(OMElement e)

    加个这个即可:mep=”http://www.w3.org/2004/08/wsdl/in-out”

    六、参考资料

    http://www.tuicool.com/articles/BjUNrq

    http://blog.csdn.net/a491057947/article/details/19356731
    http://www.blogjava.net/tianchijiaozi/archive/2013/03/15/396452.html
    http://www.cnblogs.com/hoojo/archive/2010/12/20/1911363.html
    http://www.blogjava.net/xcp/archive/2010/08/18/329244.html
    http://blog.csdn.net/xumengxing/article/details/13093573
    http://clq9761.iteye.com/blog/976029/
    http://www.cnblogs.com/newsouls/p/3799760.html
    http://www.cnblogs.com/leslies2/archive/2012/09/07/leslies2Blog_java_axis.html
    http://blog.sina.com.cn/s/blog_6d187d270101cd3c.html
    http://blog.csdn.net/xiang520jl/article/details/15504175
    http://bbs.csdn.net/topics/230021916
    http://blog.csdn.net/kunga0814/article/details/42775331
    http://bbs.csdn.net/topics/220018567
    http://blog.csdn.net/fengyun111999/article/details/6057862
    http://www.hongxuejing.com/java/article-62.html
    http://www.blogjava.net/tianchijiaozi/archive/2013/03/15/396452.html

    七、项目文件

    1.Webservice服务

    http://pan.baidu.com/s/1hrU0KNq 

    2.调用方法

    http://pan.baidu.com/s/1kUCJJy3

    需要密码请联系本人

  • 相关阅读:
    百度统计图标消失了?
    C#中的变量类型var
    弗恩15693桌面读写器在win8下的测试
    JSON格式标准:http://www.ietf.org/rfc/rfc4627.txt?number=4627
    PHP中文乱码(转自百度文库)(记住:不管怎么样,用navicat创建数据库时选择utf8编码.)
    html2pdf:生成pdf应用
    win2003系统下apache、php、mysql安装以及虚拟主机和目录权限设置(转载)
    (转载)java环境变量配置
    (转)smarty里使用php函数
    (转载)php 知道某年中第几天计算出日期年月日
  • 原文地址:https://www.cnblogs.com/royi123/p/5510798.html
Copyright © 2011-2022 走看看