uTools-Manuals/docs/java/javax/xml/ws/FaultAction.html

189 lines
8.5 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.xml.ws
</div>
<h2 class="title" title="Annotation Type FaultAction">Annotation Type FaultAction</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre><a href="../../../java/lang/annotation/Documented.html" title="annotation in java.lang.annotation">@Documented</a>
<a href="../../../java/lang/annotation/Retention.html" title="annotation in java.lang.annotation">@Retention</a>(<a href="../../../java/lang/annotation/Retention.html#value--">value</a>=<a href="../../../java/lang/annotation/RetentionPolicy.html#RUNTIME">RUNTIME</a>)
<a href="../../../java/lang/annotation/Target.html" title="annotation in java.lang.annotation">@Target</a>(<a href="../../../java/lang/annotation/Target.html#value--">value</a>=<a href="../../../java/lang/annotation/ElementType.html#METHOD">METHOD</a>)
public @interface <span class="memberNameLabel">FaultAction</span></pre>
<div class="block">
<span>所述<code>FaultAction</code>注解用于内部<a href="../../../javax/xml/ws/Action.html" title="javax.xml.ws中的注释"><code>Action</code></a>注释以允许WS寻址的显式关联<code>Action</code>与消息寻址属性<code>fault</code>从异常类映射到的WSDL操作的消息。</span>
<p> <span><code>wsam:Action</code>在属性值<code>fault</code>在映射所生成的WSDL操作消息<code>className</code>类是等于在相应的值<code>FaultAction</code></span> <span>有关故障消息的<code>wsam:Action</code>值的精确计算请参考JAX-WS规范中的算法。</span> </p>
<p> <span><b>示例1</b> 如果Java方法仅抛出一个特定于服务的<code>input</code> <code>output</code><code>fault</code>消息指定<code>Action</code>消息寻址属性的显式值。</span> </p>
<pre> <span>@WebService(targetNamespace="http://example.com/numbers")
public class AddNumbersImpl {
@Action(
fault = {
<b>@FaultAction(className=AddNumbersException.class, value="http://example.com/faultAction")</b>
})
public int addNumbers(int number1, int number2)
throws AddNumbersException {
return number1 + number2;
}
}</span> </pre>
<span>生成的WSDL如下所示</span>
<pre> <span>&lt;definitions targetNamespace="http://example.com/numbers" ...&gt;
...
&lt;portType name="AddNumbersPortType"&gt;
&lt;operation name="AddNumbers"&gt;
...
&lt;fault message="tns:AddNumbersException" name="AddNumbersException"
<b>wsam:Action="http://example.com/faultAction"</b>/&gt;
&lt;/operation&gt;
&lt;/portType&gt;
...
&lt;/definitions&gt;</span> </pre>
<p> <span>示例2这是一个示例显示服务特定异常的<code>Action</code>消息寻址属性的显式值是否不存在。</span> </p>
<pre> <span>@WebService(targetNamespace="http://example.com/numbers")
public class AddNumbersImpl {
public int addNumbers(int number1, int number2)
throws AddNumbersException {
return number1 + number2;
}
}</span> </pre>
<span>生成的WSDL如下所示</span>
<pre> <span>&lt;definitions targetNamespace="http://example.com/numbers" ...&gt;
...
&lt;portType name="AddNumbersPortType"&gt;
&lt;operation name="AddNumbers"&gt;
...
&lt;fault message="tns:addNumbersFault" name="InvalidNumbers"
<b>wsam:Action="http://example.com/numbers/AddNumbersPortType/AddNumbers/Fault/AddNumbersException"</b>/&gt;
&lt;/operation&gt;
&lt;/portType&gt;
...
&lt;/definitions&gt;</span> </pre>
<p> <span>示例3下面是一个示例显示如果Java方法抛出多个服务特定异常则如何指定<code>Action</code>消息寻址属性的显式值。</span> </p>
<pre> <span>@WebService(targetNamespace="http://example.com/numbers")
public class AddNumbersImpl {
@Action(
fault = {
<b>@FaultAction(className=AddNumbersException.class, value="http://example.com/addFaultAction"), @FaultAction(className=TooBigNumbersException.class, value="http://example.com/toobigFaultAction")</b>
})
public int addNumbers(int number1, int number2)
throws AddNumbersException, TooBigNumbersException {
return number1 + number2;
}
}</span> </pre>
<span>生成的WSDL如下所示</span>
<pre> <span>&lt;definitions targetNamespace="http://example.com/numbers" ...&gt;
...
&lt;portType name="AddNumbersPortType"&gt;
&lt;operation name="AddNumbers"&gt;
...
&lt;fault message="tns:addNumbersFault" name="AddNumbersException"
<b>wsam:Action="http://example.com/addFaultAction"</b>/&gt;
&lt;fault message="tns:tooBigNumbersFault" name="TooBigNumbersException"
<b>wsam:Action="http://example.com/toobigFaultAction"</b>/&gt;
&lt;/operation&gt;
&lt;/portType&gt;
...
&lt;/definitions&gt;</span> </pre>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
JAX-WS 2.1
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.required.element.summary">
<!-- --> </a> <h3>Required Element Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Required Element Summary table, listing required elements, and an explanation">
<caption>
<span>Required Elements</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Required Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../java/lang/Class.html" title="class in java.lang"></a>&lt;? extends <a href="../../../java/lang/Exception.html" title="class in java.lang">异常</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/ws/FaultAction.html#className--">className</a></span></code>
<div class="block">
异常类的名称
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!-- --> </a> <h3>Optional Element Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption>
<span>Optional Elements</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/ws/FaultAction.html#value--">value</a></span></code>
<div class="block">
WS-Addressing的值Action
<code>Action</code>消息寻址属性
</div> </td>
</tr>
</tbody>
</table> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.element.detail">
<!-- --> </a> <h3>Element Detail</h3> <a name="className--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>className</h4> <pre>public abstract <a href="../../../java/lang/Class.html" title="class in java.lang"></a>&lt;? extends <a href="../../../java/lang/Exception.html" title="class in java.lang">异常</a>&gt; className</pre>
<div class="block">
异常类的名称
</div> </li>
</ul> </li>
</ul>
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="value--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>value</h4> <pre>public abstract <a href="../../../java/lang/String.html" title="class in java.lang">String</a> value</pre>
<div class="block">
WS-Addressing的值Action
<code>Action</code>消息寻址属性
</div>
<dl>
<dt>
Default:
</dt>
<dd>
""
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>