TargetControl.jcx Sample
This topic inludes the source code for the TargetControl.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/wsse/callback/client/
Sample Source Code
001 package security.wsse.callback.client;
002
003 /**
004 * @jc:location http-url="http://localhost:7001/WebServices/security/wsse/callback/target/Target.jws"
005 * @jc:wsdl file="#TargetWsdl"
006 * @jc:ws-security-service file="TargetControlPolicy.wsse"
007 * @jc:ws-security-callback file="TargetControlPolicy.wsse"
008 */
009 public interface TargetControl 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 * @jc:conversation phase="finish"
035 */
036 public void callback (java.lang.String message);
037
038 }
039
040 /**
041 * @jc:conversation phase="start"
042 */
043 public void hello ();
044
045 static final long serialVersionUID = 1L;
046 }
047
048 /** @common:define name="TargetWsdl" value::
049 <?xml version="1.0" encoding="utf-8"?>
050 <!-- @editor-info:link autogen="true" source="Target.jws" -->
051 <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/Target" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://workshop.bea.com/Target">
052 <types>
053 <s:schema elementFormDefault="qualified" targetNamespace="http://workshop.bea.com/Target" xmlns:s="http://www.w3.org/2001/XMLSchema">
054 <s:element name="hello">
055 <s:complexType>
056 <s:sequence/>
057 </s:complexType>
058 </s:element>
059 <s:element name="helloResponse">
060 <s:complexType>
061 <s:sequence/>
062 </s:complexType>
063 </s:element>
064 <s:element name="callbackResponse">
065 <s:complexType>
066 <s:sequence/>
067 </s:complexType>
068 </s:element>
069 <s:element name="callback">
070 <s:complexType>
071 <s:sequence>
072 <s:element name="message" type="s:string" minOccurs="0"/>
073 </s:sequence>
074 </s:complexType>
075 </s:element>
076 </s:schema>
077
078 <s:schema elementFormDefault="qualified" targetNamespace="http://www.openuri.org/2002/04/soap/conversation/">
079 <s:element name="StartHeader" type="conv:StartHeader"/>
080 <s:element name="ContinueHeader" type="conv:ContinueHeader"/>
081 <s:element name="CallbackHeader" type="conv:CallbackHeader"/>
082 <s:complexType name="StartHeader">
083 <s:sequence>
084 <s:element minOccurs="0" maxOccurs="1" name="conversationID" type="s:string"/>
085 <s:element minOccurs="0" maxOccurs="1" name="callbackLocation" type="s:string"/>
086 </s:sequence>
087 </s:complexType>
088 <s:complexType name="ContinueHeader">
089 <s:sequence>
090 <s:element minOccurs="1" maxOccurs="1" name="conversationID" type="s:string"/>
091 </s:sequence>
092 </s:complexType>
093 <s:complexType name="CallbackHeader">
094 <s:sequence>
095 <s:element minOccurs="1" maxOccurs="1" name="conversationID" type="s:string"/>
096 </s:sequence>
097 </s:complexType>
098 </s:schema>
099 </types>
100 <message name="helloSoapIn">
101 <part name="parameters" element="s0:hello"/>
102 </message>
103 <message name="helloSoapOut">
104 <part name="parameters" element="s0:helloResponse"/>
105 </message>
106 <message name="callbackSoapIn">
107 <part name="parameters" element="s0:callbackResponse"/>
108 </message>
109 <message name="callbackSoapOut">
110 <part name="parameters" element="s0:callback"/>
111 </message>
112 <message name="helloHttpGetIn"/>
113 <message name="helloHttpGetOut"/>
114 <message name="callbackHttpGetIn"/>
115 <message name="callbackHttpGetOut">
116 <part name="message" type="s:string"/>
117 </message>
118 <message name="helloHttpPostIn"/>
119 <message name="helloHttpPostOut"/>
120 <message name="callbackHttpPostIn"/>
121 <message name="callbackHttpPostOut">
122 <part name="message" type="s:string"/>
123 </message>
124 <message name="StartHeader_literal">
125 <part name="StartHeader" element="conv:StartHeader"/>
126 </message>
127 <message name="CallbackHeader_literal">
128 <part name="CallbackHeader" element="conv:CallbackHeader"/>
129 </message>
130 <portType name="TargetSoap">
131 <operation name="hello">
132 <input message="s0:helloSoapIn"/>
133 <output message="s0:helloSoapOut"/>
134 </operation>
135 <operation name="callback">
136 <output message="s0:callbackSoapOut"/>
137 <input message="s0:callbackSoapIn"/>
138 </operation>
139 </portType>
140 <portType name="TargetHttpGet">
141 <operation name="hello">
142 <input message="s0:helloHttpGetIn"/>
143 <output message="s0:helloHttpGetOut"/>
144 </operation>
145 <operation name="callback">
146 <output message="s0:callbackHttpGetOut"/>
147 <input message="s0:callbackHttpGetIn"/>
148 </operation>
149 </portType>
150 <portType name="TargetHttpPost">
151 <operation name="hello">
152 <input message="s0:helloHttpPostIn"/>
153 <output message="s0:helloHttpPostOut"/>
154 </operation>
155 <operation name="callback">
156 <output message="s0:callbackHttpPostOut"/>
157 <input message="s0:callbackHttpPostIn"/>
158 </operation>
159 </portType>
160 <binding name="TargetSoap" type="s0:TargetSoap">
161 <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
162 <operation name="hello">
163 <soap:operation soapAction="http://workshop.bea.com/Target/hello" style="document"/>
164 <cw:transition phase="start"/>
165 <input>
166 <soap:body use="literal"/>
167 <soap:header wsdl:required="true" message="s0:StartHeader_literal" part="StartHeader" use="literal" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
168 </input>
169 <output>
170 <soap:body use="literal"/>
171 </output>
172 </operation>
173 <operation name="callback">
174 <soap:operation soapAction="http://workshop.bea.com/Target/callback" style="document"/>
175 <cw:transition phase="finish"/>
176 <input>
177 <soap:body use="literal"/>
178 </input>
179 <output>
180 <soap:body use="literal"/>
181 <soap:header wsdl:required="true" message="s0:CallbackHeader_literal" part="CallbackHeader" use="literal" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
182 </output>
183 </operation>
184 </binding>
185 <binding name="TargetHttpGet" type="s0:TargetHttpGet">
186 <http:binding verb="GET"/>
187 <operation name="hello">
188 <http:operation location="/hello"/>
189 <cw:transition phase="start"/>
190 <input>
191 <http:urlEncoded/>
192 </input>
193 <output/>
194 </operation>
195 <operation name="callback">
196 <http:operation location="/callback"/>
197 <cw:transition phase="finish"/>
198 <input>
199 <mime:mimeXml part="Body"/>
200 </input>
201 <output>
202 <http:urlEncoded/>
203 </output>
204 </operation>
205 </binding>
206 <binding name="TargetHttpPost" type="s0:TargetHttpPost">
207 <http:binding verb="POST"/>
208 <operation name="hello">
209 <http:operation location="/hello"/>
210 <cw:transition phase="start"/>
211 <input>
212 <mime:content type="application/x-www-form-urlencoded"/>
213 </input>
214 <output/>
215 </operation>
216 <operation name="callback">
217 <http:operation location="/callback"/>
218 <cw:transition phase="finish"/>
219 <input>
220 <mime:mimeXml part="Body"/>
221 </input>
222 <output>
223 <mime:content type="application/x-www-form-urlencoded"/>
224 </output>
225 </operation>
226 </binding>
227 <service name="Target">
228 <port name="TargetSoap" binding="s0:TargetSoap">
229 <soap:address location="http://localhost:7001/WebServices/security/wsse/callback/target/Target.jws"/>
230 </port>
231 <port name="TargetHttpGet" binding="s0:TargetHttpGet">
232 <http:address location="http://localhost:7001/WebServices/security/wsse/callback/target/Target.jws"/>
233 </port>
234 <port name="TargetHttpPost" binding="s0:TargetHttpPost">
235 <http:address location="http://localhost:7001/WebServices/security/wsse/callback/target/Target.jws"/>
236 </port>
237 </service>
238 </definitions>
239 * ::
240 */
|