1 package body utl_dbws is
2
3 --- Forward Declarations ---
4
5 function invoke_proxy return VARCHAR2;
6 function invoke_proxy(request SYS.XMLTYPE) return SYS.XMLTYPE;
7 function create_service_proxy(wsdl_Document_Location VARCHAR2, service_Name VARCHAR2) return SERVICE;
8 function get_services_proxy(wsdl_Document_Location VARCHAR2) RETURN VARCHAR2;
9 function get_ports_proxy(service_Handle SERVICE) RETURN VARCHAR2;
10 function get_operations_proxy(service_Handle SERVICE, port QNAME) RETURN VARCHAR2;
11 function get_return_proxy(call_Handle CALL) RETURN VARCHAR2;
12 function get_in_parameters_proxy(call_Handle CALL) RETURN VARCHAR2;
13 function get_out_parameters_proxy(call_Handle CALL) RETURN VARCHAR2;
14 procedure set_call(call_Handle CALL);
15 function output_values(call_Handle CALL) return VARCHAR2;
16
17 function split_string(s VARCHAR2) RETURN QNAME_LIST;
18 function get_any(ch VARCHAR2) RETURN ANYDATA;
19 function get_char RETURN VARCHAR2;
20 function get_number RETURN NUMBER;
21 function get_raw RETURN RAW;
22 function get_date RETURN DATE;
23 function get_timestamp RETURN TIMESTAMP;
24 function get_timestamp_tz RETURN TIMESTAMP WITH TIME ZONE;
25 function get_timestamp_ltz RETURN TIMESTAMP WITH LOCAL TIME ZONE;
26 function get_boolean RETURN NUMBER;
27 function get_byte RETURN NUMBER;
28 function get_short RETURN NUMBER;
29 function get_integer RETURN NUMBER;
30 function get_long RETURN NUMBER;
31 function get_float RETURN NUMBER;
32 function get_double RETURN NUMBER;
33 function get_clob RETURN CLOB;
34 function get_blob RETURN BLOB;
35 function get_bfile RETURN BFILE;
36 function get_rowid RETURN ROWID;
37 function get_xmltype RETURN XMLTYPE;
38
39 procedure set_any(obj ANYDATA);
40 procedure set_null;
41 procedure set_null(c VARCHAR2);
42 procedure set_char(c VARCHAR2);
43 procedure set_number(n NUMBER);
44 procedure set_raw(r RAW);
45 procedure set_date(d DATE);
46 procedure set_boolean(b NUMBER);
47 procedure set_blob(b BLOB);
48 procedure set_clob(c CLOB);
49 procedure set_bfile(b BFILE);
50 procedure set_rowid(r ROWID);
51 procedure set_timestamp(d TIMESTAMP);
52 procedure set_timestamp_tz(d TIMESTAMP WITH TIME ZONE);
53 procedure set_timestamp_ltz(d TIMESTAMP WITH LOCAL TIME ZONE);
54 procedure set_xmltype(x XMLTYPE);
55
56 --- End Forward Declarations ---
57
58
59 -------------------------------------------
60 -------------------------------------------
61 --- ---
62 --- Handling of qualified names (QName) ---
63 --- ---
64 -------------------------------------------
65 -------------------------------------------
66
67 -- Construct a qualified name
68 -- namespaceURI - Namespace URI for the QName, null if none.
69 -- localPart - Local part of the QName
70 function to_QName(name_Space VARCHAR2, name VARCHAR2) RETURN QNAME IS
71 BEGIN
72 if name_Space IS NULL or name_Space = ''
73 then return name;
74 elsif name_Space = 'xsd' OR name_Space = 'NSURI_SCHEMA_XSD'
75 then return '{http://www.w3.org/2001/XMLSchema}' || name;
76 elsif name_Space = 'xsi' OR name_Space = 'NSURI_SCHEMA_XSI'
77 then return '{http://www.w3.org/2001/XMLSchema-instance}' || name;
78 elsif name_Space = 'soapenc' OR name_Space = 'NSURI_SOAP_ENCODING'
79 then return '{http://schemas.xmlsoap.org/soap/encoding/}' || name;
80 elsif name_Space = 'soapenv' OR name_Space = 'NSURI_SOAP_ENVELOPE'
81 then return '{http://schemas.xmlsoap.org/soap/envelope/}' || name;
82 elsif name_Space = 'NSURI_SOAP_NEXT_ACTOR'
83 then return '{http://schemas.xmlsoap.org/soap/actor/next}' || name;
84 else
85 return '{' || name_Space || '}' || name;
86 end if;
87 END to_QName;
88
89 -- Return the namespace URI of a qualified name, null if none.
90 function get_namespace_URI(name QNAME) RETURN VARCHAR2 IS
91 pos INTEGER;
92 BEGIN
93 pos := INSTR(name, '}');
94 if pos = 0
95 then return null;
96 else return SUBSTR(name,2,pos-1);
97 end if;
98 END get_namespace_URI;
99
100 -- Return the local part of a qualified name
101 function get_local_part(name QNAME) RETURN VARCHAR2 IS
102 pos INTEGER;
103 BEGIN
104 pos := INSTR(name, '}');
105 if pos = 0
106 then return name;
107 else return SUBSTR(name,pos+1);
108 end if;
109 END get_local_part;
110
111 -- The following is a list of predefined namespaces that may be
112 -- used in the nameSpace parameter of to_QName
113 -- 'NSURI_SCHEMA_XSD', 'xsd' - Namespace URI for XML Schema XSD
114 -- 'NSURI_SCHEMA_XSI', 'xsi' - Namespace URI for XML Schema XSI
115 -- 'NSURI_SOAP_ENCODING', 'soapenc' - Namespace URI for SOAP 1.1 Encoding
116 -- 'NSURI_SOAP_ENVELOPE', 'soapenv' - Namespace URI for SOAP 1.1 Envelope
117 -- 'NSURI_SOAP_NEXT_ACTOR' - Namespace URI for SOAP 1.1 next actor role
118
119
120 -------------------------------------------
121 -------------------------------------------
122 --- ---
123 --- Service instantiation based on WSDL ---
124 --- ---
125 -------------------------------------------
126 -------------------------------------------
127
128 -- List the qualified names of all the services in a WSDL document
129 -- wsdlDocumentLocation - URL for the WSDL document
130 function get_services(wsdl_Document_Location URITYPE)
131 RETURN QNAME_LIST
132 IS
133 BEGIN
134 return split_string(get_services_proxy(wsdl_Document_Location.GETURL()));
135 END get_services;
136
137 function get_services_proxy(wsdl_Document_Location VARCHAR2) RETURN VARCHAR2
138 as language java
139 name 'oracle.jpub.runtime.dbws.DbwsProxy.getServices(java.lang.String) return java.lang.String';
140
141 -- Create a Service instance.
142 -- serviceName - QName for the service
143 -- Returns a handle to the Service instance.
144 function create_service(service_Name QNAME)
145 RETURN SERVICE
146 as language java
147 name 'oracle.jpub.runtime.dbws.DbwsProxy.createService(java.lang.String) return long';
148
149 -- Create a Service instance.
150 -- wsdlDocumentLocation - URL for the WSDL document location for the service
151 -- serviceName - QName for the service
152 -- Returns a handle to the Service instance.
153 function create_service(wsdl_Document_Location URITYPE, service_Name QNAME)
154 RETURN SERVICE IS
155 BEGIN
156 RETURN create_service_proxy(wsdl_Document_Location.GETURL(), service_Name);
157 END create_service;
158
159 function create_service_proxy(wsdl_Document_Location VARCHAR2, service_Name VARCHAR2) return SERVICE
160 as language java
161 name 'oracle.jpub.runtime.dbws.DbwsProxy.createService(java.lang.String,java.lang.String) return long';
162
163
164 -- Split a string into a list of QNAMES using ";" as separator.
165 -- string - the string to be split
166 function split_string(s VARCHAR2) RETURN QNAME_LIST
167 IS
168 res QNAME_LIST;
169 pos INTEGER;
170 idx BINARY_INTEGER;
171 strg VARCHAR2(8128);
172 BEGIN
173 strg := s;
174
175 pos := INSTR(strg,';');
176 idx := 1;
177
178 while (pos > 0)
179 loop
180 res(idx) := SUBSTR(strg,1,pos-1);
181 idx := idx + 1;
182 strg := SUBSTR(strg,pos+1);
183 pos := INSTR(strg,';');
184 end loop;
185
186 if strg IS NOT NULL
187 then res(idx) := strg;
188 end if;
189
190 return res;
191 END split_string;
192
193 -- Set the proxy address
194 -- proxy - the http proxy address, e.g., www-proxy.us.acme.com:80
195 procedure set_http_proxy(httpProxy VARCHAR2)
196 as language java
197 name 'oracle.jpub.runtime.dbws.DbwsProxy.setHttpProxy(java.lang.String)';
198
199 -- List the qualified names of all of the ports in a service.
200 -- service_Handle - Service instance whose ports are returned
201 function get_ports(service_Handle SERVICE)
202 RETURN QNAME_LIST
203 IS
204 BEGIN
205 return split_string(get_ports_proxy(service_Handle));
206 END get_ports;
207
208 function get_ports_proxy(service_Handle SERVICE) RETURN VARCHAR2
209 as language java
210 name 'oracle.jpub.runtime.dbws.DbwsProxy.getPorts(long) return java.lang.String';
211
212 function get_operations(service_Handle SERVICE, port QNAME)
213 RETURN QNAME_LIST
214 IS
215 res QNAME_LIST;
216 BEGIN
217 return split_string(get_operations_proxy(service_Handle,port));
218 return res;
219 END get_operations;
220
221 function get_operations_proxy(service_Handle SERVICE, port QNAME) RETURN VARCHAR2
222 as language java
223 name 'oracle.jpub.runtime.dbws.DbwsProxy.getOperations(long,java.lang.String) return java.lang.String';
224
225
226 -- Release a particular Service instance. This will implicitly
227 -- release all Call instances that have been created for this
228 -- service instance.
229 -- service_Handle - Service instance that is to be released
230 procedure release_service(service_Handle SERVICE)
231 as language java
232 name 'oracle.jpub.runtime.dbws.DbwsProxy.releaseService(long)';
233
234 -- Release all Service instances.
235 procedure release_all_services
236 as language java
237 name 'oracle.jpub.runtime.dbws.DbwsProxy.releaseAllServices()';
238
239
240 ---------------------------------------------
241 ---------------------------------------------
242 --- ---
243 --- Call instantiation for document style ---
244 --- ---
245 ---------------------------------------------
246 ---------------------------------------------
247
248 -- Create a Call instance.
249 -- serviceHandle - the service instance that is to be called.
250 function create_call(service_Handle SERVICE) RETURN CALL
251 as language java
252 name 'oracle.jpub.runtime.dbws.DbwsProxy.createCall(long) return long';
253
254 ---------------------------------------------
255 ---------------------------------------------
256 --- ---
257 --- Call instantiation based on a service ---
258 --- port and an operation name ---
259 --- ---
260 ---------------------------------------------
261 ---------------------------------------------
262
263 -- Create a Call instance.
264 -- serviceHandle - the service instance that is to be called.
265 -- portName - qualified name for the port. Use first port if this is NULL.
266 -- operationName - qualified name for the operation
267 function create_call(service_Handle SERVICE, port_Name QNAME, operation_Name QNAME) RETURN CALL
268 as language java
269 name 'oracle.jpub.runtime.dbws.DbwsProxy.createCall(long,java.lang.String,java.lang.String) return long';
270
271 -- Release a particular Call instance.
272 -- call_Handle - Call instance that is to be released
273 procedure release_call(call_Handle CALL)
274 as language java
275 name 'oracle.jpub.runtime.dbws.DbwsProxy.releaseCall(long)';
276
277 -- Set the value of a particular property on a Call.
278 -- callHandle - the instance of the call
279 -- endpoint - the endpoint for the call
280 procedure set_target_endpoint_address(call_Handle CALL, endpoint VARCHAR2)
281 as language java
282 name 'oracle.jpub.runtime.dbws.DbwsProxy.setTargetEndpointAddress(long,java.lang.String)';
283
284 -- Manipulation of call properties. The following are supported keys
285 -- and default settings for standard Call properties.
286 --
287 -- Key - Explanation of Value, Default value.
288 -- 'USERNAME' - User name for authentication
289 -- 'PASSWORD' - Password for authentication
290 -- 'ENCODINGSTYLE_URI' - Encoding style specified as a namespace URI.
291 -- The default value is the SOAP 1.1 encoding
292 -- 'http://schemas.xmlsoap.org/soap/encoding/'
293 -- 'OPERATION_STYLE' - Standard property for operation style.
294 -- Set to 'rpc' if the operation style is rpc;
295 -- 'document' if the operation style is document.
296 -- 'SESSION_MAINTAIN' - This boolean property is used by a service client to indicate whether or
297 -- not it wants to participate in a session with a service endpoint.
298 -- If this property is set to 'true', the service client indicates that it
299 -- wants the session to be maintained. If set to 'false', the session is
300 -- not maintained. The default value for this property is 'false'.
301 -- 'SOAPACTION_USE' - This boolean property indicates whether or not SOAPAction
302 -- is to be used. The default value of this property is 'false'.
303 -- 'SOAPACTION_URI' - Indicates the SOAPAction URI if the SOAPACTION_USE property
304 -- is set to 'true'.
305
306 -- Return the value of a particular property on a Call.
307 -- callHandle - the instance of the call
308 -- key - the key for the property
309 -- Returns the value of the property or null if not set.
310 function get_property(call_Handle CALL, key VARCHAR2) RETURN VARCHAR2
311 as language java
312 name 'oracle.jpub.runtime.dbws.DbwsProxy.getProperty(long,java.lang.String) return java.lang.String';
313
314 -- Set the value of a particular property on a Call.
315 -- callHandle - the instance of the call
316 -- key - the key for the property
317 -- value - the value for the property
318 procedure set_property(call_Handle CALL, key VARCHAR2, value VARCHAR2)
319 as language java
320 name 'oracle.jpub.runtime.dbws.DbwsProxy.setProperty(long,java.lang.String,java.lang.String)';
321
322 -- Clear the value of a particular property on a Call.
323 -- callHandle - the instance of the call
324 -- key - the key for the property
325 procedure remove_property(call_Handle CALL, key VARCHAR2)
326 as language java
327 name 'oracle.jpub.runtime.dbws.DbwsProxy.removeProperty(long,java.lang.String,java.lang.String)';
328
329 -- Return the XML type of the call's return value
330 -- callHandle - the instance of the call
331 function get_return_type(call_Handle CALL) RETURN QNAME IS
332 BEGIN
333 return get_return_proxy(call_Handle);
334 END get_return_type;
335
336 function get_return_proxy(call_Handle CALL) RETURN VARCHAR2
337 as language java
338 name 'oracle.jpub.runtime.dbws.DbwsProxy.getReturnTypeProxy(long) return java.lang.String';
339
340 -- Return the XML types of the call's input parameters
341 -- callHandle - the instance of the call
342 function get_in_parameter_types(call_Handle CALL) RETURN QNAME_LIST IS
343 BEGIN
344 return split_string(get_in_parameters_proxy(call_Handle));
345 END get_in_parameter_types;
346
347 function get_in_parameters_proxy(call_Handle CALL) RETURN VARCHAR2
348 as language java
349 name 'oracle.jpub.runtime.dbws.DbwsProxy.getInParametersProxy(long) return java.lang.String';
350
351 -- Return the XML types of the call's output parameters
352 -- callHandle - the instance of the call
353 function get_out_parameter_types(call_Handle CALL) RETURN QNAME_LIST IS
354 BEGIN
355 return split_string(get_out_parameters_proxy(call_Handle));
356 END get_out_parameter_types;
357
358 function get_out_parameters_proxy(call_Handle CALL) RETURN VARCHAR2
359 as language java
360 name 'oracle.jpub.runtime.dbws.DbwsProxy.getOutParametersProxy(long) return java.lang.String';
361
362 -- Invokes a specific operation using a synchronous request-response
363 -- interaction mode.
364 -- callHandle - the instance of the call
365 -- inputParams - The input parameters for this invocation.
366 -- Returns the return value or null.
367 function invoke(call_Handle CALL, input_Params ANYDATA_LIST) return ANYDATA
368 IS
369 idx BINARY_INTEGER;
370 BEGIN
371 set_call(call_Handle);
372
373 if input_Params.COUNT != 0
374 then
375 idx := input_Params.FIRST;
376 set_any(input_Params(idx));
377 while idx != input_Params.LAST
378 loop
379 idx := input_Params.NEXT(idx);
380 set_any(input_Params(idx));
381 end loop;
382 end if;
383
384 return get_any(invoke_proxy);
385 END invoke;
386
387 function invoke_proxy return VARCHAR2
388 as language java
389 name 'oracle.jpub.runtime.dbws.DbwsProxy.invokeProxy() return java.lang.String';
390
391
392 -- Invokes a Document-style webservices in a synchronous
393 -- request-response interaction mode.
394 -- callHandle - the instance of the call
395 -- request - a SOAPElement request
396 -- Returns a SOAPElement response
397 function invoke(call_Handle CALL, request SYS.XMLTYPE) return SYS.XMLTYPE IS
398 BEGIN
399 set_call(call_Handle);
400 return invoke_proxy(request);
401 END invoke;
402
403 function invoke_proxy (request SYS.XMLTYPE) return SYS.XMLTYPE
404 as language java
405 name 'oracle.jpub.runtime.dbws.DbwsProxy.invokeProxy(oracle.xdb.XMLType) return oracle.xdb.XMLType';
406
407 -- Obtain the output arguments after a call invocation
408 -- callHandle - the instance of the call
409 -- Returns the output arguments in order.
410 function get_output_values(call_Handle CALL) return ANYDATA_LIST
411 IS
412 res ANYDATA_LIST;
413 len INTEGER;
414 cnt INTEGER;
415 outs VARCHAR2(4096);
416 ch VARCHAR2(1);
417 BEGIN
418 cnt := 1;
419 outs := output_values(call_Handle);
420 len := LENGTH(outs);
421 while cnt <= len
422 loop
423 ch := SUBSTR(outs,len,1);
424 res(cnt) := get_any(ch);
425 cnt := cnt+1;
426 end loop;
427 return res;
428 END get_output_values;
429
430 function get_any(ch VARCHAR2) RETURN ANYDATA IS
431 BEGIN
432 if (ch = null) OR (ch = 'Z')
433 then return NULL;
434 elsif ch = 'N'
435 then return ANYDATA.ConvertNumber(get_number());
436 elsif ch = 'C'
437 then return ANYDATA.ConvertVarchar2(get_char());
438 elsif ch = 'D'
439 then return ANYDATA.ConvertDate(get_date());
440 elsif ch = 'R'
441 then return ANYDATA.ConvertRaw(get_raw());
442 elsif ch = 'B'
443 then return ANYDATA.ConvertBlob(get_blob());
444 elsif ch = 'L'
445 then return ANYDATA.ConvertClob(get_clob());
446 elsif ch = 'F'
447 then return ANYDATA.ConvertBfile(get_bfile());
448
449 elsif ch = 'Y'
450 then return ANYDATA.ConvertNumber(get_byte());
451 elsif ch = 'S'
452 then return ANYDATA.ConvertNumber(get_short());
453 elsif ch = 'I'
454 then return ANYDATA.ConvertNumber(get_integer());
455 elsif ch = 'G'
456 then return ANYDATA.ConvertNumber(get_long());
457 elsif ch = 'O'
458 then return ANYDATA.ConvertNumber(get_float());
459 elsif ch = 'P'
460 then return ANYDATA.ConvertNumber(get_double());
461
462 /*
463 elsif ch = 'O'
464 then return ANYDATA.ConvertObject(get_object());
465 elsif ch = '^'
466 then return ANYDATA.ConvertRef(get_ref());
467 elsif ch = '@'
468 then return ANYDATA.ConvertCollection(get_collection());
469 */
470 end if;
471
472 return NULL; -- Should throw an exception?!
473 END get_any;
474
475 procedure set_any(obj ANYDATA) IS
476 nr NUMBER;
477 v2 VARCHAR2(32767);
478 de DATE;
479 rw RAW(32767);
480 bb BLOB;
481 cb CLOB;
482 be BFILE;
483 cr CHAR;
484 vr VARCHAR(32767);
485 name VARCHAR2(32767);
486 BEGIN
487 if obj IS NULL
488 then set_null;
489 else
490 name := obj.GetTypeName;
491 if name = 'SYS.NUMBER'
492 then set_number(obj.accessNumber);
493 elsif name = 'SYS.VARCHAR2'
494 then set_char(obj.accessVarchar2);
495 elsif name = 'SYS.DATE'
496 then set_date(obj.accessDate);
497 elsif name = 'SYS.RAW'
498 then set_raw(obj.accessRaw);
499 elsif name = 'SYS.BLOB'
500 then set_blob(obj.accessBlob);
501 elsif name = 'SYS.CLOB'
502 then set_clob(obj.accessClob);
503 elsif name = 'SYS.BFILE'
504 then set_bfile(obj.accessBfile);
505 elsif name = 'SYS.CHAR'
506 then set_char(obj.accessChar);
507 elsif name = 'SYS.VARCHAR'
508 then set_char(obj.accessVarchar);
509 else
510 set_null(name);
511 /*
512 elsif name = <OBJECT>
513 then
514 elsif name = <REF>
515 then
516 elsif name = <COLLECTION>
517 then
518 */
519 end if;
520 end if;
521 END set_any;
522
523 function output_values(call_Handle CALL) return VARCHAR2
524 as language java
525 name 'oracle.jpub.runtime.dbws.DbwsProxy.outputValues(long) return java.lang.String';
526
527 -- Set the type of a parameter of a Call.
528 -- callHandle - the instance of the call
529 -- xml_name - the xml name of the parameter type
530 -- q_name - the QNAME for the parameter type
531 -- mode - the ParameterMode mode constant
532 procedure add_parameter(call_Handle CALL, xml_name VARCHAR2, q_name QNAME, p_mode VARCHAR2)
533 as language java
534 name 'oracle.jpub.runtime.dbws.DbwsProxy.addParameter(long,java.lang.String, java.lang.String,java.lang.String)';
535
536 -- Set the return type of a Call.
537 -- callHandle - the instance of the call
538 -- retType - the qname of the return type
539 procedure set_return_type(call_Handle CALL, ret_type QNAME)
540 as language java
541 name 'oracle.jpub.runtime.dbws.DbwsProxy.setReturnType(long,java.lang.String)';
542
543
544 --------------------
545 -- Initialization --
546 --------------------
547
548 procedure set_call(call_Handle CALL)
549 as language java
550 name 'oracle.jpub.runtime.dbws.DbwsProxy.setCall(long)';
551
552 -------------
553 -- Setters --
554 -------------
555
556 procedure set_null
557 as language java
558 name 'oracle.jpub.runtime.dbws.DbwsProxy.setNull()';
559
560 procedure set_null(c VARCHAR2)
561 as language java
562 name 'oracle.jpub.runtime.dbws.DbwsProxy.setNull(java.lang.String)';
563
564 procedure set_char(c VARCHAR2)
565 as language java
566 name 'oracle.jpub.runtime.dbws.DbwsProxy.setChar(java.lang.String)';
567
568 procedure set_number(n NUMBER)
569 as language java
570 name 'oracle.jpub.runtime.dbws.DbwsProxy.setBigDecimal(java.math.BigDecimal)';
571
572 procedure set_raw(r RAW)
573 as language java
574 name 'oracle.jpub.runtime.dbws.DbwsProxy.setRaw(byte[])';
575
576 procedure set_date(d DATE)
577 as language java
578 name 'oracle.jpub.runtime.dbws.DbwsProxy.setDate(oracle.sql.DATE)';
579
580 procedure set_boolean(b NUMBER)
581 as language java
582 name 'oracle.jpub.runtime.dbws.DbwsProxy.setBoolean(int)';
583
584 procedure set_blob(b BLOB)
585 as language java
586 name 'oracle.jpub.runtime.dbws.DbwsProxy.setBlob(oracle.sql.BLOB)';
587
588 procedure set_clob(c CLOB)
589 as language java
590 name 'oracle.jpub.runtime.dbws.DbwsProxy.setClob(oracle.sql.CLOB)';
591
592 procedure set_bfile(b BFILE)
593 as language java
594 name 'oracle.jpub.runtime.dbws.DbwsProxy.setBfile(oracle.sql.BFILE)';
595
596 procedure set_rowid(r ROWID)
597 as language java
598 name 'oracle.jpub.runtime.dbws.DbwsProxy.setRowid(oracle.sql.ROWID)';
599
600 procedure set_timestamp(d TIMESTAMP)
601 as language java
602 name 'oracle.jpub.runtime.dbws.DbwsProxy.setTimestamp(oracle.sql.TIMESTAMP)';
603
604 procedure set_timestamp_tz(d TIMESTAMP WITH TIME ZONE)
605 as language java
606 name 'oracle.jpub.runtime.dbws.DbwsProxy.setTimestampTZ(oracle.sql.TIMESTAMPTZ)';
607
608 procedure set_timestamp_ltz(d TIMESTAMP WITH LOCAL TIME ZONE)
609 as language java
610 name 'oracle.jpub.runtime.dbws.DbwsProxy.setTimestampLTZ(oracle.sql.TIMESTAMPLTZ)';
611
612 procedure set_xmltype(x XMLTYPE)
613 as language java
614 name 'oracle.jpub.runtime.dbws.DbwsProxy.setXmltype(oracle.sql.OPAQUE)';
615
616 -------------
617 -- Getters --
618 -------------
619 function get_char RETURN VARCHAR2
620 as language java
621 name 'oracle.jpub.runtime.dbws.DbwsProxy.getChar() return java.lang.String';
622
623 function get_number RETURN NUMBER
624 as language java
625 name 'oracle.jpub.runtime.dbws.DbwsProxy.getBigDecimal() return java.math.BigDecimal';
626
627 function get_raw RETURN RAW
628 as language java
629 name 'oracle.jpub.runtime.dbws.DbwsProxy.getRaw() return byte[]';
630
631 function get_date RETURN DATE
632 as language java
633 name 'oracle.jpub.runtime.dbws.DbwsProxy.getDate() return oracle.sql.DATE';
634
635 function get_timestamp RETURN TIMESTAMP
636 as language java
637 name 'oracle.jpub.runtime.dbws.DbwsProxy.getTimestamp() return oracle.sql.TIMESTAMP';
638
639 function get_timestamp_tz RETURN TIMESTAMP WITH TIME ZONE
640 as language java
641 name 'oracle.jpub.runtime.dbws.DbwsProxy.getTimestampTZ() return oracle.sql.TIMESTAMPTZ';
642
643 function get_timestamp_ltz RETURN TIMESTAMP WITH LOCAL TIME ZONE
644 as language java
645 name 'oracle.jpub.runtime.dbws.DbwsProxy.getTimestampLTZ() return oracle.sql.TIMESTAMPLTZ';
646
647 function get_boolean RETURN NUMBER
648 as language java
649 name 'oracle.jpub.runtime.dbws.DbwsProxy.getBoolean() return int';
650
651 function get_byte RETURN NUMBER
652 as language java
653 name 'oracle.jpub.runtime.dbws.DbwsProxy.getByte() return Byte';
654
655 function get_short RETURN NUMBER
656 as language java
657 name 'oracle.jpub.runtime.dbws.DbwsProxy.getShort() return Short';
658
659 function get_integer RETURN NUMBER
660 as language java
661 name 'oracle.jpub.runtime.dbws.DbwsProxy.getInteger() return Integer';
662
663 function get_long RETURN NUMBER
664 as language java
665 name 'oracle.jpub.runtime.dbws.DbwsProxy.getLong() return Long';
666
667 function get_float RETURN NUMBER
668 as language java
669 name 'oracle.jpub.runtime.dbws.DbwsProxy.getFloat() return Float';
670
671 function get_double RETURN NUMBER
672 as language java
673 name 'oracle.jpub.runtime.dbws.DbwsProxy.getDouble() return Double';
674
675
676 function get_blob RETURN BLOB
677 as language java
678 name 'oracle.jpub.runtime.dbws.DbwsProxy.getBlob() return oracle.sql.BLOB';
679
680 function get_clob RETURN CLOB
681 as language java
682 name 'oracle.jpub.runtime.dbws.DbwsProxy.getClob() return oracle.sql.CLOB';
683
684 function get_bfile RETURN BFILE
685 as language java
686 name 'oracle.jpub.runtime.dbws.DbwsProxy.getBfile() return oracle.sql.BFILE';
687
688 function get_rowid RETURN ROWID
689 as language java
690 name 'oracle.jpub.runtime.dbws.DbwsProxy.getRowid() return oracle.sql.ROWID';
691
692 function get_xmltype RETURN XMLTYPE
693 as language java
694 name 'oracle.jpub.runtime.dbws.DbwsProxy.getXmltype() return oracle.sql.OPAQUE';
695
696 procedure set_logger_level(level VARCHAR2)
697 as language java
698 name 'oracle.jpub.runtime.dbws.DbwsProxy.setLoggerLevel(java.lang.String)';
699
700 end utl_dbws;