快速业务通道

使用NetBeans 5.0和GlassFish建立JAX-WS 2.0服务 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
“my.sample.server”包,然后增加一个新的,或者按照上面的步骤创建一个新的web工程。你仍旧需要配置文件web.xml到WEB-INF文件夹下,根据需要进行修改。在web.xml中,你应该只需要修改<servlet-name>和<servlet-class>元素(也可以修改<url-pattern>)。你可以使用这个build.xml文件,它有target来保存一个步骤。

为了帮助你正确得到两个配置文件和build.xml的值,最简单的途径是开始尝试编译,让编译器或者运行时错误来告诉你应该做什么(别忘了查看GlassFish的输出)。对于新的工程和新的服务文件(例如NewService.java),通过Build—〉Clean和Build Main Project或者Shift-F11进行完全地编译,然后运行这个工程。从这一点看需要修改的地方有:

1、修改web.xml文件,使用新的servlet名字(如GlassFish日志所示)。

2、修改web.xml中的<servlet-name>以匹配新的服务名加上“Port”。(对NewService.java而言,servlet名字就是FooPort)

其它步骤就是指明在客户端代码中要使用的服务名称、端口名称和端口方法。这个可以通过运行测试完成(先将测试方法留空)。看看在build/test/classes下产生了哪些文件。为了指出wsimport工具的正确位置,改变build.xml文件中“-pre-compile”target的wsimport元素的wsdl属性值。如果NetBeans在浏览器中产生了发布后的服务,你可以剪切/复制这些信息。如果需要修改wsimport的“package”属性。

从WSDL创建一个服务

为了从一个wsdl创建一个服务,主要的步骤有:增加wsdl文件,增加一个基础的服务接口类,在build.xml文件中增加一个“-pre-compile”target而不是“-pre-dist”。如果你不知道要为服务接口类增加什么方法或者它应该实现什么接口,可以开始编译工程,然后就可以从产生的代码和编译错误中快速得到所需信息。这些步骤和上面产生客户端代码类似。下面要用到的例子要勾画出这些步骤的轮廓,而不是重复如由Java开始的例子的所有细节。

1、如前创建的一个新的web工程,如果你需要就移除index.jsp。增加GlassFish库。

2、在WEB-INF目录下,添加一个叫做“wsdl”的新文件夹,添加hello.wsdl到这个目录下。

3、添加两个文件web.xml和sun-jaxws.xml到WEB-INF文件夹下。注意:web.xml和从Java开始创建工程一样。sun-jaxws.xml文件中有一些新信息:定义了终端的wsdl文件服务和端口名称,和wsdl文件在war文件中的位置。

4、创建一个源文件包“formwsdl.sample.wsdl”,然后复制HelloImpl.java到这个包中。注意类名要匹配sun-jaxws.xml文件中指定的名字。当创建了你自己的服务,你也许从一个空的类开始,然后增加基于工程编译时产生的代码的接口和方法。

5、覆盖build.xml文件的“-pre-compile”target。对于这个例子,你可以使用这个build.xml。注意服务包和wsdl信息已经在这个简单的build.xml文件中指定了,但是客户端测试信息并没有。

6、一旦编译完成,如上运行应用程序。别忘了编辑工程属性,增加url-pattern以至于可以在浏览器中查看服务。

-pre-compile的一般形式如下所示:

<target name="-pre-compile"> <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport"> <classpath path="${javac.classpath}"/> </taskdef><echo>running wsimport</echo> <-- The wsdl attribute is absolute path, so ${basedir} is included. The package name below will be used for the generated interface class that your impl class must implement. --> <wsimpor

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号