webService教程(JWS-java)_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > webService教程(JWS-java)

webService教程(JWS-java)

 2014/5/4 18:40:07  gu0600402203  程序员俱乐部  我要评论(0)
  • 摘要:一、简介与WebServices相关的J2EE技术称为JWS(JavaWebServices),其中含有JAX-WS、JAX-RS、JAXB、JAXR、SAAJ、StAX等技术。支持SOAP的是JAX-WS,即JSR224,JWS支持REST的是JAX-RS,即JSR311,?下面是本人经过学习webservices而自作的一个说明文档,此文档仅仅适用于初学者,文档中将webservices的创建过程、配置过程、调用过程进行了讲述,本webservices的创建基于JAX-WS
  • 标签:Web Service Webservice Java 教程

???
?一、简介?
??????? 与?WebServices?相关的?J2EE?技术称为?JWS(Java?WebServices),其中含有?JAX-WS、JAX-RS、JAXB、JAXR、SAAJ、StAX?等技术。?
支持?SOAP?的是?JAX-WS,即?JSR?224,

JWS?支持?REST?的是?JAX-RS,即?JSR?311,??
????? 下面是本人经过学习webservices而自作的一个说明文档,此文档仅仅适用于初学者,文档中将webservices的创建过程、配置过程、调用过程进行了讲述,本webservices的创建基于JAX-WS,对于xFire现在已基本放弃,不建议大家使用XFire,希望此文档可以帮到正在走弯路的童鞋,下面是对几种技术的简介:

?????? 1、JWS是Java语言对WebService服务的一种实现,用来开发和发布服务。而从服务本身的角度来看JWS服务是没有语言界限的。但是Java语言为Java开发者提供便捷发布和调用WebService服务的一种途径。?
?????? 2、Axis2是Apache下的一个重量级WebService框架,准确说它是一个Web?Services?/?SOAP?/?WSDL?的引擎,是WebService框架的集大成者,它能不但能制作和发布WebService,而且可以生成Java和其他语言版WebService客户端和服务端代码。这是它的优势所在。但是,这也不可避免的导致了Axis2的复杂性,使用过的开发者都知道,它所依赖的包数量和大小都是很惊人的,打包部署发布都比较麻烦,不能很好的与现有应用整合为一体。但是如果你要开发Java之外别的语言客户端,Axis2提供的丰富工具将是你不二的选择。?
??????? 3、XFire是一个高性能的WebService框架,在Java6之前,它的知名度甚至超过了Apache的Axis2,XFire的优点是开发方便,与现有的Web整合很好,可以融为一体,并且开发也很方便。但是对Java之外的语言,没有提供相关的代码工具。XFire后来被Apache收购了,原因是它太优秀了,收购后,随着Java6?JWS的兴起,开源的WebService引擎已经不再被看好,渐渐的都败落了。?
?????? 4、CXF是Apache旗下一个重磅的SOA简易框架,它实现了ESB(企业服务总线)。CXF来自于XFire项目,经过改造后形成的,就像目前的Struts2来自WebWork一样。可以看出XFire的命运会和WebWork的命运一样,最终会淡出人们的视线。CXF不但是一个优秀的Web?Services?/?SOAP?/?WSDL?引擎,也是一个不错的ESB总线,为SOA的实施提供了一种选择方案,当然他不是最好的,它仅仅实现了SOA架构的一部分。?

?????? 基于以上的认识,我们可以得知,虽然有了Java6,但是我们还可以选择Axis2、XFire、CXF等。我们不能指望有了Java6?JWS,就能异想天开去实施SOA。如果要与别的语言交互,也许我们还有赖于Axis2等等,当然这不是唯一选择,仅仅是一种可供选择的方案。?还有,目前很多企业的应用还是基于Java5的,而Java5的项目不会瞬间都升级到Java6,如果要在老项目上做扩展,我们还有赖于其他开源的WS引擎。

二、myclipse7.5创建服务器端webservice

1、创建java的web项目


2、创建外放到webservice的class类,如“Test”
?

?3、类和方法定好之后,在src上在键->other->myeclipse->web services 下选中web service,然后next,创建webservices选择

?



7、工具会自动生成所必须的文件:如XXDelegate.java的代理类,sun-jaxws.xml配置文件以及web.xml的启动配置文件。



?8、最后进行发布项目,启动服务。webservice成功

?

三、创建webservcie的客户端

1、创建web项目,(和上面的第一步一样)

2、创建web client项目:在src上右键——other——MyEclipse——Web?Services下选中Web?Service,然后Next,创建webservices选择



?选择“jax-ws”点击next

3、输入服务器的wsdl路径,选择输出的包路径,点击下一步:
?
?

?
?6、校验没有问题,选中jax-ws的Jar包,点击finish

7、点击finish系统会自动所有需要调用服务器端必须的文件?

?8、创建测试类,对服务器的功能进行调用:

package cn.topcheer.webservice.test;

import cn.topcheer.webservice.client.TestService;

public class Test {
	public static void main(String[] args)
	{
		TestService ts = new TestService();
		String aa = ts.getTestPort().getString();
		System.out.println(aa);
	}
}

?

四、问题:

写道 严重: Error configuring application listener of class
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServletContextListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3915) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)

?

?解决方案:遇到这个问题肯定是因为包的问题,此时解决方法有两种:??
1.?下载JAX-WS架包,放置到tomcat的lib下面http://jax-ws.java.net/.;

?

?2.?另外一种使用myeclipse自带的tomcat;??
?



?

  • 大小: 75.4 KB
  • 大小: 26.8 KB
  • 大小: 46.1 KB
  • 大小: 67.7 KB
  • 大小: 100.9 KB
  • 大小: 24.3 KB
  • 大小: 46.9 KB
  • 大小: 99.9 KB
  • 大小: 30.3 KB
  • 大小: 4.4 KB
  • 查看图片附件
发表评论
用户名: 匿名