`
redhacker
  • 浏览: 489515 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jdk6下开发webservice示例

 
阅读更多
在webservice流行的今天,如何构建webservice是很多java软件开发人员都想掌握的一门技术,在jdk6以前,我们构建webservice都需要一些开源的项目作为支持,例如xfire,但是jdk6一经发布,构建一个webservice在java开发领域变得非常就简单,下面笔者就简单介绍一下,如何使用jdk6构建一个webservice,并将其发布在tomcat上。

一、创建java项目ws_test_sample,将.class文件输出到WEB-INF\classes下。




二、新建java类如下:
package com.je.ws.sample;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService(name="helloService",  portName="helloServicePort", targetNamespace="http://www.javaedu.com")
public class HelloService {
	@WebMethod
	public String hello(String name) {
		return "Hello," + name;
	}
}


三、进入到E:\eclipsespace\ws_test_sample,执行

引用

E:\eclipsespace\ws_test_sample>wsgen -cp .\WEB-INF\classes -s .\src -d .\src com.je.ws.sample.HelloService


四、生成的文件结构如下:



五、编写webservice服务端测试类
package com.je.ws.sample;

import javax.xml.ws.Endpoint;


public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Endpoint.publish("http://127.0.0.1:8001/HelloServicePort", new HelloService());
	}

}


六、直接运行Test类,并在浏览器中输入:http://127.0.0.1:8001/HelloServicePort和http://127.0.0.1:8001/HelloServicePort?wsdl,测试webservice是否发布成功,见到如下画面,则webservice测试发布成功。







如果想将webservice发布到Tomcat上,则需要按照以下步骤进行:

一、在web.xml里加入:
<listener>
	<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>

<servlet>
	<servlet-name>WSServlet</servlet-name>
	<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
	<servlet-name>WSServlet</servlet-name>
	<url-pattern>/helloServicePort</url-pattern>
</servlet-mapping>


二、在WEB-INF下新建sun-jaxws.xml文件,其内容如下:
<endpoint name="HelloService" implementation="com.je.ws.sample.HelloService" url-pattern="/helloServicePort" />


三、在E:\eclipsespace\ws_test_sample\WEB-INF\lib下加入如下四个webservice相关的jar包




四、启动tomcat,访问:http://127.0.0.1:8088/ws/helloServicePort,得到如下画面:


可点击http://127.0.0.1:8088/ws/helloServicePort?wsdl得到如下画面:




此刻说明webservice在Tomcat上发布成功了!在下一篇博客里,我将告诉大家如何使用soapui来测试一个webservice,以及如何用使用java原生API通过http协议访问一个webservice。

如果您觉得本文对您有益,请点击博文后的google广告,对作者表示支持,谢谢!
  • 大小: 3.3 KB
  • 大小: 2.4 KB
  • 大小: 17.7 KB
  • 大小: 24.7 KB
  • 大小: 5.1 KB
  • 大小: 31.2 KB
  • 大小: 21.3 KB
分享到:
评论
4 楼 kevindurant 2015-07-15  

E:\eclipsespace\ws_test_sample>wsgen -cp .\WEB-INF\classes -s .\src -d .\src com.je.ws.sample.HelloService

  不太理解生成这个 jaxws目录有什么作用。。。我删掉了一样能跑,,似乎都没有用到
3 楼 redhacker 2013-07-02  
redhacker 写道
nannan408 写道
你这工程下了不能用啊,上传的时候不要去掉后缀 。

真的吗,第一次反映,我晚上检查下!

刚看了下,下载后将文件名修改成ws_test_sample.part1.rar,ws_test_sample.part2.rar,是可以解压出来了,解压中确实提示有文件毁坏,但代码是可以用的!
2 楼 redhacker 2013-05-27  
nannan408 写道
你这工程下了不能用啊,上传的时候不要去掉后缀 。

真的吗,第一次反映,我晚上检查下!
1 楼 nannan408 2013-05-24  
你这工程下了不能用啊,上传的时候不要去掉后缀 。

相关推荐

Global site tag (gtag.js) - Google Analytics