完成《Building a POJO Annotation-Driven Service》。
WebService Annotation是JavaEE 5的一个特性,它使得创建和发布WebService变得非常简单。
一个普通的POJO的Java类,加上元注释,就变成了一个WebService。
把元注释直接写在Java代码中,这样就不用在发布描述的XML文件中定义了。
每个.java文件,既是一个普通的Java类,又是一个WebService,一举两得。
在开发人员一端,无需任何配置;在服务器一端,也无需任何配置。
开发人员被从繁琐的配置文件中解放出来,可以专心致志地编写逻辑部分。
之所以不需要开发人员做任何配置工作,是因为:
在发布时,JavaEE将对编译后Java类进行“内省”(introspects),动态创建出WebService所需的配置。
重点步骤说明:
1. 创建好POJO类以后,在类名上面增加@WebService 注释,表明这个类同时是一个WebService。
点击“黄色灯泡”,选择“Configure Project for WebServices”,会帮我们创建web.xml等必要文件。



JAX-WS jar包也帮我们import进来了。
2. 添加新的方法,在方法名上面增加@WebMethod 注释,表明这是一个WebService的operation。
根据输入的部门ID,返回该部门对象。

修改ServiceName。

测试WebService。点击后,会自动启动内嵌的WLS,然后自动发布WebService,并启动HTTP Analyzer。

输入条件,得到响应。在HTTP Analyzer中可以看到请求和响应SOAP消息。
注意,该Java方法本身返回的是部门对象。
而响应的SOAP消息是把该部门对象中所有属性,包括集合属性:员工,都非常“合理地展开”了。

可以查看WSDL内容。

Project 下载:WebServices (1).7z。
没有评论:
发表评论