Red Hat Training

A Red Hat training course is available for Red Hat Fuse

第 30 章 通用故障处理

摘要

JAX-WS 规范定义了两种类型的故障。个是通用 JAX-WS 运行时例外。另一个是消息处理过程中抛出的协议特定例外。

30.1. 运行时故障

概述

大多数 JAX-WS API 会抛出一个通用的 javax.xml.ws.WebServiceException 异常。

引发 WebServiceException 的 API

表 30.1 “Throw WebServiceException 的 API” 列出可引发通用 WebServiceException 异常的一些 JAX-WS API。

表 30.1. Throw WebServiceException 的 API

API原因

Binding.setHandlerChain()

处理程序链配置中有一个错误。

BindingProvider.getEndpointReference()

指定类没有从 W3CEndpointReference 分配。

Dispatch.invoke()

Dispatch 实例配置中有一个错误,或者在与服务通信时出现错误。

Dispatch.invokeAsync()

Dispatch 实例的配置中出现错误。

Dispatch.invokeOneWay()

Dispatch 实例配置中有一个错误,或者在与服务通信时出现错误。

LogicalMessage.getPayload()

当使用提供的 JAXBContext 解封有效负载时,会出现错误。WebServiceException 的 cause 字段包含原始 JAXBException。

LogicalMessage.setPayload()

设置消息有效负载时出现错误。如果使用 JAXBContext 时引发异常,WebServiceException 的 cause 字段包含原始 JAXBException。

WebServiceContext.getEndpointReference()

指定类没有从 W3CEndpointReference 分配。