使用寻址功能部件为 JAX-WS 应用程序启用 Web Service 寻址支持
对于 JAX-WS 应用程序,您可以通过在代码中使用寻址功能部件,在客户机应用程序的开发期间启用 WS-Addressing 支持。
关于此任务
- AddressingFeature - 如果您要发送包含的 WS-Addressing 头符合 2005/08 WS-Addressing 规范的消息,请使用此类。
- SubmissionAddressingFeature - 如果您要发送包含的 WS-Addressing 头符合 2004/08 WS-Addressing 规范的消息,请使用此类。
参数名称 | 可能的值 | 描述 |
---|---|---|
已启用 | true(缺省值) |
是否启用 WS-Addressing 支持。 |
required | true |
是否需要 WS-Addressing 头。 |
responses | Responses.All(缺省值) |
使用同步还是异步消息交换模式。指定 Responses.ANONYMOUS 以通过同步消息模式发送消息;使用 Responses.NON_ANONYMOUS 以通过异步消息交换模式发送消息。 注: SubmissionAddressingFeature 类不支持此参数。
|
注: 只能将寻址功能部件类与 SOAP(1.1 或 1.2)over HTTP 绑定配合使用。如果将类与其他绑定(例如,XML over HTTP)一起使用,那么将在客户机上抛出异常,并且在服务器上,Web Service 将无法部署。
过程
根据需要使用参数创建其中一个寻址功能部件类的实例。 例如,要指定启用且需要 WS-Addressing,并且使用 2005/08 规范和异步消息交换模式,请使用以下代码:
AddressingFeature feat = new AddressingFeature(true, true, AddressingFeature.Responses.NON_ANONYMOUS);
要指定为 2004/08 规范禁用 WS-Addressing,请使用以下代码:SubmissionAddressingFeature feat = new SubmissionAddressingFeature(false);
结果
如果指定启用了 WS-Addressing,那么客户机在 SOAP 消息中包含 WS-Addressing 头。头符合使用的功能部件类的类型表示的 WS-Addressing 规范。如果服务器不使用注释或使用策略集来启用 WS-Addressing,那么服务器将接受 2005/08 和 2004/08 规范。
如果您指定需要 WS-Addressing,且客户机接收到不包含 WS-Addressing 头的消息,那么客户机会返回故障。
如果您指定响应属性,将使用相应的消息交换模式。