Linux OS:
Use account: ITAMHR, ordinary user permissions, dbas have given UTL_DBWS EXECUTE permissions
Stored procedure is as follows:
The create or replace procedure getITAssetData is
L_service SYS. UTL_DBWS. Service;
L_call SYS. UTL_DBWS. Call;
L_result ANYDATA;
L_wsdl_url VARCHAR2 (100);
L_namespace VARCHAR2 (100);
ESB_PWD VARCHAR2 (50);
ESB_SERVICE_ID VARCHAR2 (50);
ESB_SID VARCHAR2 (25);
ESB_SN VARCHAR2 (250);
ESB_USER VARCHAR2 (25);
L_service_qname SYS. UTL_DBWS. Qname;
L_operation_qname SYS. UTL_DBWS. Qname;
RsCursor SYS_REFCURSOR;
L_name VARCHAR2 (256);
L_input_params SYS. UTL_DBWS. ANYDATA_LIST;
The begin
- the corresponding WSDL address
L_wsdl_url:='http://10.10.162.36/esbservice.wsdl';
L_namespace:='http://w3.ibm.com/gbs/ais/ei/esb';
Parameters - 1
ESB_PWD:='DD4B';
Dbms_output. Put_line (' 1 ');
2 - parameter
ESB_SERVICE_ID:='00000000000100';
3 - parameter
ESB_SID:='0000';
4 - parameter
ESB_SN:='000020150602142247139621';
5 - parameter
ESB_USER:='0000';
Dbms_output. Put_line (' 2 ');
L_service_qname:=SYS. UTL_DBWS. To_qname (l_namespace, 'EsbService');
Dbms_output. Put_line (' 3 ');
L_operation_qname:=SYS. UTL_DBWS. To_qname (l_namespace, 'invoke');
Dbms_output. Put_line (' 4 ');
L_service:=SYS. UTL_DBWS. Create_service (wsdl_document_location=& gt; URIFACTORY. GetURI (l_wsdl_url), service_name=& gt; L_service_qname);
Dbms_output. Put_line (' 5 ');
L_call:=SYS. UTL_DBWS. Create_call (service_handle=& gt; L_service, port_name=& gt; Null, operation_name=& gt; L_operation_qname);
Dbms_output. Put_line (' 6 ');
L_input_params: (1)=ANYDATA. ConvertVarchar2 (ESB_PWD);
Dbms_output. Put_line (' 7 ');
L_input_params (2) :=ANYDATA ConvertVarchar2 (ESB_SERVICE_ID);
L_input_params (3) :=ANYDATA ConvertVarchar2 (ESB_SID);
L_input_params (4) :=ANYDATA ConvertVarchar2 (ESB_SN);
L_input_params (5) :=ANYDATA. ConvertVarchar2 (ESB_USER);
- return value
L_result:=SYS. UTL_DBWS. Invoke (call_Handle=& gt; L_call, input_Params=& gt; L_input_params);
SYS. UTL_DBWS. Release_call (call_handle=& gt; L_call);
SYS. UTL_DBWS. Release_service (service_handle=& gt; L_service);
Dbms_output. Put_line (ANYDATA. AccessVarchar2 l_result ());
- XML parsing function called
The OPEN rsCursor for select idAttributeOfDocElements (ANYDATA AccessVarchar2 (l_result)) from dual;
LOOP
The fetch rsCursor into l_name; Exit the when rsCursor % NOTFOUND;
Dbms_output. Put_line (l_name);
End LOOP;
The EXCEPTION
The WHEN OTHERS THEN
Dbms_output. Put_line (SQLERRM);
END getITAssetData;
Output statements:
1
2
3
4
ORA - 29532: Java calls terminated by uncaught Java exception error: Java. Lang. IllegalAccessException: Java. Lang. NoClassDefFoundError
I have been in accordance with the requirements of the website, will dbwsclientdb11. Jar and dbwsclientws jar into the SQLJ/lib, and run the loadjava command,
But system to execute the stored procedure "ORA - 29532: Java calls terminated by uncaught Java exception error: Java lang. IllegalAccessException: Java lang. NoClassDefFoundError"
This causes what is wrong? Authorization and jars were already in place, how could say NoClassFound?
Great god, please give directions, and which is not configured properly? Or where I can view the details of which there is something wrong with the class? Thank you very much!
CodePudding user response:
Solve it I also out of the question of how to do???????CodePudding user response:
Close to the year postDo how??
CodePudding user response:
ORA - 29532: Java calls terminated by uncaught Java exception error: Java. Lang. IllegalAccessException: Java. Lang. ExceptionInInitializerError