Runtime Sequence of triggers
Is there any way to identify the runtime sequence of the execution of triggers in the form ?
Also is there a place where the default (template) sequence of execution for forms triggers can be found ?
There is no single place where you can read about all the triggers and the order in which they fire I am afraid. The order is not very well defined either since the events that happen are not known in every instance.
The help topic called Navigational Triggers holds some relevant information and there are other topics as well that would add to your knowledge about this topic.
I would suggest that you test out the order by setting up the scenario that you would like to know the sequence about and then put a message() call in each trigger you want to know about and observe the sequence in the status bar.
Similar Messages
-
Cannot reach com.sun.javafx.runtime.sequence package from Java
Hello!
I'm trying to create JavaFX sequence from Java code, because creating sequences with large amount of data (more than 10000 elements) seems to be quite inefficient in JavaFX (leastwise takes almost a minute(!) when using insert ... into ...).
The problem is that I get the following error message when trying to use SequenceBuilder from Java:
{color:#ff0000}+Compiling 1 source file to C:\Users\Ákos\Documents\NetBeansProjects2\PolylineProba\build\classes+
C:\Users\Ákos\Documents\NetBeansProjects2\PolylineProba\src\polylineproba\ArrayBuilder.java:11: package com.sun.javafx.runtime.sequence does not exist
import com.sun.javafx.runtime.sequence.*;
+1 error+{color}
The sample code is very simple:
{color:#333399}+package test;+
import com.sun.javafx.runtime.sequence.*;
+public class ArrayBuilder {+
+}+{color}
This is strange as the code completion sees all classes inside the mentioned package, but the compiler doesn't.
Does anyone have an idea, why? (I'm using Netbeans 6.1 with JavaFX SDK preview 1.0.)
Thanks,
AkosHello!
Normally you don't need to know the exact location of these files as you can add them to the project by adding a library. To do this in Netbeans: right click on the Libraries in the project tree and choose Add library. Then you should see JavaFXUserLib.
If not then find and add them manually to the classpath:
javafx-sdk1.0pre1/lib/Decora-D3D.jar
javafx-sdk1.0pre1/lib/Decora-HW.jar
javafx-sdk1.0pre1/lib/Decora-OGL.jar
javafx-sdk1.0pre1/lib/Scenario.jar
javafx-sdk1.0pre1/lib/gluegen-rt.jar
javafx-sdk1.0pre1/lib/javafx-swing.jar
javafx-sdk1.0pre1/lib/javafxc.jar
javafx-sdk1.0pre1/lib/javafxdoc.jar
javafx-sdk1.0pre1/lib/javafxgui.jar
javafx-sdk1.0pre1/lib/javafxrt.jar
javafx-sdk1.0pre1/lib/jmc.jar
javafx-sdk1.0pre1/lib/jogl.jar
Good luck -
About runtime sequence creation and view dare pre commmit.
Dear All,
My 2 New Question are:
1)Could Oracle suggest to create sequence(DDL) from run-time.That means I need(My client requirement) regenerate of sequence(I know it is possible by cycle but i don't know MAX value when it will cycle)as monthly or a specific time so I want to drop sequence and create sequence by a)Programmetically runtime
b) Oracle scheduler runtime .
Have any good and better Idea? Any risk factor?
Note that at a time possibly more than 100 users will data entry with our software.
2)My New query is Could I view table data which was not yet COMMITTED from other session-other user.
Regards and Thanking you,
ZAKIR
Analyst ,
SynesisIT,
www.Synesisit.com
=====I tried that, but there are too many trouble.
For only references.
-- Usage
Procedures
execute periodic_seq.seq_def create sequence
execute periodic_seq.seq_undef drop sequence
Functions
periodic_seq.nextvalue
get nextval of specified sequence
periodic_seq.currvalue
get currval of specified sequence
seq_def
in_seq_name varchar2 (30)
sequence name (current schema)
in_trunc_unit varchar2
'yyyy','mm','dd','hh24','mi' : format on trunc(date)
seq_def
in_owner varchar2 (30)
schema name
in_seq_name varchar2 (30)
sequence name
in_trunc_unit varchar2
'yyyy','mm','dd','hh24','mi' : format on trunc(date)
incr_by integer (default:1)
increment by
start_with integer (default:1)
start with
maxvalue integer (default:to_number('1e27'))
maxvalue
minvalue integer (default:1)
minvalue
cycle varchar2 (default:'N')
'Y':cycle/'N':nocycle
cache integer (default:20)
cache
time_order varchar2 (default:'N')
'Y':order/'N':noorder
seq_undef
in_seq_name varchar2 (30)
sequence name (current schema)
seq_undef
in_owner varchar2 (30)
schema name
in_seq_name varchar2 (30)
sequence name
nextvalue
in_seq_name varchar2 (30)
sequence name (current schema)
nextvalue
in_owner varchar2 (30)
schema name
in_seq_name varchar2 (30)
sequence name
currvalue
in_seq_name varchar2 (30)
sequence name (current schema)
currvalue
in_owner varchar2 (30)
schema name
in_seq_name varchar2 (30)
sequence name
-- Source --
-- Control table
create table cycle_seq_ctrl
(sequence_name varchar2(30) not null
,min_value integer
,max_value integer
,increment_by integer not null
,cycle_term varchar(10) default('dd') not null
,last_number integer not null
,reset_time date
,prev_nextval integer not null
,constraint pkey_cycle_seq_ctrl primary key (sequence_name)
organization index
create or replace
package cycle_seq
authid current_user
is
function nextvalue
(seq_name varchar2
,in_date date := sysdate
) return integer
function currvalue
(seq_name varchar2
) return integer
procedure seq_def
(seq_name varchar2
,cycleterm varchar2 := 'DD' /* Defaults : reset by a day */
,incr_by integer := 1
,start_with integer := 1
,maxvalue integer := to_number('1e27')
,minvalue integer := 1
procedure seq_undef
(seq_name varchar2
end; -- package cycle_seq
create or replace
package body cycle_seq
is
type currval_tab_type is table of integer index by varchar2(30);
currval_tab currval_tab_type;
function nextvalue
(seq_name varchar2
,in_date date := sysdate
) return integer
is
pragma autonomous_transaction;
timeout_on_nowait exception;
timeout_on_wait_sec exception;
pragma exception_init(timeout_on_nowait, -54);
pragma exception_init(timeout_on_wait_sec, -30006);
p_seqname cycle_seq_ctrl.sequence_name%type;
p_ctrl cycle_seq_ctrl%rowtype;
p_currtime date;
p_nextval integer;
begin
p_currtime := in_date;
p_seqname := upper(trim(seq_name));
select *
into p_ctrl
from cycle_seq_ctrl
where sequence_name = p_seqname
for update wait 1
if (p_ctrl.cycle_term<>'SS') then
p_currtime := trunc(p_currtime,p_ctrl.cycle_term);
end if;
-- need to reset
if (p_ctrl.reset_time < p_currtime) then
if (p_ctrl.increment_by > 0) then
p_nextval := p_ctrl.min_value;
elsif (p_ctrl.increment_by < 0) then
p_nextval := p_ctrl.max_value;
else
p_nextval := p_ctrl.last_number;
end if;
update cycle_seq_ctrl
set last_number = p_nextval
,reset_time = p_currtime
,prev_nextval = last_number + increment_by
where sequence_name = p_seqname
currval_tab(p_seqname) := p_nextval;
commit;
return p_nextval;
end if;
-- already reseted (in a same second)
if (p_ctrl.reset_time = p_currtime) then
p_nextval := p_ctrl.last_number + p_ctrl.increment_by;
update cycle_seq_ctrl
set last_number = p_nextval
where sequence_name = p_seqname
currval_tab(p_seqname) := p_nextval;
commit;
return p_nextval;
-- already reseted
else
p_nextval := p_ctrl.prev_nextval + p_ctrl.increment_by;
update cycle_seq_ctrl
set prev_nextval = p_nextval
where sequence_name = p_seqname
currval_tab(p_seqname) := p_nextval;
commit;
return p_nextval;
end if;
exception
when no_data_found then
raise_application_error(-20800,
'cycle_seq.seq_def('''||seq_name
||''') has not been called.');
when timeout_on_nowait or timeout_on_wait_sec then
raise_application_error(-20899,
'cycle_seq.nextvalue('''||seq_name
||''') is time out.');
when others then
raise;
end
function currvalue
(seq_name varchar2
) return integer
is
p_seqname cycle_seq_ctrl.sequence_name%type;
begin
p_seqname := upper(trim(seq_name));
return currval_tab(upper(seq_name));
exception
when no_data_found then
raise_application_error(-20802,
'cycle_seq.nextvalue('''
||seq_name||''') has not been called in this session.');
when others then
raise;
end
procedure seq_def
(seq_name varchar2
,cycleterm varchar2 := 'DD'
,incr_by integer := 1
,start_with integer := 1
,maxvalue integer := to_number('1e27')
,minvalue integer := 1
is
p_seqname cycle_seq_ctrl.sequence_name%type;
p_currtime date;
p_cycleterm cycle_seq_ctrl.cycle_term%type;
begin
p_currtime := sysdate;
p_seqname := upper(trim(seq_name));
p_cycleterm := upper(trim(cycleterm));
if (p_cycleterm<>'SS') then
p_currtime := trunc(p_currtime,cycleterm);
end if;
insert into cycle_seq_ctrl
(sequence_name
,min_value
,max_value
,increment_by
,cycle_term
,last_number
,reset_time
,prev_nextval
values
(p_seqname
,minvalue
,maxvalue
,incr_by
,p_cycleterm
,start_with - incr_by
,p_currtime
,start_with - incr_by
commit; -- Because this is as like a DDL
exception
when dup_val_on_index then
raise_application_error(-20955,
'already defined with '
||'cycle_seq.seq_def('''||seq_name||''')');
when others then
raise;
end
procedure seq_undef
(seq_name varchar2
is
p_seqname cycle_seq_ctrl.sequence_name%type;
begin
p_seqname := upper(trim(seq_name));
delete from cycle_seq_ctrl
where sequence_name = p_seqname
commit; -- Because this is as like a DDL
end
end; -- package body cycle_seq
/ -
Altering the firing sequence of triggers
Hi,
I have some block level and form level triggers.In excution time block level fires first and then the form leval.
My requirement is to alter the firing of triggers means form level first and then the block level.
Urgent Plz help me
regards
& thanx in advance
vaniTry playing around with the execution hierarchy of the trigger's property.
you may override the Form level trigger with the block level but I don't think you can reverse them, unfortunately I don't have Forms installed on the machine I am now to test it.
Try it
Tony -
Update locals and limits in the runtime sequence
Hi All!
I'm trying to update locals:
Engine my_egine = axApplicationMgr.GetEngine();
SequenceFile seq_file = my_egine.GetSequenceFileEx(seq_file_path, TypeConflictHandlerTypes.ConflictHandler_UseGlobalType);
Sequence seq = seq_file.GetSequenceByName("MainSequence");
seq.Locals.SetValString("strTextBox", 0, "my new string");
string str = seq.Locals.GetValString("strTextBox", 0);
MessageBox.Show(str);
I see "my new string" in message box but in the sequense the text is "Hello World".
As i understand there are run time and edit types of sequence. How can i get run time sequence?Hi John,
Check out the following link:
http://forums.ni.com/t5/NI-TestStand/How-do-I-get-local-variables-to-update/m-p/579859/highlight/tru...
Regards
Ray Farmer -
Firing sequence of Oracle forms 6.0 triggers
Hi All,
Pls tell anyone what is the sequence of trigger firing in oracle 6.0 (oracle apps).
Thanks in advanceHi,
Please see if these links/docs help.
Note: 61675.1 - Trigger Execution Sequence in Oracle Forms
firing sequence of triggers in oracle forms
http://tinyurl.com/2wyffj6
Thanks,
Hussein -
How to use master locks in a process chain with planning sequence
Hi,
when I start a process chain which contains a planning sequence there is no master lock set. The chain stops and I get the message "Data in InfoProvider XYZ is locked by user TIMMAY". What can i do to enable the master locks?
Thanks for your help!Hello,
When a planning sequence is triggered via process chain system first first tries to set a normal lock and if this is possible, these selections are stored as master locks and then the normal locks are released.
In your case if some data is already locked by another user the lock conflict will occur in teh first step only where system tries to create a normal lock before creating master locks.
If Administrator wants to trigger the process chain he should ask other users to come out of the planning layouts so that all the locks are released and then trigger the chain and after this the system will set the master locks. Packaging in planning sequence process type won't help in setting master locks even if the data is locked by other user.
Also, after master locks are deleted in RSPLSE, the transaction data remains protected by normal data locks during runtime. Nevertheless, without master locks it is no longer guaranteed that parts of planning sequences can be carried out without encountering lock conflicts with other users.
Regards,
Deepti -
HOWTO: Use BC4J With or Without DB Triggers
This HowTo describes how to use BC4J, database sequences and triggers
and what are the ramifications.
INTRODUCTION
BC4J has the ability to work with database sequences in order to obtain a
unique value when inserting records. BC4J also has the ability to
work either with a 'before insert' trigger which automatically creates
a new unique value for the primary key or without a trigger. When not using
a database trigger, BC4J also has the ability to obtain the sequence value
and set the primary key value.
Before discussing the ramifications of using one approach or the other, let's
show examples of how to use both approaches:
BC4J & sequences WITH a database trigger
and
BC4J & sequences WITHOUT a database trigger
HOWTO DEMONSTRATION STEPS
To illustrate both scenarios a simple database setup script is provided which
creates two tables:
CUSTOMER_NT which DOES NOT have a before insert trigger and
CUSTOMER_WT which DOES have a trigger.
Database Install Script:
<code>
drop trigger customer_insert_trigger;
drop table customer_wt;
drop table customer_nt;
drop sequence customer_wt_seq;
drop sequence customer_nt_seq;
create sequence customer_wt_seq start with 1;
create sequence customer_nt_seq start with 101;
create table customer_wt(
id number,
name varchar2(30),
constraint
customer_wt_pk
primary key (id)
create table customer_nt(
id number,
name varchar2(30),
constraint
customer_nt_pk
primary key (id)
prompt Inserting data...
insert into customer_wt (id, name)
values (customer_wt_seq.nextval, 'Mickey');
insert into customer_wt (id, name)
values (customer_wt_seq.nextval, 'Goofy');
insert into customer_nt (id, name)
values (customer_nt_seq.nextval, 'Daffy');
insert into customer_nt (id, name)
values (customer_nt_seq.nextval, 'Porky');
commit
prompt Creating trigger
create trigger customer_insert_trigger
before insert on customer_wt for each row
begin
select customer_wt_seq.nextval into :new.id from dual ;
end;
</code>
The next step is to create the DEFAULT Entity Objects and View Objects using
the Business Components Wizard.
USING BC4J WITH A DATABASE TRIGGER
Let's modify the entity object CustomerWt so it can use the database trigger.
Edit the entity object CustomerWt by right-clicking in the navigator.
Click on the 'Attribute Settings' tab and edit the ID attribute.
- Uncheck 'Mandatory'checkbox. This allows you to insert without a value for the primary key
- Check 'Refresh after Insert'. This obtains the value from the database generated by the trigger.
- Check 'Updateable While New'. Id is only updateable when inserting.
Click finish to complete the wizard. Save all and recompile the project.
Now let's test our work.
In the navigator right-click the application module and select 'Test..'. This will launch
BC4J's built in tester. Connect to the application.
In the tester double-click the CustomerWtView view object to run a test edit form.
After the edit form renders, navigate through the existing records using the navigate
buttons on the edit form. Now let's insert a record to execute the trigger.
click on the '+' button to insert a record. Enter a value in the 'Name' field and commit the change.
Observe that a new value has automatically been inserted into the Id field.
That's it! You have successfully used BC4J and a database trigger.
Now let's try it without a trigger..
USING BC4J WITHOUT A DATABASE TRIGGER
Now edit the entity object CustomerNT so it doesn't need a database trigger.
Similar to before, edit the entity object CustomerNt by right-clicking in the navigator.
Click on the 'Attribute Settings' tab and edit the ID attribute.
- Uncheck 'Mandatory'checkbox.
- Check 'Updateable While New'.
An additional step is also required. The Create method will have to be modified to extract
the value of the sequence.
In the Edit EntityObject Wizard click the Java tab and select Create method and click Finish.
The create method is generated in your Java fil e. In the Workspace view of the Navigator,
expand the CustomerNt entity object in the navigator. Double-click
CustomerNtImpl.java to open it in the Source Editor. In the Structure pane, double-click
create(AttributeList). Modify the Create method so it looks like this:
<code>
public void create(AttributeList attributeList) {
super.create(attributeList);
SequenceImpl s = new SequenceImpl("customer_nt_seq", getDBTransaction());
Integer next = (Integer)s.getData();
setId(new Number(next.intValue())); }
</code>
Save and compile the project.
Now test the ViewObject CustomerNtView using the tester as before.
In the edit form of CustomerNTView click on the '+' to insert a record. Observe that
just as before a new value has automatically been inserted in the ID field!
TO USE A DB TRIGGER OR NOT TO USE A DB TRIGGER.
Using a Database trigger sometimes preferable if you have non BC4J applications
also sharing the database. In this case it is still safest to just let the database
update it's own primary keys.
If you don't have any other non-BC4J applications sharing the database, then not using
a database trigger is perfectly acceptable and can have slightly better performance.
The important thing to remember is that the option is yours to use either approach!
nullThank you for the reply Jonathon. I am using a ViewObject which
consist of several tables. I haven't tried the DB trigger
approach but just using the BC4 approach in overriding the
create method.
Here is the parent class create as a part of the
FasNameImpl.java file which does the job correctly.
public void create(AttributeList attributeList) {
super.create(attributeList);
SequenceImpl l_seq = new SequenceImpl
("SEQ_CUSTOMER_ID",getDBTransaction());
Integer l_next = (Integer)l_seq.getData();
setCustomerId(new Number(l_next.intValue()));
This is when I triedpassing the value to the child table. But I
can't figure it out. I think the link is working fine if I had a
ViewLink deployed but it doesn't look like it's doing the job
for ViewObject.
I am trying to call the childclass.method
(FasCustomer.setCustomerId(l_next);
But I am getting error.
Thanks a lot for your suggestions,
Kamran
703 696 1121 -
Runtime error assertion_failed
hello,
i am getting a runtime error 'assertion_failed' while activating the transformations.
it says the assert condition was violated. i am attaching the error message here.
In the running application program, the ASSERT statement recognized a
situation that should not have occurred.
The runtime error was triggered for one of these reasons:
- For the checkpoint group specified with the ASSERT statement, the
activation mode is set to "abort".
- Via a system variant, the activation mode is globally set to "abort"
for checkpoint groups in this system.
- The activation mode is set to "abort" on program level.
- The ASSERT statement is not assigned to any checkpoint group.
i need help regarding this.
thanks in advance.
muralikHello MuraliK,
Plz apply note :998730.
U need to check RSTRANRULE table with certain combination and delete inconsistent records.
-- Plz assign points if helpful --
Regards,
Mainak -
Help on Sequence and Procedure
Hi all,
I have a situation like this
I have 10 different tables like a,b,c,d,e,f
But i have same columns in all tables
like
id
Created_date,
Current_user,
updated_by,
updated_date
I created a sequence and triggers on a table like below
CREATE SEQUENCE x_SEQUENCE START WITH
150001 INCREMENT BY 1 MAXVALUE 999999
CYCLE;
CREATE TRIGGER xi_trigger
BEFORE INSERT ON x_table FOR EACH ROW
BEGIN
SELECT x_SEQUENCE.NextVal,USER,SYSDATE INTO :NEW.CTUT_ID,
:NEW.CURRT_USER_ID,:NEW.CREATED_DATE FROM DUAL;
:NEW.CREATED_BY := :NEW.CTUT_ID;
END;
CREATE TRIGGER xU_trigger
BEFORE UPDATE ON x_table FOR EACH ROW
BEGIN
SELECT USER,SYSDATE INTO :NEW.CURRT_USER_ID,:NEW.UPDATED_DATE FROM DUAL;
:NEW.UPDATED_BY := :NEW.CTUT_ID;
END;
everything is working fine for one table
1) Can anybody help me how to create a procedure with Trigger code
so that i can call that procedure in all tables
like
CREATE TRIGGER xi_trigger
BEFORE INSERT ON x_table FOR EACH ROW
BEGIN
x_procedure;
end;
2) When sequence is completed i mean when it reach max value how to display message
Thanks for your helpHere's one way of doing it:
CREATE PROCEDURE audit_action
( pn_id OUT NUMBER
, pv_by OUT VARCHAR2
, pd_on OUT DATE )
IS
ln_seq NUMBER;
ld_on DATE;
lv_by VARCHAR2(30);
x_seq exception;
pragma exception_init(x_seq, -8004);
BEGIN
SELECT my_seq.NEXTVAL, USER, SYSDATE
INTO ln_seq, lv_by, ld_on
FROM dual;
pn_id := ln_seq;
pv_by := lv_by;
pd_on := ld_on;
EXCEPTION
WHEN x_seq
THEN
RAISE_APPLICATION_ERROR(-8004, 'MY_SEQ has run out of numbers!');
END audit_action;
/and here's how you call it:
CREATE TRIGGER xi_trigger
BEFORE INSERT ON x_table FOR EACH ROW
BEGIN
audit_action (:NEW.ctut_id, :NEW.currt_user, :NEW.created_date);
END xi_trigger; Warning: I have not run this code (can't be bothered with the set-up) but it is logically correct, so it should work with (at worst) minor syntactical tweaking.
Cheers, APC
P.S. CURRENT_USER is a misleading column name, it ought to be called CREATED_BY.
P.P.S. It is very bad practice to have sequences run out at all. Unless you have a very good reason I strongly urge you not to set MAXVALUE when you create your sequences. -
I need to ensure that a unique key value is stored in a column. Values must be persistent across DB restores. A Sequence is fine to initially populate the column, but I must also ensure a key is applied to records inserted later (by third-party code unaware of the key column).
If I try to plant a trigger to set the column value to sequence.nextval, compilation error occurs: "PLS-00357: ... Sequence reference ... not allowed in this context."
Are special tactics needed to allow use of sequences in triggers? Can you suggest another approach to enforce key maintenance?Log in as scott/tiger and do the following:
CREATE SEQUENCE deptno
START WITH 50
INCREMENT BY 10;
CREATE OR REPLACE FUNCTION next_dept
RETURN NUMBER AS
v_new_dept dept.deptno%TYPE;
BEGIN
SELECT deptno.NEXTVAL
INTO v_new_dept
FROM DUAL;
RETURN v_new_dept;
END;
CREATE OR REPLACE TRIGGER new_dept
BEFORE INSERT ON dept
FOR EACH ROW
BEGIN
:NEW.deptno := next_dept();
-- this will fail when next_dept
-- returns 100 because deptno is
-- only 2 digits.
END;
INSERT INTO dept
-- you must provide a dummy deptno
-- to satisfy the PK constraint
VALUES(0, 'SURFING', 'MAUI');
null -
DSP Web Service Data Source runtime error "Invalid xsi:type qname"
I have created a DSP data service that uses a web service as a data source.
The web service wraps an Oracle PL/SQL package and works when tested independantly of the DSP data service.
When I test the DSP data service using the weblogic workshop test view I get the error below:
weblogic.xml.query.exceptions.XQueryDynamicException: {err}XQ0027: Validation failed: error: cvc-elt.4.2: Invalid xsi:type qname: 'ns0:EmpRecUser' in element getEmpResponseElement@http://hr/EmpWebService.wsdl/types/
(The full stack trace and the WSDL imported into DSP are at the bottom of this posting)
I am new to DSP but I have created data services from the DSP tutorials succesfully before.
This is the first data service I have tried to create which is not from a DSP tutorial.
I dont really understand the error message.
It appears to me that type EmpRecUser is being prefixed by the wrong name space. In the WSDL the namespace is 'tns:' in the error message the namespace is: 'ns0'.
<element name="getEmpResponseElement">
<complexType>
<sequence>
<element name="result" type="tns:EmpRecUser" nillable="true"/>
</sequence>
</complexType>
</element>
I created the web service in Oracle J Developer from the tutorial URL below.
http://www.oracle.com/technology/obe/obe1013jdev/10131/wsfromplsqlpackage/devwsfrom%20plsql.htm#p
weblogic.xml.query.exceptions.XQueryDynamicException: {err}XQ0027: Validation failed: error: cvc-elt.4.2: Invalid xsi:type qname: 'ns0:EmpRecUser' in element getEmpResponseElement@http://hr/EmpWebService.wsdl/types/
at weblogic.xml.query.schema.xmlbeans.XMLValidatorForXMLBeans.giveToken(XMLValidatorForXMLBeans.java:169)
at weblogic.xml.query.schema.ValidatingIterator.fetchNext(ValidatingIterator.java:148)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:113)
at com.bea.ld.wrappers.ws.JAXRPCWebserviceIterator.fetchNext(JAXRPCWebserviceIterator.java:104)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:113)
at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
at weblogic.xml.query.iterators.GenericIterator.hasNext(GenericIterator.java:134)
at weblogic.xml.query.runtime.sequences.Subsequence.fetchNext(Subsequence.java:101)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:113)
at weblogic.xml.query.runtime.querycide.QueryAssassin.fetchNext(QueryAssassin.java:54)
at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:151)
at weblogic.xml.query.runtime.qname.InsertNamespaces.fetchNext(InsertNamespaces.java:238)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:113)
at weblogic.xml.query.runtime.core.QueryIterator.fetchNext(QueryIterator.java:127)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:113)
at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:151)
at weblogic.xml.query.xdbc.util.Serializer.processNamespaces(Serializer.java:340)
at weblogic.xml.query.xdbc.util.Serializer.processElement(Serializer.java:262)
at weblogic.xml.query.xdbc.util.Serializer.process(Serializer.java:206)
at weblogic.xml.query.xdbc.util.Serializer.serializeItems(Serializer.java:152)
Caused by: weblogic.xml.query.schema.xmlbeans.XMLValidatorForXMLBeans$ValidationException: null
at weblogic.xml.query.schema.xmlbeans.XMLValidatorForXMLBeans$ExceptionCollection.add(XMLValidatorForXMLBeans.java:340)
at org.apache.xmlbeans.impl.validator.Validator.emitError(Validator.java:175)
at org.apache.xmlbeans.impl.validator.Validator.emitFieldError(Validator.java:207)
at org.apache.xmlbeans.impl.validator.Validator.emitFieldError(Validator.java:193)
at org.apache.xmlbeans.impl.validator.Validator.beginEvent(Validator.java:458)
at org.apache.xmlbeans.impl.validator.Validator.nextEvent(Validator.java:246)
at weblogic.xml.query.schema.xmlbeans.XMLValidatorForXMLBeans.processBeginElementToken(XMLValidatorForXMLBeans.java:1205)
at weblogic.xml.query.schema.xmlbeans.XMLValidatorForXMLBeans.processToken(XMLValidatorForXMLBeans.java:1322)
at weblogic.xml.query.schema.xmlbeans.XMLValidatorForXMLBeans.processTokensOnHold(XMLValidatorForXMLBeans.java:1349)
at weblogic.xml.query.schema.xmlbeans.XMLValidatorForXMLBeans.gotBeginElementToken(XMLValidatorForXMLBeans.java:772)
at weblogic.xml.query.schema.xmlbeans.XMLValidatorForXMLBeans.giveToken(XMLValidatorForXMLBeans.java:100)
at weblogic.xml.query.schema.ValidatingIterator.fetchNext(ValidatingIterator.java:148)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:113)
at com.bea.ld.wrappers.ws.JAXRPCWebserviceIterator.fetchNext(JAXRPCWebserviceIterator.java:104)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:113)
at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
at weblogic.xml.query.iterators.GenericIterator.hasNext(GenericIterator.java:134)
at weblogic.xml.query.runtime.sequences.Subsequence.fetchNext(Subsequence.java:101)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:113)
at weblogic.xml.query.runtime.querycide.QueryAssassin.fetchNext(QueryAssassin.java:54)
at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:151)
at weblogic.xml.query.runtime.qname.InsertNamespaces.fetchNext(InsertNamespaces.java:238)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:113)
at weblogic.xml.query.runtime.core.QueryIterator.fetchNext(QueryIterator.java:127)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:113)
at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:151)
at weblogic.xml.query.xdbc.util.Serializer.processNamespaces(Serializer.java:340)
at weblogic.xml.query.xdbc.util.Serializer.processElement(Serializer.java:262)
at weblogic.xml.query.xdbc.util.Serializer.process(Serializer.java:206)
at weblogic.xml.query.xdbc.util.Serializer.serializeItems(Serializer.java:152)
at com.bea.ld.server.QueryInvocation.getResult(QueryInvocation.java:461)
<definitions
name="EmpWebService"
targetNamespace="http://hr/EmpWebService.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://hr/EmpWebService.wsdl"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:tns0="http://hr/EmpWebService.wsdl/types/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://hr/EmpWebService.wsdl/types/"
elementFormDefault="qualified" xmlns:tns="http://hr/EmpWebService.wsdl/types/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/">
<element name="getEmpElement">
<complexType>
<sequence>
<element name="empNo" type="decimal" nillable="true"/>
</sequence>
</complexType>
</element>
<element name="getEmpResponseElement">
<complexType>
<sequence>
<element name="result" type="tns:EmpRecUser" nillable="true"/>
</sequence>
</complexType>
</element>
<complexType name="EmpRecUser">
<complexContent>
<extension base="tns:EmpRecBase">
<sequence>
<element name="departmentId" type="decimal" nillable="true"/>
<element name="managerId" type="decimal" nillable="true"/>
<element name="hireDate" type="dateTime" nillable="true"/>
<element name="jobId" type="string" nillable="true"/>
<element name="employeeId" type="decimal" nillable="true"/>
<element name="commissionPct" type="decimal" nillable="true"/>
<element name="salary" type="decimal" nillable="true"/>
<element name="lastName" type="string" nillable="true"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="EmpRecBase">
<sequence/>
</complexType>
</schema>
</types>
<message name="EmpWebService_getEmp">
<part name="parameters" element="tns0:getEmpElement"/>
</message>
<message name="EmpWebService_getEmpResponse">
<part name="parameters" element="tns0:getEmpResponseElement"/>
</message>
<portType name="EmpWebService">
<operation name="getEmp">
<input message="tns:EmpWebService_getEmp"/>
<output message="tns:EmpWebService_getEmpResponse"/>
</operation>
</portType>
<binding name="EmpWebServiceSoapHttp" type="tns:EmpWebService">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getEmp">
<soap:operation soapAction="http://hr/EmpWebService.wsdl/getEmp"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="EmpWebService">
<port name="EmpWebServiceSoapHttpPort" binding="tns:EmpWebServiceSoapHttp">
<soap:address location="http://localhost:8888/PL_SQL_WS-GetEmployee-context-root/EmpWebServiceSoapHttpPort"/>
</port>
</service>
</definitions>DSP validates the results from webservices. Whatever you tested the webservice with outside of DSP, probably does not.
Can you capture the output of the webservice and attach it as well? You can capture the webservice response by running the wls server with the command-line property -Dweblogic.webservice.verbose=true
Can you also open a case with customer support for this? I will not likely have much time to look at it.
- Mike
btw - the namespace prefixes are just place-holders that are defined with xmlns:prefix="some-uri". It is the namespace uri's that must be equivalent. If, in one case you have the definition xmlns:tns="myUri" and in another case xmlns:ns0="myUri" - then tns:EmpRecUser is equivalent to ns0:EmpRecUser.
Perhaps in the webservice result there is no definition, or an incorrect definition for the namespace prefix ns0 - that would explain the complaint about the QName ns0:EmpRecUser. According to the wsdl, there should be a definition for ns0 as :
xmlns:ns0="http://hr/EmpWebService.wsdl"
in the webservice response. -
TYPE003: Runtime Type Mismatch
A general question:
ODSI 10gR3
Has anyone seen the "TYPE003: Runtime Type Mismatch" error returned when you pass a variable through a function rather than a literal? The variable is the exact same value as the literal and I have casted all to a xs:double before passing through the "getReferencesByVersionID" function in code below.
=============================================================
(: Always tested with the same $VersionID and only 1 order in the database :)
for $Order in tns:getOrdersByVersionID($VersionID)
return
(: let $OrderNum := tns:getOrderNum(fn:data($Order/ns1:OrderNum)) :) (: Fail :)
let $OrderNum := xs:double(fn:data($Order/ns1:OrderNum)) (: Fail :)
(: let $OrderNum := xs:double(12001002) :) (: Success :)
let $References := tns:getReferencesByVersionID($VersionID, $OrderNum)
return
Returned XML snippet when run successfully:
<ns0:Order ns0:TransactionPurpose="ADD/UPDATE">
<ns0:ShipperRef>J10310ST12001002</ns0:ShipperRef>
<ns0:OrderNum>12001002</ns0:OrderNum> (: Populated by: "data($Order/ns1:OrderNum)". "ns0:OrderNum" defined as xs:double in schema. Note: same value as literal :)
<ns0:Comments/>
<ns0:OrderType>O</ns0:OrderType>
<ns0:Workflow>O</ns0:Workflow>
Returned Trace when not working:
com.bea.dsp.das.exception.DASException: weblogic.xml.query.exceptions.XQueryTypeException: {bea-err}TYPE003: Runtime Type Mismatch
at com.bea.dsp.das.ejb.EJBClient.invokeOperation(EJBClient.java:160)
at com.bea.dsp.das.DataAccessServiceImpl.invokeOperation(DataAccessServiceImpl.java:171)
at com.bea.dsp.das.DataAccessServiceImpl.invoke(DataAccessServiceImpl.java:122)
at com.bea.dsp.ide.xquery.views.test.QueryExecutor.invokeFunctionOrProcedure(QueryExecutor.java:113)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.getFunctionExecutionResult(XQueryTestView.java:1041)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.executeFunction(XQueryTestView.java:1176)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.widgetSelectedImpl(XQueryTestView.java:1866)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.access$300(XQueryTestView.java:174)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent$3.run(XQueryTestView.java:1594)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.widgetSelectedBusy(XQueryTestView.java:1597)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.widgetSelected(XQueryTestView.java:1560)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3687)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3298)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
The obvious answer is that "fn:data($Order/ns1:OrderNum)" does not equal "xs:double(12001002)" when passed through the " tns:getReferencesByVersionID()" function but it appears to be the same value.
This is happening in the Application layer so too much to include all the code. Thoughts/Comments on where to look or what I am missing?
Thanks
TomThanks Mike. No other web services... all physical ODSI to a single Oracle 11g denormalized table, selected several times to get different parts of the data (order header, shipping info, items, etc) and bubbled up through the layers via transformations finally getting into a single XML ORDER at the app layer.
I'm not a guru at reading traces but it appears numieric vs double issue?
The full stack trace:
weblogic.xml.query.exceptions.XQueryTypeException: {bea-err}TYPE003: Runtime Type Mismatch
at weblogic.xml.query.runtime.core.ExecutionWrapper.asXQueryException(ExecutionWrapper.java:165)
at weblogic.xml.query.runtime.core.ExecutionWrapper.fetchNext(ExecutionWrapper.java:94)
at weblogic.xml.query.iterators.GenericIterator.hasNext(GenericIterator.java:133)
at weblogic.xml.query.runtime.node.DeflateRec.fetchNext(DeflateRec.java:43)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at com.bea.ld.server.ResultPusher$ChunkyBinxmlChunker.nextChunk(ResultPusher.java:402)
at com.bea.ld.server.ResultPusher$AsyncChunkyBinxmlChunker.nextChunk(ResultPusher.java:520)
at com.bea.ld.server.ResultPusher$BinxmlChunker.next(ResultPusher.java:292)
at com.bea.ld.EJBRequestHandler$1.next(EJBRequestHandler.java:938)
at com.bea.ld.ServerBean.maybeStreamResult(ServerBean.java:97)
at com.bea.ld.ServerBean.executeOperationStreaming(ServerBean.java:86)
at com.bea.ld.Server_ydm4ie_EOImpl.executeOperationStreaming(Server_ydm4ie_EOImpl.java:72)
at com.bea.ld.Server_ydm4ie_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
java.lang.ClassCastException: weblogic.xml.query.tokens.basic.Basic_StringToken
at weblogic.xml.query.runtime.numeric.compare.DoubleEqual.compare(DoubleEqual.java:31)
at weblogic.xml.query.runtime.compare.ComparisonIterator.execute(ComparisonIterator.java:45)
at weblogic.xml.query.iterators.FunctionIterator.fetchNext(FunctionIterator.java:30)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.logic.BoolEffValue.exec(BoolEffValue.java:47)
at weblogic.xml.query.runtime.logic.BoolEffValue.execute(BoolEffValue.java:43)
at weblogic.xml.query.iterators.FunctionIterator.fetchNext(FunctionIterator.java:30)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.IfThenElse.fetchNext(IfThenElse.java:79)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.CountMapIterator.fetchNext(CountMapIterator.java:167)
at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:163)
at weblogic.xml.query.runtime.constructor.SuperElementConstructor.getPhase2(SuperElementConstructor.java:388)
at weblogic.xml.query.runtime.constructor.PartMatElemConstructor.matEverything(PartMatElemConstructor.java:123)
at weblogic.xml.query.runtime.constructor.PartMatElemConstructor.fetchNext(PartMatElemConstructor.java:197)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.IfThenElse.fetchNext(IfThenElse.java:91)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.IfThenElse.fetchNext(IfThenElse.java:91)
at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:163)
at weblogic.xml.query.runtime.navigation.ChildPath.fetchNext(ChildPath.java:221)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.iterators.BasicMaterializedTokenStream.next(BasicMaterializedTokenStream.java:109)
at weblogic.xml.query.iterators.BasicMaterializedTokenStream$MatStreamIterator.fetchNext(BasicMaterializedTokenStream.java:448)
at weblogic.xml.query.iterators.LegacyGenericIterator.next(LegacyGenericIterator.java:109)
at weblogic.xml.query.runtime.core.RTVariable.fetchNext(RTVariable.java:53)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.sequences.Exists.execute(Exists.java:37)
at weblogic.xml.query.iterators.FunctionIterator.fetchNext(FunctionIterator.java:30)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.IfThenElse.fetchNext(IfThenElse.java:79)
at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:163)
at weblogic.xml.query.runtime.constructor.SuperElementConstructor.getPhase2(SuperElementConstructor.java:388)
at weblogic.xml.query.runtime.constructor.PartMatElemConstructor.matEverything(PartMatElemConstructor.java:123)
at weblogic.xml.query.runtime.constructor.PartMatElemConstructor.fetchNext(PartMatElemConstructor.java:197)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.iterators.BasicMaterializedTokenStream.next(BasicMaterializedTokenStream.java:109)
at weblogic.xml.query.iterators.BasicMaterializedTokenStream$MatStreamIterator.fetchNext(BasicMaterializedTokenStream.java:448)
at weblogic.xml.query.iterators.LegacyGenericIterator.next(LegacyGenericIterator.java:109)
at weblogic.xml.query.runtime.core.RTVariable.fetchNext(RTVariable.java:53)
at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:163)
at weblogic.xml.query.runtime.navigation.ChildPath.fetchNext(ChildPath.java:221)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.sequences.Exists.execute(Exists.java:37)
at weblogic.xml.query.iterators.FunctionIterator.fetchNext(FunctionIterator.java:30)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.IfThenElse.fetchNext(IfThenElse.java:79)
at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:163)
at weblogic.xml.query.runtime.constructor.SuperElementConstructor.buildPreserveModeTextNode(SuperElementConstructor.java:320)
at weblogic.xml.query.runtime.constructor.SuperElementConstructor.getPhase2(SuperElementConstructor.java:405)
at weblogic.xml.query.runtime.constructor.PartMatElemConstructor.matEverything(PartMatElemConstructor.java:123)
at weblogic.xml.query.runtime.constructor.PartMatElemConstructor.fetchNext(PartMatElemConstructor.java:197)
at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:163)
at weblogic.xml.query.runtime.constructor.SuperElementConstructor.getPhase2(SuperElementConstructor.java:388)
at weblogic.xml.query.runtime.constructor.PartMatElemConstructor.fetchNext(PartMatElemConstructor.java:229)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.LetIterator.fetchNext(LetIterator.java:133)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.LetIterator.fetchNext(LetIterator.java:133)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.LetIterator.fetchNext(LetIterator.java:133)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.LetIterator.fetchNext(LetIterator.java:133)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.LetIterator.fetchNext(LetIterator.java:133)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.CountMapIterator.fetchNext(CountMapIterator.java:167)
at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:163)
at weblogic.xml.query.runtime.constructor.SuperElementConstructor.getPhase2(SuperElementConstructor.java:388)
at weblogic.xml.query.runtime.constructor.PartMatElemConstructor.fetchNext(PartMatElemConstructor.java:229)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.debug.Trace.fetchNext(Trace.java:70)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
at weblogic.xml.query.iterators.LegacyGenericIterator.hasNext(LegacyGenericIterator.java:130)
at weblogic.xml.query.runtime.sequences.Subsequence.fetchNext(Subsequence.java:101)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.querycide.QueryAssassin.fetchNext(QueryAssassin.java:54)
at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:163)
at weblogic.xml.query.runtime.qname.InsertNamespaces.fetchNext(InsertNamespaces.java:237)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at weblogic.xml.query.runtime.core.ExecutionWrapper.fetchNext(ExecutionWrapper.java:88)
at weblogic.xml.query.iterators.GenericIterator.hasNext(GenericIterator.java:133)
at weblogic.xml.query.runtime.node.DeflateRec.fetchNext(DeflateRec.java:43)
at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
at com.bea.ld.server.ResultPusher$ChunkyBinxmlChunker.nextChunk(ResultPusher.java:402)
at com.bea.ld.server.ResultPusher$AsyncChunkyBinxmlChunker.nextChunk(ResultPusher.java:520)
at com.bea.ld.server.ResultPusher$BinxmlChunker.next(ResultPusher.java:292)
at com.bea.ld.EJBRequestHandler$1.next(EJBRequestHandler.java:938)
at com.bea.ld.ServerBean.maybeStreamResult(ServerBean.java:97)
at com.bea.ld.ServerBean.executeOperationStreaming(ServerBean.java:86)
at com.bea.ld.Server_ydm4ie_EOImpl.executeOperationStreaming(Server_ydm4ie_EOImpl.java:72)
at com.bea.ld.Server_ydm4ie_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) -
Conversion of Java Generics to JavaFX sequence in Java Program
I have created a TwitterFetcher.java which collects the latest 20 tweets and generates a List<TwitterUpdate>
I know that I have to convert this Java List into a JavaFX Sequence using Sequences.
Have tried quite a few variations with Sequences.make(...) but to no avail.
following is the code:
import com.sun.javafx.runtime.sequence.Sequence;
import com.sun.javafx.runtime.sequence.Sequences;
import java.util.Iterator;
import org.w3c.dom.TypeInfo;...
List<TwitterUpdate> ltu = new ArrayList<TwitterUpdate>();
TwitterUpdate tu = new TwitterUpdate();
Sequence<? extends TwitterUpdate> stu;
public Sequence<TwitterUpdate> getUpdates()
for (Status status : api.getFriendsTimeline())
tu.setName(status.getUser().getName());
tu.setScreenName(status.getUser().getScreenName());
tu.setImgURL(status.getUser().getProfileImageUrl());
tu.setTweet(status.getText());
tu.setDate(status.getCreatedAt().toDate().toString());
ltu.add(tu);
//convert the List to a Sequence
//return the sequenceAm I missing a step or two or doing something completed wrong.??
I really have to get this done..We are actually following MVC architecture, where in our back end is totally in Java and the rendering is handled in JavaFX..
Hence interop between the two was extremely important..
and the problem was that...
in our JavaFX project...we have packages with only java files and other packages with only JavaFX package..
So whilst importing packages in a JavaFX classes..we can recognize our own java and javafx files...
But whilst in Java classes..recognition of Javafx packages is not possible....
Hence sharing Data structures between the two was difficult...
So we ended up making POJOs..and ported that in JavaFX classes as it was able to recognize Java objects...
We are now using concept of Array of objects and passing it to JavaFX classes as return type..
Regards
Kaustubh -
as developer which is newly use oracle.. I have confusion
It is sequence.
in contrast with MySQL or SQL Server, db system I had work in, oracle didn't have auto increment column instead oracle has sequence
I think sequence and id column have link, but I get confused cause there no link between both
someone could insert id without sequence
after that I search this forum and found out
remedy of this is trigger. place trigger for insert operation
What is the best pratice for sequence? particulary when I create table
thanks & regardsHi Hemanth,
One Question on the below descriptive
A Sequence can be shared across multiple sessions and sessions do not have to "wait" on each other to increment sequence values.
A Trigger is one way to implement a Sequence to set a Column Value.
{code}
Looking into the above statements and usage, we might get Gap Sequence (no exactly gap but a failing issue with primary key if we handle sequence with triggers) - When handling with multiple Sessions with triggers.
Let me know your inputs on that.
- Pavan Kumar N
Oracle 9i/10g - OCP
http://oracleinternals.blogspot.com/
Maybe you are looking for
-
Authorization in struts application, how to do it simple and elegant?
hey all, I am trying to implement a sturts application with authorization. The basic idea is this: users has permissions to execute commands based on their given privileges (stored in db). one possibility I have is to check their permission in the me
-
Text wrap around an achored object
I'm continually frustrated by a text wrap issue around an achored object in a story. I have two anchored textframes that are taking up the top half of a text frame, one of them has a full column text wrap applied to it which forces the first title of
-
Is it possible to remove effects recorded in Apple loops?
Hi there, I'm using a piano loop Classic Rock Piano09 which is blue and I want to take off the delay they've put on it. I'm guessing because it's a 'blue' loop then I can't, but am hoping that I can somehow convert it to midi notes or maybe even a no
-
1/20/2015 - Beta - AIR 16.0.0.283
Adobe AIR Beta Channel Update This beta release provides access to the latest AIR SDK for Windows, Mac OS, iOS and Android. You can download the AIR beta here: Download Adobe AIR 16 Beta - Adobe Labs Below are some of the key features and benefits o
-
I have a Macbook (April 2008 model) which can run Lion but not Mountain Lion. I would like to use iBooks Author which requires Lion and there are a couple of photography apps which also require 10.7 - and I see that there may be security concerns wit