window下搭建web service

由于项目需要,我这个做底层和系统的都需要搭建应用服务器了,网上找来的资料,对于做应用的来说肯定是小菜一碟了,这里只是做个笔记,勿喷!


一、

下载axis2-1.6.2-bin和axis2-1.6.2-war,地址如下:

二进制包和

war

二进制包和

war

http://axis.apache.org/axis2/java/core/download.cgi

Eclipse jee版本下载地址: 
http://mirrors.ustc.edu.cn/eclipse/technology/epp/downloads/release/indigo/SR2/eclipse-jee-indigo-SR2-win32.zip


二、

安装JDK1.7,这个地址有的下

http://www.veryhuo.com/down/html/43205.html

接着

    1、添加环境变量:在 我的电脑->属性->高级->环境变量

    2、新建系统变量,变量名:JAVA_HOME  变量值:C:\Program Files\Java\jdk1.7.0 (JDK的安装目录)

    3、在原有的系统变量 Path后面加上英文分号,再添加%JAVA_HOME%\bin;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jre\bin; 不要删除原来的。看清楚,它们之间的分号,是英文的分号。

    4、重启电脑生效(因为添加的是系统变量,如果你的系统是win7,则不需要重启)。

    5、测试JDK是否安装成功,运行->cmd ->D:  进入D盘,输入javac  看能否出来很多命令,出来则说明JDK配置成功


三、下载tomcat

http://tomcat.apache.org/

           1、Tomcat 7.0 的免安装版的配置(假如将Tomcat 解压到C:\Program Files目录,目录结构为:C:\Program Files\apache-tomcat-7.0.11

           2、添加环境变量:在 我的电脑->属性->高级->环境变量

           3、新建系统变量,变量名:CATALINA_HOME  变量值:C:\Program Files\apache-tomcat-7.0.11 (Tomcat 解压到的目录)。

           4、在系统变量  Path的最后面添加%CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar   注意它们之间的分号,一定是英文的分号。

           5、Tomcat 7.0的管理员的配置,进入C:\Program Files\apache-tomcat-7.0.11(Tomcat目录)下的conf目录,编辑tomcat-users.xml,找到最后的:

                                     <!--
                                           <role rolename="tomcat"/>
                                           <role rolename="role1"/>
                                           <user username="tomcat" password="tomcat" roles="tomcat"/>
                                           <user username="both" password="tomcat" roles="tomcat,role1"/>
                                           <user username="role1" password="tomcat" roles="role1"/>
                                      -->

                                  在上面这段后面  添加上:

                                            <role rolename="manager-gui"/>
                                            <role rolename="admin-gui"/>
                                            <user username="admin" password="admin888" roles="admin-gui"/>
                                             <user username="tomcat" password="tomcat" roles="manager-gui"/>

                                 红色为添加部分。  到这应该知道我们添加的管理员的用户名和密码是多少了吧!

           6、进入Tomcat 目录下的bin目录,双击startup.bat   启动Tomcat  在命令行窗口会出来英文提示。

           7、浏览器输入:http://localhost:8080  可以看到Tomcat的欢迎页面就说明配置成功了,点击右上角上manager连接,输入上面配置的用户名和密码,就可以进入管理页面。


四、

把下载后的war放入tomcat的webapps目录里,然后启动tomcat,这样war包就会自动解压为目录axis2;启动tomcat,在浏览器中输入http://localhost:8080/axis2/ ,如果一切正常你会看到下面的画面。


五、

就开始准备一下axis2的eclispe的插件了。axis2的eclispe插件分为2个,axis2-eclipse-codegen-plugin-1.6.2.zip和axis2-eclipse-service-plugin-1.6.2.zip。一个是帮助我们生成aar文件的,另一个是帮我们用wsdl文件生成stub代码的。地址如下:

http://mirrors.hust.edu.cn/apache/axis/axis2/java/core/1.6.2/

将下载好的zip包解压,复制到D:\eclipse\dropins目录下,重启eclipse,在菜单file -> new -> other -> Axis2 Wizards可以看到多了两个jar包

这样准备工作就都做好了,接下来就是正式开发了。


六、

axis2创建web service

新建一个java项目,内容如下:

package com.sinosoft.service;

public class SimpleServer {
	public String simpleMethod(String name){
		
		return name + "Say this is a simple method ^_^";
		
	}
}

这时候eclipse会自动编译类生成.class文件


后续的发布参考该地址的文章http://wenku.baidu.com/view/c11a8e8083d049649b665815.html,不过要说明几点

1. 选择java.class文件时候选到bin目录即可,不要选到最底层目录,否则提示找不到SimpleServer类

2. 最后运行客户端的SimpleClient时候弹出很多类型选择,这时候要选择com.sinosoft.service类,否则出现其他问题,正确log如下:

log4j:WARN No appenders could be found for logger (org.apache.axis2.description.AxisOperation).
log4j:WARN Please initialize the log4j system properly.
ztSay this is a simple method ^_^

以后每次启动tomcat要进入它所在文件夹运行startup.bat,关闭则用shutdown.bat


后来发现在ubuntu下也可以部署该服务,只需要下载 Eclipse jee的linux版本,Tomcat 7.0和axis2是通用的,搭建好了之后把war包放到webapps中,但是连接http://localhost:8080/axis2/services/,却是怎么都连不上,提示log如下:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<faultstring>
The service cannot be found for the endpoint reference (EPR) /axis2/services/
</faultstring>

搞了一整天,后来才发现地址错了,正确的是 http://localhost:8080/axis2/services/listServices,这个和windows下的有点不一样,额的个神啊!

以后每次启动tomca都要t进入它的所在目录运行./startup.sh,关闭则用./shutdown.sh


调用客户端的代码可以用axis2工具自动生成,命令如下:

%AXIS2_HOME%\bin\wsdl2java -uri http://localhost:8080/axis2/services/SimpleService?wsdl -p client -s -o stub

 其中-url参数指定了wsdl文件的路径,可以是本地路径,也可以是网络路径。-p参数指定了生成的Java类的包名,-o参数指定了生成的一系列文件保存的根目录。在执行完上面的命令后,读者就会发现在当前目录下多了个stub目录,在."stub"src"client目录可以找到一个SimpleServiceStub.java文件,该文件复杂调用WebService,读者可以在程序中直接使用这个类,代码如下:

	 SimpleServiceStub simpleserver = new SimpleServiceStub();
	 SimpleServiceStub.SimpleMethod method = new SimpleServiceStub.SimpleMethod();
	 method.setName("sclu ");
         System.out.print(simpleserver.simpleMethod(method).get_return());

具体参考http://www.blogjava.net/nokiaguy/archive/2009/04/archive/2009/nokiaguy/archive/2009/nokiaguy/archive/2009/01/02/249556.html,很不错的文章

KSOAP2传输复杂对象的文章:

http://developer.zdnet.com.cn/2008/0125/718302.shtml

  

你可能感兴趣的:(window下搭建web service)