一,创建服务并发布:
输入项目名HelloWorld,framework选中xfire,然后下一步创建XFire Servlet和services.xml,如图所示:
默认情况下,会选中Servlet class为org.codehaus.xfire.transport.http.XFireConfigurableServlet,在创建Web Service Project向导完成之后,该XFire Servlet会自动在web.xml中配置好的。
接下来,添加XFire的库文件,如下所示:
单击完成就是完整的Web Service Project的创建。
这时候,可以看到工程中多了一个WebServices目录,该目录下面生成的就是services.xml文件,内容如下所示:
应用的部署描述符文件web.xml文件内容如下所示:
其实,就是配置了一个名称为XFireServlet的Servlet及其映射。
创建Web Service文件,如图所示:
单击下一步,如图所示:
需要选中Create new Java bean,然后创建Java Web Service,如图所示:
上面,HelloWorldService就是我们创建的服务的名称,可以通过这个字符串来调用相应的服务。
此时,services.xml文件中就会自动配置刚才定义的服务了,如下所示:
tk.shirdrn.webservice.IHelloWorldService
tk.shirdrn.webservice.HelloWorldServiceImpl
下面实现定义的服务,首先在接口类IHelloWorldService.java文件中修改并且添加所需要定义的服务:
package tk.shirdrn.webservice;
public interface IHelloWorldService {
public String showGreetings(String name);
public String getServerTime();
}
接着就要实现该接口,HelloWorldServiceImpl.java实现如下:
package tk.shirdrn.webservice;
public class HelloWorldServiceImpl implements IHelloWorldService {
public String getServerTime() {
String date = new java.util.Date().toLocaleString();
return date;
}
public String showGreetings(String name) {
String greetings = "Hello," + name + "!";
return greetings;
}
}
将该Web Service发布到Tomcat服务器上,并启动Tomcat WEB服务器。
可以在MyEclipse工具栏中看到快捷方式,如图所示:
打开Web Service Explorer,你会看到如图所示的Web Service Explorer界面:
如果不是第一次使用的话,可以直接在Actions框架页面中选择Browse来查找可用的URL;否则,你需要在Actions框架内填写正确的WSDL URL。例如这里使用的是:
http://localhost:8080/HelloWorld/services/HelloWorldService?WSDL
如果失败的话,在Status中会提示错误信息;如果成功的话,显示如下所示的界面:
现在可以调用Web Service了。
选中左侧导航栏服务中具体服务,就可以在右侧进行调用获得服务,如图所示:
上面,是直接使用MyEclipse内置的Web Service Explorer进行测试。另外,还可以直接在外部的浏览器中进行测试,例如,在IE浏览器地址栏中键入链接:
http://localhost:8080/HelloWorld/services/HelloWorldService?WSDL
可以在页面上看到如下所示的WSDL文件:
这也说明我们开发的Web Service发布成功。
Linux下web service的发布(tomcat)
先安装好jdk和tomcat
如果tomcat正常启动了,把windows下已经写好的webservice导出带.war后缀的包,放到tomcat/webapps下面就可以了,访问的地址跟windows下面的一样
Linux下设置开机启动tomcat
修改/usr/local/tomcat/bin/startup.sh为
export JAVA_HOME=/usr/java/jdk1.6.0_32
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$JAVA_HOME/bin:$PATH
export CATALINA_HOME=/usr/local/tomcat
/usr/local/tomcat/bin/catalina.sh start
在etc/rc.d/rc.local中加入:
/usr/local/tomcat/bin/startup.sh
1,启动tomcat服务 (必须要用第二种)
方式一:直接启动 ./startup.sh
方式二:作为服务启动 nohup ./startup.sh &
方式三:控制台动态输出方式启动 ./catalina.sh run
解释:
通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止,通过方式二可以作为linux服务一直运行
通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况,通过方式三可以以控制台模式启动tomcat服务,
直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。tomcat控制台信息包括log4j和System.out.println()等输出的信息。