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/security/roleBased/

Sample Source Code


001 package security.roleBased;
002 
003 /**
004  * @jc:location http-url="https://localhost:7002/WebServices/security/roleBased/Bank.jws"
005  * @jc:wsdl file="#BankWsdl"
006  */
007 public interface BankControl extends com.bea.control.ControlExtension, com.bea.control.ServiceControl
008 {
009     public static class StartHeader
010         implements java.io.Serializable
011     {
012         public java.lang.String conversationID;
013         public java.lang.String callbackLocation;
014     }
015     
016     public static class ContinueHeader
017         implements java.io.Serializable
018     {
019         public java.lang.String conversationID;
020     }
021     
022     public static class CallbackHeader
023         implements java.io.Serializable
024     {
025         public java.lang.String conversationID;
026     }
027     
028     
029     public interface Callback extends com.bea.control.ServiceControl.Callback
030     {
031         /**
032          * @jc:conversation phase="finish"
033          */
034         public void onResultComplete (java.lang.String accountID, java.lang.String resultMessage);
035 
036     }
037 
038     /**
039      * @jc:conversation phase="start"
040      */
041     public void doesAccountHaveSufficientBalance (java.lang.String accountID, int amount);
042 
043     static final long serialVersionUID = 1L;
044 }
045 
046 /** @common:define name="BankWsdl" value::
047     <?xml version="1.0" encoding="utf-8"?>
048     <!-- @editor-info:link autogen="true" source="Bank.jws" -->
049     <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">
050       <types>
051         <s:schema elementFormDefault="qualified" targetNamespace="http://workshop.bea.com/Bank" xmlns:s="http://www.w3.org/2001/XMLSchema">
052           <s:element name="onResultCompleteResponse">
053             <s:complexType>
054               <s:sequence/>
055             </s:complexType>
056           </s:element>
057           <s:element name="onResultComplete">
058             <s:complexType>
059               <s:sequence>
060                 <s:element name="accountID" type="s:string" minOccurs="0"/>
061                 <s:element name="resultMessage" type="s:string" minOccurs="0"/>
062               </s:sequence>
063             </s:complexType>
064           </s:element>
065           <s:element name="doesAccountHaveSufficientBalance">
066             <s:complexType>
067               <s:sequence>
068                 <s:element name="accountID" type="s:string" minOccurs="0"/>
069                 <s:element name="amount" type="s:int"/>
070               </s:sequence>
071             </s:complexType>
072           </s:element>
073           <s:element name="doesAccountHaveSufficientBalanceResponse">
074             <s:complexType>
075               <s:sequence/>
076             </s:complexType>
077           </s:element>
078         </s:schema>
079     
080         <s:schema elementFormDefault="qualified" targetNamespace="http://www.openuri.org/2002/04/soap/conversation/">
081           <s:element name="StartHeader" type="conv:StartHeader"/>
082           <s:element name="ContinueHeader" type="conv:ContinueHeader"/>
083           <s:element name="CallbackHeader" type="conv:CallbackHeader"/>
084           <s:complexType name="StartHeader">
085             <s:sequence>
086               <s:element minOccurs="0" maxOccurs="1" name="conversationID" type="s:string"/>
087               <s:element minOccurs="0" maxOccurs="1" name="callbackLocation" type="s:string"/>
088             </s:sequence>
089           </s:complexType>
090           <s:complexType name="ContinueHeader">
091             <s:sequence>
092               <s:element minOccurs="1" maxOccurs="1" name="conversationID" type="s:string"/>
093             </s:sequence>
094           </s:complexType>
095           <s:complexType name="CallbackHeader">
096             <s:sequence>
097               <s:element minOccurs="1" maxOccurs="1" name="conversationID" type="s:string"/>
098             </s:sequence>
099           </s:complexType>
100         </s:schema>
101       </types>
102       <message name="onResultCompleteSoapIn">
103         <part name="parameters" element="s0:onResultCompleteResponse"/>
104       </message>
105       <message name="onResultCompleteSoapOut">
106         <part name="parameters" element="s0:onResultComplete"/>
107       </message>
108       <message name="doesAccountHaveSufficientBalanceSoapIn">
109         <part name="parameters" element="s0:doesAccountHaveSufficientBalance"/>
110       </message>
111       <message name="doesAccountHaveSufficientBalanceSoapOut">
112         <part name="parameters" element="s0:doesAccountHaveSufficientBalanceResponse"/>
113       </message>
114       <message name="onResultCompleteHttpGetIn"/>
115       <message name="onResultCompleteHttpGetOut">
116         <part name="accountID" type="s:string"/>
117         <part name="resultMessage" type="s:string"/>
118       </message>
119       <message name="doesAccountHaveSufficientBalanceHttpGetIn">
120         <part name="accountID" type="s:string"/>
121         <part name="amount" type="s:string"/>
122       </message>
123       <message name="doesAccountHaveSufficientBalanceHttpGetOut"/>
124       <message name="onResultCompleteHttpPostIn"/>
125       <message name="onResultCompleteHttpPostOut">
126         <part name="accountID" type="s:string"/>
127         <part name="resultMessage" type="s:string"/>
128       </message>
129       <message name="doesAccountHaveSufficientBalanceHttpPostIn">
130         <part name="accountID" type="s:string"/>
131         <part name="amount" type="s:string"/>
132       </message>
133       <message name="doesAccountHaveSufficientBalanceHttpPostOut"/>
134       <message name="StartHeader_literal">
135         <part name="StartHeader" element="conv:StartHeader"/>
136       </message>
137       <message name="CallbackHeader_literal">
138         <part name="CallbackHeader" element="conv:CallbackHeader"/>
139       </message>
140       <portType name="BankSoap">
141         <operation name="onResultComplete">
142           <output message="s0:onResultCompleteSoapOut"/>
143           <input message="s0:onResultCompleteSoapIn"/>
144         </operation>
145         <operation name="doesAccountHaveSufficientBalance">
146           <input message="s0:doesAccountHaveSufficientBalanceSoapIn"/>
147           <output message="s0:doesAccountHaveSufficientBalanceSoapOut"/>
148         </operation>
149       </portType>
150       <portType name="BankHttpGet">
151         <operation name="onResultComplete">
152           <output message="s0:onResultCompleteHttpGetOut"/>
153           <input message="s0:onResultCompleteHttpGetIn"/>
154         </operation>
155         <operation name="doesAccountHaveSufficientBalance">
156           <input message="s0:doesAccountHaveSufficientBalanceHttpGetIn"/>
157           <output message="s0:doesAccountHaveSufficientBalanceHttpGetOut"/>
158         </operation>
159       </portType>
160       <portType name="BankHttpPost">
161         <operation name="onResultComplete">
162           <output message="s0:onResultCompleteHttpPostOut"/>
163           <input message="s0:onResultCompleteHttpPostIn"/>
164         </operation>
165         <operation name="doesAccountHaveSufficientBalance">
166           <input message="s0:doesAccountHaveSufficientBalanceHttpPostIn"/>
167           <output message="s0:doesAccountHaveSufficientBalanceHttpPostOut"/>
168         </operation>
169       </portType>
170       <binding name="BankSoap" type="s0:BankSoap">
171         <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
172         <operation name="onResultComplete">
173           <soap:operation soapAction="http://workshop.bea.com/Bank/onResultComplete" style="document"/>
174           <cw:transition phase="finish"/>
175           <input>
176             <soap:body use="literal"/>
177           </input>
178           <output>
179             <soap:body use="literal"/>
180             <soap:header wsdl:required="true" message="s0:CallbackHeader_literal" part="CallbackHeader" use="literal" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
181           </output>
182         </operation>
183         <operation name="doesAccountHaveSufficientBalance">
184           <soap:operation soapAction="http://workshop.bea.com/Bank/doesAccountHaveSufficientBalance" style="document"/>
185           <cw:transition phase="start"/>
186           <input>
187             <soap:body use="literal"/>
188             <soap:header wsdl:required="true" message="s0:StartHeader_literal" part="StartHeader" use="literal" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
189           </input>
190           <output>
191             <soap:body use="literal"/>
192           </output>
193         </operation>
194       </binding>
195       <binding name="BankHttpGet" type="s0:BankHttpGet">
196         <http:binding verb="GET"/>
197         <operation name="onResultComplete">
198           <http:operation location="/onResultComplete"/>
199           <cw:transition phase="finish"/>
200           <input>
201             <mime:mimeXml part="Body"/>
202           </input>
203           <output>
204             <http:urlEncoded/>
205           </output>
206         </operation>
207         <operation name="doesAccountHaveSufficientBalance">
208           <http:operation location="/doesAccountHaveSufficientBalance"/>
209           <cw:transition phase="start"/>
210           <input>
211             <http:urlEncoded/>
212           </input>
213           <output/>
214         </operation>
215       </binding>
216       <binding name="BankHttpPost" type="s0:BankHttpPost">
217         <http:binding verb="POST"/>
218         <operation name="onResultComplete">
219           <http:operation location="/onResultComplete"/>
220           <cw:transition phase="finish"/>
221           <input>
222             <mime:mimeXml part="Body"/>
223           </input>
224           <output>
225             <mime:content type="application/x-www-form-urlencoded"/>
226           </output>
227         </operation>
228         <operation name="doesAccountHaveSufficientBalance">
229           <http:operation location="/doesAccountHaveSufficientBalance"/>
230           <cw:transition phase="start"/>
231           <input>
232             <mime:content type="application/x-www-form-urlencoded"/>
233           </input>
234           <output/>
235         </operation>
236       </binding>
237       <service name="Bank">
238         <port name="BankSoap" binding="s0:BankSoap">
239           <soap:address location="http://localhost:7001/WebServices/security/roleBased/Bank.jws"/>
240         </port>
241         <port name="BankHttpGet" binding="s0:BankHttpGet">
242           <http:address location="http://localhost:7001/WebServices/security/roleBased/Bank.jws"/>
243         </port>
244         <port name="BankHttpPost" binding="s0:BankHttpPost">
245           <http:address location="http://localhost:7001/WebServices/security/roleBased/Bank.jws"/>
246         </port>
247       </service>
248     </definitions>
249  * ::
250  */