You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bu...@apache.org on 2012/05/24 11:47:53 UTC
svn commit: r818932 - in /websites/production/cxf/content:
cache/docs.pageCache docs/jax-ws-dispatch-api.html
Author: buildbot
Date: Thu May 24 09:47:52 2012
New Revision: 818932
Log:
Production update by buildbot for cxf
Modified:
websites/production/cxf/content/cache/docs.pageCache
websites/production/cxf/content/docs/jax-ws-dispatch-api.html
Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/cxf/content/docs/jax-ws-dispatch-api.html
==============================================================================
--- websites/production/cxf/content/docs/jax-ws-dispatch-api.html (original)
+++ websites/production/cxf/content/docs/jax-ws-dispatch-api.html Thu May 24 09:47:52 2012
@@ -194,15 +194,13 @@ Apache CXF -- JAX-WS Dispatch API
<p>To create a <tt>Dispatch</tt> object do the following:</p>
<ol><li>Create a <tt>Service</tt> object to represent the <tt>wsdl:service</tt> element defining the service on which the <tt>Dispatch</tt> object will make invocations.</li><li>Create the <tt>Dispatch</tt> object using the <tt>Service</tt> object's <tt>createDispatch()</tt> method.
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">public</span> Dispatch<T> createDispatch(QName portName, java.lang.<span class="code-object">Class</span><T> type, Service.Mode mode)
+<pre class="code-java"><span class="code-keyword">public</span> Dispatch<T> createDispatch(QName portName, java.lang.<span class="code-object">Class</span><T> type, Service.Mode mode)
<span class="code-keyword">throws</span> WebServiceException;
</pre>
</div></div>
<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">If you are using JAXB objects the method signature for <tt>createDispatch()</tt> is:
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">public</span> Dispatch<T> createDispatch(QName portName, javax.xml.bind.JAXBContext context, Service.Mode mode)
+<pre class="code-java"><span class="code-keyword">public</span> Dispatch<T> createDispatch(QName portName, javax.xml.bind.JAXBContext context, Service.Mode mode)
<span class="code-keyword">throws</span> WebServiceException;
</pre>
</div></div></td></tr></table></div></li></ol>
@@ -216,8 +214,7 @@ Apache CXF -- JAX-WS Dispatch API
<p>The code below creates a <tt>Dispatch</tt> object that works with <tt>DOMSource</tt> objects in payload mode.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">package</span> com.mycompany.demo;
+<pre class="code-java"><span class="code-keyword">package</span> com.mycompany.demo;
<span class="code-keyword">import</span> javax.xml.namespace.QName;
<span class="code-keyword">import</span> javax.xml.ws.Service;
@@ -253,8 +250,7 @@ Apache CXF -- JAX-WS Dispatch API
<p>For consumers that make synchronous invocations that generate a response, you use the <tt>Dispatch</tt> object's <tt>invoke()</tt> method shown bellow.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-T invoke(T msg)
+<pre class="code-java">T invoke(T msg)
<span class="code-keyword">throws</span> WebServiceException;
</pre>
</div></div>
@@ -262,11 +258,10 @@ T invoke(T msg)
<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">When using JAXB objects, the response and the request can be of any type the provided <tt>JAXBContext</tt> object can marshal and unmarshal. Also, the response and the request can be different JAXB objects.</td></tr></table></div>
<p>The code bellow makes a synchronous invocation on a remote service using a <tt>DOMSource</tt> object.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-comment">// Creating a DOMSource <span class="code-object">Object</span> <span class="code-keyword">for</span> the request
+<pre class="code-java"><span class="code-comment">// Creating a DOMSource <span class="code-object">Object</span> <span class="code-keyword">for</span> the request
</span>DocumentBuilder db = DocumentBuilderFactory.newDocumentBuilder();
Document requestDoc = db.newDocument();
-Element root = requestDoc.createElementNS(<span class="code-quote">"http:<span class="code-comment">//org.apache.cxf/stockExample"</span>,
+Element root = requestDoc.createElementNS(<span class="code-quote">"http:<span class="code-comment">//org.apache.cxf/stockExample"</span>,
</span> <span class="code-quote">"getStockPrice"</span>);
root.setNodeValue(<span class="code-quote">"DOW"</span>);
DOMSource request = <span class="code-keyword">new</span> DOMSource(requestDoc);
@@ -282,16 +277,14 @@ DOMSource request = <span class="code-ke
<p>When using the polling approach the <tt>invokeAsync()</tt> method returns a <tt>Response<t></tt> object that can be periodically polled to see if the response has arrived.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-Response <T> invokeAsync(T msg)
+<pre class="code-java">Response <T> invokeAsync(T msg)
<span class="code-keyword">throws</span> WebServiceException;
</pre>
</div></div>
<p>When using the callback approach the <tt>invokeAsync()</tt> method takes an <tt>AsyncHandler</tt> implementation that processes the response when it is returned.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-Future<?> invokeAsync(T msg, AsyncHandler<T> handler)
+<pre class="code-java">Future<?> invokeAsync(T msg, AsyncHandler<T> handler)
<span class="code-keyword">throws</span> WebServiceException;
</pre>
</div></div>
@@ -302,8 +295,7 @@ Future<?> invokeAsync(T msg, Async
<p>When a request does not generate a response, you make remote invocations using the <tt>Dispatch</tt> object's <tt>invokeOneWay()</tt>.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-void invokeOneWay(T msg)
+<pre class="code-java">void invokeOneWay(T msg)
<span class="code-keyword">throws</span> WebServiceException;
</pre>
</div></div>
@@ -311,8 +303,7 @@ void invokeOneWay(T msg)
<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">When using JAXB objects, the response and the request can be of any type the provided <tt>JAXBContext</tt> object can marshal and unmarshal. Also, the response and the request can be different JAXB objects.</td></tr></table></div>
<p>The code bellow makes a one way invocation on a remote service using a JAXB object.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-comment">// Creating a JAXBContext and an Unmarshaller <span class="code-keyword">for</span> the request
+<pre class="code-java"><span class="code-comment">// Creating a JAXBContext and an Unmarshaller <span class="code-keyword">for</span> the request
</span>JAXBContext jbc = JAXBContext.newInstance(<span class="code-quote">"com.mycompany.StockExample"</span>);
Unmarshaller u = jbc.createUnmarshaller();
@@ -323,7 +314,15 @@ GetStockPrice request = (GetStockPrice)u
<span class="code-comment">// Dispatch disp created previously
</span>disp.invokeOneWay(request);
</pre>
-</div></div></div>
+</div></div>
+
+
+<h4><a shape="rect" name="JAX-WSDispatchAPI-OperationDetermination"></a>Operation Determination</h4>
+
+<p>When using a <tt>Dispatch</tt> client with a WSDL file, the operation name will be set under one of the following cases.</p>
+
+<ul><li>The javax.xml.ws.handler.MessageContext.WSDL_OPERATION property of the request context is set with the operation QName.</li><li>The addressing feature is enabled (in the bus or at the endpoint) and there is a matching operation to the payload element.</li><li>The "<font color="#222222">find.dispatch.operation" property of the request context is set to Boolean.TRUE and there is a matching operation to the payload element. This property is not set by default.</font><font color="#222222">Determining the correct operation will affect the processing such as setting the correct SOAPAction or WS-Addressing's Action.</font></li></ul>
+</div>
</div>
<!-- Content -->
</td>