zoukankan      html  css  js  c++  java
  • Tomcat6.0+Jdk1.5+Axis1.3搭建java webservice环境,并使用c#调用该服务。

    java jdk:jdk1.5.0_17

    下载网址:http://pan.baidu.com/s/1gdmAkgV

    tomcat 6.0

    下载地址:http://tomcat.apache.org/download-60.cgi

    Axis1.3(注意现在已经版本已经是Axis2,而我们这里使用的是Axis1.x), Axis1.x运行环境要求低于jdk1.6(不包含jdk1.6),tomcat版本低于6.0(包含6.0):

    下载地址:http://pan.baidu.com/s/1gdmAkgV

    有了这些文件,还不够,我们还需要下载activation.jar mail.jar  soap.jar  xerces.jar(下载地址:http://pan.baidu.com/s/1gdmAkgV)四个包并且加入到用户库中

    环境参数配置:

    AXIS_LIB=D:javaapache-tomcat-6.0.44webappsaxisWEB-INFlib

    AXISCLASSPATH=%AXIS_LIB%axis.jar;%AXIS_LIB%commons-discovery-0.2.jar;%AXIS_LIB%commons-logging-1.0.4.jar;%AXIS_LIB%jaxrpc.jar;%AXIS_LIB%log4j-1.2.8.jar;%AXIS_LIB%saaj.jar;%AXIS_LIB%wsdl4j-1.5.1.jar;

    CATALINA_HOME=D:javaapache-tomcat-6.0.44

    CLASS_PATH=.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar;%CATALINA_HOME%libservlet-api.jar;%TOMCAT_HOME%/lib/soap.jar;%TOMCAT_HOME%/lib/mail.jar;%TOMCAT_HOME%/lib/activation.jar;%TOMCAT_HOME%/lib/xerces.jar;%AXISCLASSPATH%;

    JAVA_HOME=D:javajdk1.5.0_17

    Path在前边插入%JAVA_HOME%in;

    1,)将下载的axis1.3解压,把里边的webapps下的文件夹axis,拷贝到tomcat6.0的webapps文件夹下。

    2,)启动tomcat6.0,如果你还未安装tomcat6.0,需要进入目录:D:javaapache-tomcat-6.0.44in

    在cmd下,进入该目录,输入serivce.bat install进行tomcat6.0安装,安装完成后,找到D:javaapache-tomcat-6.0.44in omcat6w.exe双击,在弹出界面中点击start按钮,等待tomcat运行起来后;

    3,)访问网址:http://localhost:8080/axis

    如果界面显示如下:

    如果界面显示如上图,说明axis1.3已经发布成功。

    4,)打开文本创建类,写一个这样的java类:

     1 package com.group.webservices;
     2 
     3 public class WebServiceTest {
     4     /**
     5      * 接口
     6      * */
     7     public String validate(String name){
     8         String message="";
     9         message+= "<?xml version="1.0" encoding="UTF-8"?>";
    10         message+= "<root>";
    11         
    12         if(name!=null&&name.trim().length()>0){
    13             message+= "<resultCode>1056</resultCode>";
    14             message+= "<resultMsg>解析成功</resultMsg>";        
    15         }else{
    16             message+= "<resultCode>1050</resultCode>";
    17             message+= "<resultMsg>非法</resultMsg>";
    18         }
    19         
    20         message+= "</root>";
    21 
    22         return message;
    23     }
    24 }

    5,)在cmd中编译WebServiceTest.java,输入javac WebServiceTest.java回车,会在WebServiceTest.java目录下编译出一个WebServiceTest.class文件。

    6,)将文件WebServiceTest.class拷贝,到目录D:javaapache-tomcat-6.0.44webappsaxisWEB-INFclassescomgroupwebservices目录下(注意:D:javaapache-tomcat-6.0.44webappsaxisWEB-INFclasses的目录就是WebServiceTest.java的命名空间地址)

    7,)在D:javaapache-tomcat-6.0.44webappsaxisWEB-INF下新建文件deploy.wsdd

    文件内容:

    <deployment name="test" xmlns="http://xml.apache.org/axis/wsdd/" 
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    
    <service name="TestService" provider="java:RPC">
    <parameter name="className" value="com.group.webservices.WebServiceTest" />
    <parameter name="allowedMethods" value="validate" />
    </service>
    
    </deployment>

    8,)在cmd中发布webservice命令:

     java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd 

     你会发现目录下多了一个server-config.wsdd文件,这就是AXIS的配置文件,以后所有的服务发布描述都会在里面找到。(当然,你可以直接修改它,不用再写deploy.wsdd)然后打开浏览器http://localhost:8080/axis/servlet/AxisServlet,你就会看到你的服务已发布

    9,)点击发布服务,就可以看到url变动为:

    http://localhost:8080/axis/services/TestService?wsdl

    内容显示为:

     1 <wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/axis/services/TestService" xmlns:intf="http://localhost:8080/axis/services/TestService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://localhost:8080/axis/services/TestService">
     2   <!--
     3 WSDL created by Apache Axis version: 1.3
     4 Built on Oct 05, 2005 (05:23:37 EDT)
     5 -->
     6   <wsdl:message name="validateRequest">
     7     <wsdl:part name="in0" type="soapenc:string"/>
     8   </wsdl:message>
     9   <wsdl:message name="validateResponse">
    10     <wsdl:part name="validateReturn" type="soapenc:string"/>
    11   </wsdl:message>
    12   <wsdl:portType name="WebServiceTest">
    13     <wsdl:operation name="validate" parameterOrder="in0">
    14       <wsdl:input message="impl:validateRequest" name="validateRequest"/>
    15       <wsdl:output message="impl:validateResponse" name="validateResponse"/>
    16     </wsdl:operation>
    17   </wsdl:portType>
    18   <wsdl:binding name="TestServiceSoapBinding" type="impl:WebServiceTest">
    19     <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    20     <wsdl:operation name="validate">
    21       <wsdlsoap:operation soapAction=""/>
    22       <wsdl:input name="validateRequest">
    23         <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://webservices.group.com" use="encoded"/>
    24       </wsdl:input>
    25       <wsdl:output name="validateResponse">
    26         <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/TestService" use="encoded"/>
    27       </wsdl:output>
    28     </wsdl:operation>
    29   </wsdl:binding>
    30   <wsdl:service name="WebServiceTestService">
    31     <wsdl:port binding="impl:TestServiceSoapBinding" name="TestService">
    32       <wsdlsoap:address location="http://localhost:8080/axis/services/TestService"/>
    33     </wsdl:port>
    34   </wsdl:service>
    35 </wsdl:definitions>

    10,)使用c#调用该服务:

    将文件拷贝到新建的c#工程下:

    到此本已结束,多谢。

     参考文章:

    http://blog.csdn.net/zhangzhaokun/article/details/4582977

    http://blog.163.com/xiaohui_1123@126/blog/static/398052402010614114245570/

    http://wenku.baidu.com/link?url=ZS_A2cHKQthibUg5vdu1jqu5Mhh0__HGmB9-OHhTPQJ48kIWngSRr7XVhpJqGIyQ94HKKw1abOXataBJXiCHzZabjVRfKhfcAVoRaI1nEhC

    http://blog.csdn.net/hubin1989/article/details/40825407

    http://www.cnblogs.com/draem0507/archive/2012/09/13/2682720.html

    http://blog.sina.com.cn/s/blog_752ca76a01018275.html

  • 相关阅读:
    Delphi 多线程知识
    程序员最后归宿是什么?30或35想转行?
    做技术的最终出路!
    路在何方?分析程序员人生之路
    一个垂直滚动的插件
    jQuery 动画中 缓动效果的应用
    [转]jQuery性能优化指南 I
    jQuery 标记当前函数 开始写一个简单的插件
    我发现我写的这俩函数太好用了~~
    jQuery浏览器版本判断
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/4934847.html
Copyright © 2011-2022 走看看