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