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&lt;T&gt; createDispatch(QName portName, java.lang.<span class="code-object">Class</span>&lt;T&gt; type, Service.Mode mode)
+<pre class="code-java"><span class="code-keyword">public</span> Dispatch&lt;T&gt; createDispatch(QName portName, java.lang.<span class="code-object">Class</span>&lt;T&gt; 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&lt;T&gt; createDispatch(QName portName, javax.xml.bind.JAXBContext context, Service.Mode mode)
+<pre class="code-java"><span class="code-keyword">public</span> Dispatch&lt;T&gt; 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&lt;t&gt;</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 &lt;T&gt; invokeAsync(T msg)
+<pre class="code-java">Response &lt;T&gt; 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&lt;?&gt; invokeAsync(T msg, AsyncHandler&lt;T&gt; handler)
+<pre class="code-java">Future&lt;?&gt; invokeAsync(T msg, AsyncHandler&lt;T&gt; handler)
 <span class="code-keyword">throws</span> WebServiceException;
 </pre>
 </div></div>
@@ -302,8 +295,7 @@ Future&lt;?&gt; 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&#160;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>