BankControl.jcx Sample

This topic inludes the source code for the BankControl.jcx Sample.

Sample Location

This sample is located in the following directory in your WebLogic Workshop installation:

BEA_HOME/weblogic81/samples/workshop/SamplesApp/WebServices/creditReport/

Sample Source Code


001 package creditReport;
002 
003 /**
004  * Bank.jws is a very simple service for use by the CreditReport.jws sample service. Bank simulates a "long-running" procedure by using a timer to delay its asynchronous response. Note that Bank.jws and IRS.jws are identical except for method names and the default duration of the timer timeout.
005  * @jc:location http-url="Bank.jws" jms-url="Bank.jws"
006  * @jc:wsdl file="#BankWsdl"
007  * @editor-info:link autogen-style="java" source="Bank.jws" autogen="true"
008  */
009 public interface BankControl extends com.bea.control.ControlExtension, com.bea.control.ServiceControl
010 {
011     public static class StartHeader
012         implements java.io.Serializable
013     {
014         public java.lang.String conversationID;
015         public java.lang.String callbackLocation;
016     }
017     
018     public static class ContinueHeader
019         implements java.io.Serializable
020     {
021         public java.lang.String conversationID;
022     }
023     
024     public static class CallbackHeader
025         implements java.io.Serializable
026     {
027         public java.lang.String conversationID;
028     }
029     
030     
031     public interface Callback extends com.bea.control.ServiceControl.Callback
032     {
033         /**
034          <p>onDeliverAnalysis is a callback delivered to the client when processing is complete.</p>
035          * @jc:conversation phase="finish"
036          */
037         public void onDeliverAnalysis (java.lang.String result);
038 
039     }
040 
041     /**
042      <p>Starts the asynchronous analysis operation. When analysis is complete the onDeliverAnalysis callback will be called. If cancelAnalysis is invoked before the results are delivered, results will never be delivered.</p>
043      * @jc:conversation phase="start"
044      */
045     public void startCustomerAnalysis (java.lang.String ssn);
046 
047     /**
048      <p>Cancels the analysis. The onDeliverAnalysis callback will not be called and the conversation is finished.</p>
049      * @jc:conversation phase="finish"
050      */
051     public void cancelAnalysis ();
052 
053     static final long serialVersionUID = 1L;
054 }
055 
056 /** @common:define name="BankWsdl" value::
057     <?xml version="1.0" encoding="utf-8"?>
058     <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/" xmlns:cw="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:jms="http://www.openuri.org/2002/04/wsdl/jms/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://workshop.bea.com/Bank" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://workshop.bea.com/Bank">
059       <types>
060         <s:schema elementFormDefault="qualified" targetNamespace="http://workshop.bea.com/Bank" xmlns:s="http://www.w3.org/2001/XMLSchema">
061           <s:element name="onDeliverAnalysisResponse">
062             <s:complexType>
063               <s:sequence/>
064             </s:complexType>
065           </s:element>
066           <s:element name="onDeliverAnalysis">
067             <s:complexType>
068               <s:sequence>
069                 <s:element name="result" type="s:string" minOccurs="0"/>
070               </s:sequence>
071             </s:complexType>
072           </s:element>
073           <s:element name="startCustomerAnalysis">
074             <s:complexType>
075               <s:sequence>
076                 <s:element name="ssn" type="s:string" minOccurs="0"/>
077               </s:sequence>
078             </s:complexType>
079           </s:element>
080           <s:element name="startCustomerAnalysisResponse">
081             <s:complexType>
082               <s:sequence/>
083             </s:complexType>
084           </s:element>
085           <s:element name="cancelAnalysis">
086             <s:complexType>
087               <s:sequence/>
088             </s:complexType>
089           </s:element>
090           <s:element name="cancelAnalysisResponse">
091             <s:complexType>
092               <s:sequence/>
093             </s:complexType>
094           </s:element>
095         </s:schema>
096     
097         <s:schema elementFormDefault="qualified" targetNamespace="http://www.openuri.org/2002/04/soap/conversation/">
098           <s:element name="StartHeader" type="conv:StartHeader"/>
099           <s:element name="ContinueHeader" type="conv:ContinueHeader"/>
100           <s:element name="CallbackHeader" type="conv:CallbackHeader"/>
101           <s:complexType name="StartHeader">
102             <s:sequence>
103               <s:element minOccurs="0" maxOccurs="1" name="conversationID" type="s:string"/>
104               <s:element minOccurs="0" maxOccurs="1" name="callbackLocation" type="s:string"/>
105             </s:sequence>
106           </s:complexType>
107           <s:complexType name="ContinueHeader">
108             <s:sequence>
109               <s:element minOccurs="1" maxOccurs="1" name="conversationID" type="s:string"/>
110             </s:sequence>
111           </s:complexType>
112           <s:complexType name="CallbackHeader">
113             <s:sequence>
114               <s:element minOccurs="1" maxOccurs="1" name="conversationID" type="s:string"/>
115             </s:sequence>
116           </s:complexType>
117         </s:schema>
118       </types>
119       <message name="onDeliverAnalysisSoapIn">
120         <part name="parameters" element="s0:onDeliverAnalysisResponse"/>
121       </message>
122       <message name="onDeliverAnalysisSoapOut">
123         <part name="parameters" element="s0:onDeliverAnalysis"/>
124       </message>
125       <message name="startCustomerAnalysisSoapIn">
126         <part name="parameters" element="s0:startCustomerAnalysis"/>
127       </message>
128       <message name="startCustomerAnalysisSoapOut">
129         <part name="parameters" element="s0:startCustomerAnalysisResponse"/>
130       </message>
131       <message name="cancelAnalysisSoapIn">
132         <part name="parameters" element="s0:cancelAnalysis"/>
133       </message>
134       <message name="cancelAnalysisSoapOut">
135         <part name="parameters" element="s0:cancelAnalysisResponse"/>
136       </message>
137       <message name="onDeliverAnalysisHttpGetIn"/>
138       <message name="onDeliverAnalysisHttpGetOut">
139         <part name="result" type="s:string"/>
140       </message>
141       <message name="startCustomerAnalysisHttpGetIn">
142         <part name="ssn" type="s:string"/>
143       </message>
144       <message name="startCustomerAnalysisHttpGetOut"/>
145       <message name="cancelAnalysisHttpGetIn"/>
146       <message name="cancelAnalysisHttpGetOut"/>
147       <message name="onDeliverAnalysisHttpPostIn"/>
148       <message name="onDeliverAnalysisHttpPostOut">
149         <part name="result" type="s:string"/>
150       </message>
151       <message name="startCustomerAnalysisHttpPostIn">
152         <part name="ssn" type="s:string"/>
153       </message>
154       <message name="startCustomerAnalysisHttpPostOut"/>
155       <message name="cancelAnalysisHttpPostIn"/>
156       <message name="cancelAnalysisHttpPostOut"/>
157       <message name="StartHeader_literal">
158         <part name="StartHeader" element="conv:StartHeader"/>
159       </message>
160       <message name="ContinueHeader_literal">
161         <part name="ContinueHeader" element="conv:ContinueHeader"/>
162       </message>
163       <message name="CallbackHeader_literal">
164         <part name="CallbackHeader" element="conv:CallbackHeader"/>
165       </message>
166       <portType name="BankSoap">
167         <operation name="onDeliverAnalysis">
168           <documentation>&lt;p&gt;onDeliverAnalysis is a callback delivered to the client when processing is complete.&lt;/p&gt;</documentation>
169           <output message="s0:onDeliverAnalysisSoapOut"/>
170           <input message="s0:onDeliverAnalysisSoapIn"/>
171         </operation>
172         <operation name="startCustomerAnalysis">
173           <documentation>&lt;p&gt;Starts the asynchronous analysis operation. When analysis is complete the onDeliverAnalysis callback will be called. If cancelAnalysis is invoked before the results are delivered, results will never be delivered.&lt;/p&gt;</documentation>
174           <input message="s0:startCustomerAnalysisSoapIn"/>
175           <output message="s0:startCustomerAnalysisSoapOut"/>
176         </operation>
177         <operation name="cancelAnalysis">
178           <documentation>&lt;p&gt;Cancels the analysis. The onDeliverAnalysis callback will not be called and the conversation is finished.&lt;/p&gt;</documentation>
179           <input message="s0:cancelAnalysisSoapIn"/>
180           <output message="s0:cancelAnalysisSoapOut"/>
181         </operation>
182       </portType>
183       <portType name="BankHttpGet">
184         <operation name="onDeliverAnalysis">
185           <documentation>&lt;p&gt;onDeliverAnalysis is a callback delivered to the client when processing is complete.&lt;/p&gt;</documentation>
186           <output message="s0:onDeliverAnalysisHttpGetOut"/>
187           <input message="s0:onDeliverAnalysisHttpGetIn"/>
188         </operation>
189         <operation name="startCustomerAnalysis">
190           <documentation>&lt;p&gt;Starts the asynchronous analysis operation. When analysis is complete the onDeliverAnalysis callback will be called. If cancelAnalysis is invoked before the results are delivered, results will never be delivered.&lt;/p&gt;</documentation>
191           <input message="s0:startCustomerAnalysisHttpGetIn"/>
192           <output message="s0:startCustomerAnalysisHttpGetOut"/>
193         </operation>
194         <operation name="cancelAnalysis">
195           <documentation>&lt;p&gt;Cancels the analysis. The onDeliverAnalysis callback will not be called and the conversation is finished.&lt;/p&gt;</documentation>
196           <input message="s0:cancelAnalysisHttpGetIn"/>
197           <output message="s0:cancelAnalysisHttpGetOut"/>
198         </operation>
199       </portType>
200       <portType name="BankHttpPost">
201         <operation name="onDeliverAnalysis">
202           <documentation>&lt;p&gt;onDeliverAnalysis is a callback delivered to the client when processing is complete.&lt;/p&gt;</documentation>
203           <output message="s0:onDeliverAnalysisHttpPostOut"/>
204           <input message="s0:onDeliverAnalysisHttpPostIn"/>
205         </operation>
206         <operation name="startCustomerAnalysis">
207           <documentation>&lt;p&gt;Starts the asynchronous analysis operation. When analysis is complete the onDeliverAnalysis callback will be called. If cancelAnalysis is invoked before the results are delivered, results will never be delivered.&lt;/p&gt;</documentation>
208           <input message="s0:startCustomerAnalysisHttpPostIn"/>
209           <output message="s0:startCustomerAnalysisHttpPostOut"/>
210         </operation>
211         <operation name="cancelAnalysis">
212           <documentation>&lt;p&gt;Cancels the analysis. The onDeliverAnalysis callback will not be called and the conversation is finished.&lt;/p&gt;</documentation>
213           <input message="s0:cancelAnalysisHttpPostIn"/>
214           <output message="s0:cancelAnalysisHttpPostOut"/>
215         </operation>
216       </portType>
217       <binding name="BankSoap" type="s0:BankSoap">
218         <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
219         <operation name="onDeliverAnalysis">
220           <soap:operation soapAction="http://workshop.bea.com/Bank/onDeliverAnalysis" style="document"/>
221           <cw:transition phase="finish"/>
222           <input>
223             <soap:body use="literal"/>
224           </input>
225           <output>
226             <soap:body use="literal"/>
227             <soap:header wsdl:required="true" message="s0:CallbackHeader_literal" part="CallbackHeader" use="literal" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
228           </output>
229         </operation>
230         <operation name="startCustomerAnalysis">
231           <soap:operation soapAction="http://workshop.bea.com/Bank/startCustomerAnalysis" style="document"/>
232           <cw:transition phase="start"/>
233           <input>
234             <soap:body use="literal"/>
235             <soap:header wsdl:required="true" message="s0:StartHeader_literal" part="StartHeader" use="literal" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
236           </input>
237           <output>
238             <soap:body use="literal"/>
239           </output>
240         </operation>
241         <operation name="cancelAnalysis">
242           <soap:operation soapAction="http://workshop.bea.com/Bank/cancelAnalysis" style="document"/>
243           <cw:transition phase="finish"/>
244           <input>
245             <soap:body use="literal"/>
246             <soap:header wsdl:required="true" message="s0:ContinueHeader_literal" part="ContinueHeader" use="literal" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
247           </input>
248           <output>
249             <soap:body use="literal"/>
250           </output>
251         </operation>
252       </binding>
253       <binding name="BankHttpGet" type="s0:BankHttpGet">
254         <http:binding verb="GET"/>
255         <operation name="onDeliverAnalysis">
256           <http:operation location="/onDeliverAnalysis"/>
257           <cw:transition phase="finish"/>
258           <input>
259             <mime:mimeXml part="Body"/>
260           </input>
261           <output>
262             <http:urlEncoded/>
263           </output>
264         </operation>
265         <operation name="startCustomerAnalysis">
266           <http:operation location="/startCustomerAnalysis"/>
267           <cw:transition phase="start"/>
268           <input>
269             <http:urlEncoded/>
270           </input>
271           <output/>
272         </operation>
273         <operation name="cancelAnalysis">
274           <http:operation location="/cancelAnalysis"/>
275           <cw:transition phase="finish"/>
276           <input>
277             <http:urlEncoded/>
278           </input>
279           <output/>
280         </operation>
281       </binding>
282       <binding name="BankHttpPost" type="s0:BankHttpPost">
283         <http:binding verb="POST"/>
284         <operation name="onDeliverAnalysis">
285           <http:operation location="/onDeliverAnalysis"/>
286           <cw:transition phase="finish"/>
287           <input>
288             <mime:mimeXml part="Body"/>
289           </input>
290           <output>
291             <mime:content type="application/x-www-form-urlencoded"/>
292           </output>
293         </operation>
294         <operation name="startCustomerAnalysis">
295           <http:operation location="/startCustomerAnalysis"/>
296           <cw:transition phase="start"/>
297           <input>
298             <mime:content type="application/x-www-form-urlencoded"/>
299           </input>
300           <output/>
301         </operation>
302         <operation name="cancelAnalysis">
303           <http:operation location="/cancelAnalysis"/>
304           <cw:transition phase="finish"/>
305           <input>
306             <mime:content type="application/x-www-form-urlencoded"/>
307           </input>
308           <output/>
309         </operation>
310       </binding>
311       <service name="Bank">
312         <documentation>Bank.jws is a very simple service for use by the CreditReport.jws sample service. Bank simulates a "long-running" procedure by using a timer to delay its asynchronous response. Note that Bank.jws and IRS.jws are identical except for method names and the default duration of the timer timeout.</documentation>
313         <port name="BankSoap" binding="s0:BankSoap">
314           <soap:address location="http://localhost:7001/creditReport/Bank.jws"/>
315         </port>
316         <port name="BankHttpGet" binding="s0:BankHttpGet">
317           <http:address location="http://localhost:7001/creditReport/Bank.jws"/>
318         </port>
319         <port name="BankHttpPost" binding="s0:BankHttpPost">
320           <http:address location="http://localhost:7001/creditReport/Bank.jws"/>
321         </port>
322       </service>
323     </definitions>
324  * ::
325  */