`
javali
  • 浏览: 6302 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

[转] JAX-WS 2.0, an HelloWorld例子

阅读更多
JAX-RPC 1.1,开发人员需要写一个接口类Service Endpoint Interface(SEI),JAX-WS 2.0,开发人员一上来就可以直接写自己的实现类. 通过使用annotations,自动生成SEI和其他一些文件.这样有助于开发人员专注于自己想开发的部分,而不必要地分散精力去维护其他的一些附属文件.<o:p></o:p>

下面通过一个HelloWorld的例子来看看,JAX-WS 2.0 API的应用过程.程序是客户端传给服务端一个名字,经过服务端处理后,返回到客户端并打印出来.<o:p></o:p>

 <o:p></o:p>

一.   环境配置.<o:p></o:p>

1.      JDK 5.0  下载: http://java.sun.com/j2se/1.5.0/download.jsp<o:p></o:p>

2.      Java EE 5.0 App Server. <o:p></o:p>

   https://glassfish.dev.java.net/public/downloadsindex.html<o:p></o:p>

   本例中测试用了Build 37<o:p></o:p>

下载完毕后请设置一下Path.还有例子中使用的命令对应于Cygwin,如果用DosLinux的话,请适当更改相应的形式.

 <o:p></o:p>

例子中执行中的命令行以E:\jaxws20为基准,在其下面创造相对应的文件夹.<o:p></o:p>

 <o:p></o:p>

.编写建立服务端<o:p></o:p>

1.      实现类.<o:p></o:p>

 <o:p></o:p>

package endpoint;<o:p></o:p>

 <o:p></o:p>

import javax.jws.WebService;<o:p></o:p>

import javax.jws.WebMethod;<o:p></o:p>

 <o:p></o:p>

@WebService()   <o:p></o:p>

public class HelloWorld{<o:p></o:p>

    <o:p></o:p>

    //the implementation class must have a default public constructor<o:p></o:p>

    public HelloWorld() {};<o:p></o:p>

 <o:p></o:p>

    @WebMethod(operationName="sayHello", action="urn:SayHello")<o:p></o:p>

    public String sayHello(String name){<o:p></o:p>

              return "Hello "+ name + "!";<o:p></o:p>

    }<o:p></o:p>

}<o:p></o:p>

请注意实现类必须标注WebService(),还必须包括一个default public constructor.<o:p></o:p>

 <o:p></o:p>

2.      编译实现类.<o:p></o:p>

编译前,创造相应文件夹build/classes/service来保存class文件.还请注意命令在同一行.<o:p></o:p>

 

javac -classpath $GLASSFISH_HOME/lib/javaee.jar -d ./build/classes/service endpoint/HelloWorld.java<o:p></o:p>

 <o:p></o:p>

3.      生成相应文件<o:p></o:p>

E:\jaxws20,执行下面的命令,注意事先生成/build/generated.<o:p></o:p>

$GLASSFISH_HOME/bin/wsgen.bat-cp ./build/classes/service -keep -d ./build/classes/service -r ./build/generated -wsdl endpoint.HelloWorld

 <o:p></o:p>

通过这个命令,会生成相对应的WSDL文件.<o:p></o:p>

 <o:p></o:p>

4.      打包<o:p></o:p>

4.1   WEB-INF`结构准备<o:p></o:p>

    WEB-INF/classes/<o:p></o:p>

    WEB-INF/wsdl/<o:p></o:p>

 <o:p></o:p>

4.2  Web.xml<o:p></o:p>

WEB-INF/,编写下面的文件.<o:p></o:p>

     <!----><o:p></o:p>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"></web-app>

              xmlns:j2ee="http://java.sun.com/xml/ns/javaee"<o:p></o:p>

              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"<o:p></o:p>

              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee<o:p></o:p>

                                          http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><o:p></o:p>

 <o:p></o:p>

              <description></description>HelloWorld Service<o:p></o:p>

              <display-name></display-name>HelloWorldWAR<o:p></o:p>

 <o:p></o:p>

              <servlet></servlet><o:p></o:p>

                            <description></description>Endpoint for HelloWorld Web Service<o:p></o:p>

                            <display-name></display-name>HelloWorldWebService<o:p></o:p>

                            <servlet-name></servlet-name>HelloWorldPort<o:p></o:p>

                            <servlet-class></servlet-class>endpoint.HelloWorld<o:p></o:p>

                            <load-on-startup></load-on-startup>0<o:p></o:p>

              <o:p></o:p>

 <o:p></o:p>

              <servlet-mapping></servlet-mapping><o:p></o:p>

                            <servlet-name></servlet-name>HelloWorldPort<o:p></o:p>

                            <url-pattern></url-pattern>/HelloWorldService<o:p></o:p>

              <o:p></o:p>

              <session-config></session-config><o:p></o:p>

                            <session-timeout></session-timeout>60<o:p></o:p>

              <o:p></o:p>

<o:p></o:p>

 <o:p></o:p>

4.3 拷贝文件<o:p></o:p>

cp -r build/classes/service/endpoint ./WEB-INF/classes/<o:p></o:p>

cp build/generated/* archive/WEB-INF/wsdl/<o:p></o:p>

 <o:p></o:p>

4.4打包<o:p></o:p>

 jar cvf helloworld-webservice.war WEB-INF/<o:p></o:p>

 <o:p></o:p>

5.      配置<o:p></o:p>

  先启动服务器,<o:p></o:p>

asadmin.bat start-domain domain1<o:p></o:p>

  配置到服务器中,<o:p></o:p>

asadmin.bat deploy --user admin --password adminadmin --host localhost --port 4848 --contextroot helloworld-webservice --upload=true --target server helloworld-webservice.war<o:p></o:p>

 <o:p></o:p>

三.   客户端<o:p></o:p>

1.      客户端类.<o:p></o:p>

client/,<o:p></o:p>

package client;<o:p></o:p>

 <o:p></o:p>

import javax.xml.ws.WebServiceRef;<o:p></o:p>

import endpoint.HelloWorldService;<o:p></o:p>

import endpoint.HelloWorld;<o:p></o:p>

 <o:p></o:p>

public class WSClient{<o:p></o:p>

 <o:p></o:p>

       @WebServiceRef(wsdlLocation=<o:p></o:p>

       "http://localhost:8080/helloworld-webservice/HelloWorldService?WSDL")<o:p></o:p>

       <o:p></o:p>

       static HelloWorldService service;<o:p></o:p>

       <o:p></o:p>

       public static void main(String[] args){<o:p></o:p>

              try{<o:p></o:p>

                     WSClient client = new WSClient();<o:p></o:p>

                     client.callEndpoint(args[0]);<o:p></o:p>

              }catch(Exception e){<o:p></o:p>

                     e.printStackTrace();<o:p></o:p>

              }<o:p></o:p>

       }<o:p></o:p>

       <o:p></o:p>

       public void callEndpoint(String name){<o:p></o:p>

              try{<o:p></o:p>

                     HelloWorld port = service.getHelloWorldPort();<o:p></o:p>

                     System.out.println(port.sayHello(name));<o:p></o:p>

              }catch(Exception e){<o:p></o:p>

                     e.printStackTrace();<o:p></o:p>

              }<o:p></o:p>

       }<o:p></o:p>

}<o:p></o:p>

 <o:p></o:p>

2.      生成相关文件<o:p></o:p>

  在编译客户端类之前, 需要从服务端公开中的WSDL生成相关的文件.<o:p></o:p>

wsimport.bat -keep -d ./build/classes/client http://localhost:8080/helloworld-webservice/HelloWorldService?WSDL<o:p></o:p>

 <o:p></o:p>

3.      编译客户端类<o:p></o:p>

javac-d ./build/classes/client -classpath $GLASSFISH_HOME/lib/javaee.jar\;$GLASSFISH_HOME/lib/appserv-ws.jar\;./build/classes/client client/WSClient.java 

<o:p></o:p> 

四.   执行<o:p></o:p>

build/classes/client/,<o:p></o:p>

appclient.bat -mainclass  client.WSClient Duke<o:p></o:p>

 <o:p></o:p>

你会看到如下反馈<o:p></o:p>

Hello Duke!<o:p></o:p>

 <o:p></o:p>

追加: 通过下面的命令,可以卸掉装配好的war文件.<o:p></o:p>

 <o:p></o:p>

asadmin.bat undeploy --user admin --password adminadmin helloworld-webservice

Trackback URL: http://blogs.sun.com/xiaojun/entry/jax_ws_2_0_an

<o:p></o:p>

<o:p></o:p>

<o:p>另一篇文章:</o:p>

<o:p>来自:http://www.volitation.net/tools/List.asp?SelectId=278&ClassId=15 </o:p>

<o:p>
使用NetBeans 5.0和GlassFish建立JAX-WS 2.0服务

这篇文章说明使用NetBeans5.0GlassFish应用服务器如何创建JAX-WS2.0服务。使用NetBeansGlassFish的内置特征,你可以创建一个web services工程,它通过一个命令进行编译和测试。


第一部分描述如何设置NetBeans IDE和创建一个GlassFish库。第二部分包含了关于创建一个web service工程以及用到的示例代码的信息。最后一部分描述了利用这个工程创建你自己的web service的技巧,也作为从WSDL开始创建一个服务的指导。注意,JAX-WS2.0应用程序需要J2SE5.0。最新的JDK可以从http://java.sun.com下载。
注意:为了使用JAS-WS2.0工作空间创建web service,而不是使用GlassFish,要了解本文所代替的这个版本。
目录
1、 设置NetBeans和GlassFish
2、 建立一个工程
 从Java创建一个服务
 创建一个客户端
 使用NetBeans Web Services Registry
 调试应用程序
3、 技巧
 编写你自己的服务
 从WSDL创建一个服务
设置NetBeans和GlassFish
这篇文章使用NetBeans5.0 Beta2编写,更多关于NetBeans,包括这个应用程序的信息可以从NetBeans.org网站获得。如果你对这个集成开发环境还很陌生,站点上的向导和指南能帮你建立环境并运行起来。
为了获得GlassFish应用服务器,访问GlassFish网站并点击Download Now按钮。按照说明书安装一个GlassFish二进制包,使用build b28或者更新的版本。这篇文章在提及安装文件夹时将简化为“glassfish”文件夹。注意:由于在JAX-WS 中ant target的变化,文章中的例子只能在GlassFish build b28日期为11月23日或者更新的版本上运行。为了使用早期的版本,你必须改变wsimport及(或)wsgen target的属性。更多细节请参照JAX-WS或者GlassFish文档。
在NetBeans和GlassFish安装后,使用这些步骤将服务器增加到NetBeans中,然后创建要被工程用到的GlassFish库。在NetBeans中,点击菜单栏中的Tools,选择Server Manager。点击Add Server,从Server菜单中选择Sun Java System Application Server,然后为这个服务器输入一个名字,例如“GlassFish”,点击Next。在下一个屏幕上输入你的“glassfish”文件夹的路径,然后点击Next,接受注册器的默认域,点击“Next”。在最后一屏上,输入管理密码,点击“Finish”。随包的默认密码在GlassFish快速入门页面上给了出来。点击Close退出Server Manager。注意:当前在Runtime选项卡中Server节点下有两个可用的服务器。
为了创建工程中将要用到的库,点击菜单栏中的Tools,然后选择Library Manager。点击New Library,输入一个库名字,例如“GlassFish”。按OK,由于“ClassPath”选项卡仍旧打开着,点击Add JAR/Folder,浏览你的glassfish/lib文件夹,选择所有的jar文件(按下shift键同时,点击所选文件)。点击Add JAR/Folder,然后点击OK。这个库在创建服务时并不是必须的,因为在运行时GlassFish的一些jar文件已经包含在NetBeans的ClassPath中了。这个库在稍后运行测试客户端时将要用到。
建立一个应用程序
从Java创建一个服务
使用GlassFish创建一个web service的步骤比只使用JAX-WS代码和包含在NetBeans之中的Tomcat服务器要简单得多。不像那些这篇文章的这个版本中略述的步骤,在创建war文件前,你不需要使用wsgen创建服务器文件。你只需要创建服务端类,修改默认的web.xml文件,然后就可以进行发布了。
下面由创建一个新的web应用工程开始。在NetBeans中,选择菜单栏中的File,接着选择 New Project,在“Categories”下选择Web,在“Project”下选择Web Application,点击Next。在“Project Name”一栏中输入“SampleApp”,并且选择保存工程的位置。确保“Server”设置成了你的GlassFish应用服务器,并且去掉对“Set Source Level to 1.4”的选择(JAX-WS2.0需要JDK5),点击Finish。现在这个工程已经创建了,如果愿意,你也许要删除“index.jsp”。这个工程将会用到你服务端类作为Servlet类,并且GlassFish在发布时会将这个类转化为一个web service。
添加GlassFish库到新的工程中。在Project选项卡中,右键点击“Libraries”,选择Add Library。选择“GlassFish”库,然后点击Add Library。现在你应该告诉NetBeans,在产生的war文件中不包括GlassFish的jar文件(因为它们已经包含在了服务器中)。右键点击SampleApp工程,选择Properties。点击左面的Library节点,去掉“Compile-time Libraries”表格中紧挨着GlassFish选项的选择。作为一个可选(不过是有帮助的)步骤,点击Run节点,在“Relative URL”中输入“/hello?wsdl”。当程序运行时,它将会为这个web service的wsdl文件打开一个浏览器。点击OK。
增加服务类。右键点击“Source Packages”,选择New和Java Packages,输入“my.sample.server”,点击Finish。为了向这个包中增加一个类,在这个包节点上右键点击,选择New和Java Class。因为示例类已经写好,你可以将ServiceImpl.java保存到SampleApp/src/java/sample/server/文件夹下,NetBeans会找到它。如果你想要查看文件的内容,只需双击包节点下的这个文件的名字。你可以看到它是一个包含一个方法的简单Java类,还有一些在JAX-WS2.0运行时要用到的注释。
保存配置文件web.xml文件到SampleApp/web/WEB-INF/文件夹下。它将覆盖默认的那个,它指定ServiceImpl类作为servlet,以及servlet的名字,这个servlet的名字基于JAX-WS服务名+端口号。应用服务器将用到这个信息运行wsgen作为创建web service的必要条件。
为了创建和启动服务,从菜单栏中选择Run和Run Main Project,或者使用快捷键F6。NetBeans将会编译服务类、创建war文件、启动应用服务器和发布应用程序。如果NetBeans安装时都进行了适当的设置,一个浏览器将会被打开,显示web service的wsdl文件。如果你愿意你可以改变服务类,可以看到反射的wsdl发生的变化,只需要按下F6重新编译和发布服务。
创建一个客户端
对于一个包含web应用的完整应用程序,你将要为这个应用程序正常地创建一个新的工程。为了简单地创建一个客户端来测试我们新的web service,你可以使用NetBeans的单元测试功能。
由创建一个新的测试包入手。右键点击Projects选项卡中“Test Packages”,选择New和Java Packages。输入“my.sample.test”,点击Finish。一般来说,你可以通过右键点击这个测试包和选择New和Empty Test增加测试。对于本例,你可以保存ServiceTest.java到SampleApp/test/my/sample/test/文件夹下。打开这个文件查看测试时如何创建一个服务,然后是服务的代理器,对它调用hello(String)。注意:当你增加自己的客户端代码作为一个JUnit测试时,NetBeans希望名字的形式为“*Test.java”。
运行之前,增加这段xml到工程的build.xml文件中。为了编辑这个文件,你可以使用菜单栏中的File-〉Open File,或者打开Files选项卡而不是Projects,展开“SampleApp”节点,接着双击build.xml。NetBeans在编译和运行测试客户端之前就会调用这个target。当这个target运行时,它确保这个服务已经建立并且发布(如果需要重新编译)。关于wsimport工具的更多信息参见JAX-WS文档。
<!---->
<target name="-pre-compile-test"></target>
<taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport"></taskdef>
<classpath path="${javac.classpath}"></classpath>


<!---->
<antcall target="run"></antcall>

<echo></echo>running wsimport
debug="true"
keep="true"
destdir="test"
package="my.sample.test.generated"
wsdl="http://localhost:8080/SampleApp/hello?wsdl"/>

为了运行测试,从菜单栏中选择Run和Test Project,或者使用快捷键ALT-F6。在输出信息中,你应该可以看到从这个服务返回的“hello world”。
使用NetBeans Web Services Registry
作为测试服务的一个预备的方法,你可以使用NetBeans的Web Services Registry。在Runtime选项卡中,右键点击Web Services,然后选择Add Web Service。在“URL”中输入web service的地址,在这里是“http://localhost:8080/SampleApp/hello?wsdl”,点击Get Web Service Description。这将会产生有关这个web service的描述。为了测试“hello”操作,点击紧挨着操作名称的TestOperation。然后输入一个要发送的值,观察返回值(在这个要点上,为返回字符串增加一些文本来改变服务的接口类也许是非常有用的)。点击Close退出测试,如果你想添加这个服务到注册器中点击Add。
调试应用程序
单步遍历应用程序中的代码(和JAX-WS代码)非常简单。由在ServiceImpl.java(15行)中的System.out.println("Service received: " + s);行上放置断点开始。最快捷的方式就是打开文件,在要放置断点的行上点击编辑器的左边框。或者将鼠标放在该行上,然后使用Ctrl-F8(关于使用调试器的全部信息参见NetBeans的用户指南)。
在这一点上你可以在调试模式下使用Run—〉Debug Main Project启动服务器,除此之外你也可以一步运行客户端代码。为了实现这个功能,改变工程中的build.xml文件中 “-pre-compile-test”target的“antcall”行,由<antcall target="run"></antcall> 改为 <antcall target="debug"></antcall>。
<!---->
<antcall target="debug"></antcall>
现在再次运行客户端测试(例如按下Alt-F6)。在建立测试之前,NetBeans将会在调试模式下重启GlassFish服务器。在客户端启动后,调试器将会停止在ServiceImpl中适当的行上,你可以单步执行服务器代码。注意:如果你在JAX-WS工作空间中的某一行上增加了断点,Alt-F6将不会运行,直到你将焦点移回到SampleApp工程中的一个文件上,通过在编辑器中的产生一个文件,点击Projects选项卡中工程等等完成。如果你对应用程序做了修改,当再一次运行测试时,所有东西都必须重新编译。记住,为了停止测试会话,你可以通过选择菜单栏中的Run和Finish Debugger Session,或者通过点击工具栏中的停止按钮。
为了测试客户端代码,由在ServiceTest.java中test1()方法上放置断点开始。在Project视图中的这个文件上右击,选择Debug File(或者将其作为编辑器中的活动文件,对ServiceTest使用Ctrl-Alt-F5)。它会在调试器中启动客户端以及服务。
技巧
编写你自己的服务
为了编写你自己的服务,你可以从工程中移除“my.sample.server”包,然后增加一个新的,或者按照上面的步骤创建一个新的web工程。你仍旧需要配置文件web.xml到WEB-INF文件夹下,根据需要进行修改。在web.xml中,你应该只需要修改<servlet-name></servlet-name>和<servlet-class></servlet-class>元素(也可以修改<url-pattern></url-pattern>)。你可以使用这个build.xml文件,它有target来保存一个步骤。
为了帮助你正确得到两个配置文件和build.xml
</o:p>
分享到:
评论

相关推荐

    JAX-WS2.0 API

    JAX-WS 2.0是JAX-WS的第二个主要版本,它在JAX-RPC(Java API for XML-based RPC)的基础上进行了改进,引入了许多新特性以提升开发者的体验和效率。 **JAX-WS 2.0 的核心概念:** 1. **服务端点接口(SEI, ...

    设计与开发 JAX-WS 2.0 Web 服务

    ### 设计与开发 JAX-WS 2.0 Web 服务 #### JAX-WS 技术概述 JAX-WS(Java API for XML Web Services)是Java平台中用于简化Web服务开发的一项关键技术。该技术提供了全面的支持,使得开发者能够在Java环境中轻松...

    JAX-WS2.0规范

    ### JAX-WS 2.0 规范详解 #### 一、概述 JAX-WS(Java API for XML Web Services)2.0 是一种用于创建和访问 Web 服务的标准 Java API,它允许开发人员使用 Java 编写 Web 服务,并以 XML 的形式进行数据交换。JAX...

    jax-ws 2.0文档说明以及源码

    **Java API for XML Web Services(JAX-WS)2.0**是Java平台上的一个标准,用于构建和消费Web服务。它提供了简化Web服务开发的API,使得开发者能够以更面向对象的方式处理Web服务。本篇文章将深入探讨JAX-WS 2.0的...

    Asynchronous Web Service Invocation with JAX-WS 2.0

    JAX-WS 2.0 是Java API for XML Web Services的第二个主要版本,它引入了异步Web服务调用的功能,以解决在Service-Oriented Architecture(SOA)环境中开发响应迅速的Web服务客户端应用程序的挑战。由于Web服务调用...

    [Jax-RS] RESTful Java 开发 (Jax-RS 2.0 实现) (英文版)

    [奥莱理] RESTful Java 开发 (Jax-RS 2.0 实现) (英文版) [奥莱理] RESTful Java with JAX-RS 2.0 (E-Book) ☆ 图书概要:☆ Learn how to design and develop distributed web services in Java, using RESTful ...

    Jax-ws所需要的JAR包

    Java API for XML Web Services(JAX-WS)是Java平台上用于构建和消费Web服务的标准API。它简化了创建和使用Web服务的过程,使得开发者能够通过SOAP消息与远程服务进行交互。JAX-WS允许开发者将服务接口直接映射到...

    jax-rs jax-ws所需包,亲测可用

    标题"jax-rs jax-ws所需包,亲测可用"表明这个压缩包包含了用于开发Java RESTful Web服务(JAX-RS)和Java SOAP Web服务(JAX-WS)所需的库文件。这些库是Java应用程序进行Web服务交互的核心组件,确保了对HTTP协议...

    RESTful Java with JAX-RS 2.0

    《RESTful Java with JAX-RS 2.0》是一本专注于Java语言在构建RESTful服务方面的专著。作者Bill Burke以其在Java技术方面的深厚底蕴和对RESTful架构的深刻理解,引领读者深入理解并掌握JAX-RS 2.0标准。 书中首先...

    jax-ws api jar包

    在给定的压缩包文件"jax-ws api jar包"中,包含的是JAX-WS 2.2.1版本的API库,即`jaxws-api-2.2.1.jar`。这个jar文件是开发基于JAX-WS的Web服务所必需的依赖之一。以下是关于JAX-WS的一些核心知识点: 1. **服务端...

    解决weblogic部署JAX-WS需要的配置文件

    在WebLogic服务器上部署JAX-WS服务时,可能会遇到一些配置问题。JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于创建和部署Web服务。WebLogic作为一款强大的Java EE应用服务器,支持JAX-WS...

    JAX-WS的lib、src和docs

    3.众多元数据(Annotations)会被JAX-WS用来描述Web Services的相关类,包括Common Annotations, Web Services Metadata, JAXB2的元数据和JAX-WS2.0规范自己的元数据. 4.Annotation Processing Tool(APT)是JAX-WS重要的...

    一个包含jax-ws和jax-rs的例子(含服务端和客户端)

    标题中的“一个包含jax-ws和jax-rs的例子(含服务端和客户端)”是指这是一个示例项目,它演示了如何使用Java API for XML Web Services (JAX-WS)和Java API for RESTful Web Services (JAX-RS)来创建和消费Web服务。...

    jax-ws:有关JAX-WS 2.0的研究项目

    **JAX-WS 2.0 研究项目** JAX-WS(Java API for XML Web Services)是Java平台上用于构建和消费Web服务的标准API。这个研究项目专注于JAX-WS 2.0版本,它是JAX-WS的一个重要里程碑,引入了许多改进和新特性以增强...

    jax-ws webservice demo

    基于jax-ws 实现的web service client和server端的demo程序。 注:如果使用的是 myeclipse 时 server 部署到tomcat 启动的时候会报错 解决办法:找到myeclipse安装目录下的 plugins 目录里 查找 webservices-rt.jar,...

    JAX-WS2.1用户指南

    **JAX-WS2.1用户指南** JAX-WS(Java API for XML Web Services)是Java平台上用于创建Web服务的标准API,版本2.1是其一个重要里程碑。本指南将深入探讨JAX-WS 2.1的核心概念、功能以及如何在实际开发中应用它。...

    webservice之jax-ws

    【标题】:Web服务之Java API for XML Web Services (JAX-WS) 【内容详解】 JAX-WS,全称为Java API for XML Web Services,是Java平台上的一个标准,用于构建和部署基于SOAP(Simple Object Access Protocol)的...

    JAX-WS API, JAX-RS API

    **JAX-WS API** Java API for XML Web Services (JAX-WS) 是Java平台上的一个标准接口,用于创建和消费Web服务。它是Sun Microsystems在2004年推出的一个重要框架,旨在简化Web服务的开发,使得Java开发者能够更...

    如何基于JAX-WS开发一个WebService实例

    JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于创建和消费Web服务。本篇将深入讲解如何基于JAX-WS开发一个WebService实例。 首先,让我们了解JAX-WS的基本概念。JAX-WS提供了一种简单的方式...

    jax-ws用户指南 pdf版

    - **JAX-WS 2.0 中的 MTOM**:详细描述了 MTOM 在 JAX-WS 2.0 版本中的实现方式。 - **swaRef**:介绍了 swaRef 的概念及其在 JAX-WS 中的使用。 ##### SOAP 1.2 - **简介**:概述了 SOAP 1.2 的特点及其与 JAX-WS ...

Global site tag (gtag.js) - Google Analytics