在通过网络发送消息前后都可以使用处理程序来处理 SOAP 消息。这些处理程序通常用来处理 SOAP 头内容。头的规范是由 JAX-RPC 和 JSR 109 定义的。可以为 Web Service 和 Web Service 客户机配置处理程序。
对于已部署的 Web Service,可以将处理程序添加至部署描述符文件 webservice.xml。对于 J2EE 1.3 Web Service 客户机,处理程序将被添加至 webservicesclient.xml。对于 J2EE 1.4 Web Service 客户机,处理程序会被添加至相应的客户机部署描述符;对于 servlet 和 JSP,将把处理程序添加至 WEB-INF/web.xml;对于 EJB,将把处理程序添加至 META-INF/ejb-jar.xml;对于应用程序客户机,将把处理程序添加至 META-INF/application-client.xml。处理程序向导仅适用于使用 WebSphere® 运行时环境的 Web Service。
一旦创建了 Web Service 或客户机,就可以按如下所示配置处理程序:
- 右键单击适当的 Web Service 部署描述符文件,然后选择 。
- 要添加新的处理程序,单击处理程序配置下的添加。
- 输入类名或者浏览可用的类。将自动填充名称。 如果选择了为新处理程序生成框架类,则如果您输入一个尚不存在的类名,向导就会为您创建该类名。
- 如果可以将处理程序应用于多个可用端口,请选择正确的端口。
- 单击确定。
- 在将所有必需的处理程序添加至列表之后,可以通过更改这些处理程序在向导中的列示顺序来更改它们的处理顺序。单击完成。
当向导创建框架处理程序时,处理程序实现会自动在 Java™ 编辑器中打开。如果已经使用该向导创建了多个处理程序,则只有第一个处理程序将在 Java 编辑器中打开。
一旦添加了新的处理程序,就可以使用“部署描述符编辑器”或“Web Service 编辑器”来编辑该处理程序的配置。为此,双击 Web Service 或客户机部署描述符,然后选择 WS 处理程序或处理程序选项卡。还可以使用 Java 编辑器来编辑处理程序实现。
局限性:- 当前存在的一个问题是:在“处理程序配置”向导中添加处理程序之后,向导将在项目的主要源文件夹中生成新的框架处理程序 Java 文件,除非处理程序 Java 文件已经存在于同一位置,并且尚未选择“不要覆盖可装入的 Java 类”。向导不会检查 EAR 中的其它位置是否存在具有相同标准名称的处理程序。因此,当使用向导来添加已经存在于 EAR 中其它位置(例如,存在于项目中的另一个源文件夹或者存在于 EAR 的另一个模块中)的处理程序时,向导将编写新的框架处理程序,用来替代原始的处理程序类。如果发生这种情况,则应删除向导生成的框架处理程序。
- 如果在未保存更改的情况下打开 J2EE 部署描述符编辑器,然后启动“处理程序配置”向导来将处理程序添加至同一描述符,则尽管该向导将正确地完成操作,但您将无法保存在编辑器会话中进行的更改。如果您尝试保存这些更改,编辑器将生成这样一条消息:“文件已被修改。”。在使用“处理程序配置”向导来处理
J2EE 部署描述符文件(例如,webservices.xml、webservicesclient.xml、web-inf.xml、ejb-jar.xml 或 application-client.xml)中的处理程序之前,关闭对该描述符文件打开的任何编辑器。