JCABindingException when running published PL/SQL stored procedure on OSB
Hi,
JDEV 10.1.3.4
OSB 10.3.1
I have published a simple PL/SQL function on OSB.
FUNCTION pubProc(pinput XMLTYPE) RETURN XMLTYPE.
I used DBAdapter wsdls,jca created by JDEV 10.1.3.4.
When I test business service with message:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
</soap:Header>
<soapenv:Body>
<pub:InputParameters xmlns:pub="http://xmlns.oracle.com/pcbpel/adapter/db/OSWD/TESTDBPUBLISH/PUBPROC/">
<!--Optional:-->
<pub:PINPUT>
<a>bcd</a>
</pub:PINPUT>
</pub:InputParameters>
</soapenv:Body>
</soapenv:Envelope>
I got:
<JCA_TRANSPORT_RUNTIME_APPLICATION_FAULT xmlns="http://www.bea.com/transport/2007/05/jca">
oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/DEV/WSDL/testdbpublish [ testdbpublish_ptt::testdbpublish(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'testdbpublish' failed due to: Error while converting to a Java object.
Unable to convert the XSD element PINPUT whose SQL type is Opaque and JDBC type is OPAQUE. Cause: java.lang.ClassCastException: weblogic.jdbc.wrapper.JTAConnection_weblogic_jdbc_wrapper_XAConnection_weblogic_jdbcx_base_BaseConnectionWrapper.
; nested exception is:
JCA-11803
Error while converting to a Java object.
Unable to convert the XSD element PINPUT whose SQL type is Opaque and JDBC type is OPAQUE. Cause: java.lang.ClassCastException: weblogic.jdbc.wrapper.JTAConnection_weblogic_jdbc_wrapper_XAConnection_weblogic_jdbcx_base_BaseConnectionWrapper.
Check to ensure that the XML data describing the object matches the definition of the element in the XSD. Contact oracle support if error is not fixable.
Could someone please tell what is wrong ?
Shoud I perform any custom transformation ?
Regards,
Cezary
Hi Cezary,
OSB has told you what has gone wrong -
Unable to convert the XSD element PINPUT whose SQL type is Opaque and JDBC type is OPAQUE. Cause: java.lang.ClassCastExceptionTry with below input -
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
</soap:Header>
<soapenv:Body>
<pub:InputParameters xmlns:pub="http://xmlns.oracle.com/pcbpel/adapter/db/OSWD/TESTDBPUBLISH/PUBPROC/">
<!--Optional:-->
<pub:PINPUT>
<bcd/>
</pub:PINPUT>
</pub:InputParameters>
</soapenv:Body>
</soapenv:Envelope>
Regards,
Anuj
Similar Messages
-
How to run a pl/sql stored procedure as a concurrent program
Hi All,
I created a package PURGE_DEAL_REQUESTS. It contains a procedure QPR_DELETE_CANCELLED_REQUESTS. I want to run this stored procedure as concurrent program in ebs suite....
Can anyone tell me how to run this procedure as a concurrent program(in ebs suite).....?
Thanks
Swathi.You need to add the concurrent program to the group of the responsibility that will run the report. For more details, please refer to:
Note: 73492.1 - Creating a PL/SQL Concurrent Program in Oracle Applications
https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=73492.1
Note: 133991.1 - How to Register a Custom Report
https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=133991.1 -
How to get name of PL/SQL stored procedure being executed?
When executing a PL/SQL stored procedure, is there a way to extract the name of the procedure programatically?
(Similar to the way an Oracle Form can retrieve it's own name via GET_APPLICATION_PROPERTY(CURRENT_FORM_NAME). )
ThanksHere is one sample ->
satyaki>
satyaki>select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
Elapsed: 00:00:00.17
satyaki>
satyaki>
satyaki>CREATE OR REPLACE PROCEDURE error_test1 AS
2 BEGIN
3 dbms_output.put_line(dbms_utility.format_call_stack);
4 END error_test1;
5 /
Procedure created.
Elapsed: 00:00:06.45
satyaki>
satyaki>
satyaki>exec error_test1;
----- PL/SQL Call Stack -----
object line object
handle number name
1D609C14 3 procedure SCOTT.ERROR_TEST1
1D5A89B8 1 anonymous block
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.21
satyaki>
satyaki>Regards.
Satyaki De. -
Exposing/Publishing PL/SQL Stored Procs as Web Services
Has anyone come up with a way to publish PL/SQL stored procedures as web services? Our team already has sufficient knowledge in deploying EJBs and exposing them as services but we're curious to see if we can create services without building and deploying an EJB as the provider mechanism.
Any ideas/guidance are appreciated!In JDeveloper 10 you can do it. check that article
But in 11g version they hide that option :(
[some info|http://forums.oracle.com/forums/thread.jspa?messageID=3237164�]
Edited by: August_ on Apr 19, 2009 11:52 PM -
Actuate 7 PL/SQL Stored Procedure Call Before the Report Run.
Hi,
I need a small help to call a pl sql stored procedure in actuate 7.
I wrote a code a on component content
Function runProc(procName as String, connection As AcDBConnection )
' Insert your code here
Dim statement As AcDBStatement
Dim results as string
' Prepare statement
Set statement = connection.Prepare("BEGIN " & procName & "; END;" )
If statement Is Nothing Then
results = "Failed to prepare statement."
results = results & " " & connection.GetSpecificErrorText( )
results = results & " " & connection.GetGeneralErrorText( )
Exit sub
End If
' Execute sprocoutparam
If statement.Execute() = 0 Then
results = "Stored procedure " & procName & "execution failed."
results = results & " " & connection.GetSpecificErrorText( )
results = results & " " & connection.GetGeneralErrorText( )
Else
results = "Stored procedure " & procName & " execution success."
End if
ShowFactoryStatus(results)
End FunctionNow this Code I am calling on the Chart Start Method
Sub Start( )
Super::Start( )
' Insert your code here
Dim ProcName as String
Dim connectionObject As AcDBConnection
ProcName="DELETECUSTOMER(1234)"
runProc(ProcName, connectionObject )
End SubNow when i Run the Report i get this Error !
NewReportApp::Frame::Chart%Start(9): Invalid procedure reference. - (runProc)
1 Semantic Error(s) found
Thanks,
Asifhi,
Finally Figured Out Here....
Steps to Call the Stored Procedure In Actuate 7
1 – Right Click on Content – Frame and go to properties and method Tab.
1 – Click on New Button to you create own custom method.
2 – Write the following code :
Sub runProc(procName as String, connection As AcDBConnection )
Dim statement As AcDBStatement
Dim results as string
Set connection = GetConnection()
'Prepare statement
Set statement = connection.Prepare("BEGIN " & procName & "; END;" )
If statement Is Nothing Then
results = "Failed to prepare statement."
results = results & " " & connection.GetSpecificErrorText( )
results = results & " " & connection.GetGeneralErrorText( )
MsgBox "Procedure Not Called....Badddddd"
Exit sub
End If
' Execute sprocoutparam
If statement.Execute() = 0 Then
results = "Stored procedure " & procName & "execution failed."
results = results & " " & connection.GetSpecificErrorText( )
results = results & " " & connection.GetGeneralErrorText( )
MsgBox "Procedure Not Called....Badddddd" & results
Else
results = "Stored procedure " & procName & " execution success."
MsgBox "Procedure Called....Wowwww"
End if
ShowFactoryStatus(results)
End Sub2 – Now let call the stored procedure before our actual report query runs.
1 - Right Click on Content – Frame and go to properties and method Tab.
2 - Select the Start Method and Click on Override button.
3 - Write the following code:
Sub Start( )
Dim ProcName as String
Dim connectionObject As AcDBConnection
Set connectionObject = GetConnection()
ProcName="XXTEST ()"
runProc( ProcName, connectionObject )
Super::Start ( )
End Sub3 – Now design your report as usual using the Textual Query window. -
Do I run a shell script (bsh) via PL/SQL stored procedure?
Hello guys,
Do I run a shell script (bsh) via PL/SQL stored procedure?
For example:
procedure X is
(variables)
begin
-- Read file data
vFileHandle := utl_file.fopen('/mnt/novell/', 'file.txt','r');
exception
when 'INVALID READ FILE' then
(I've to try running script to mount a Novell partition.);
end;
I've to installed Oracle 9.0.1 on Suse Linux.
Please, any ideas or hints ...
Thx and regards.You might be able to us the HOST command, I think you'd have to run it via dbms_sql, check this page for more details, not sure if it'll be of help but its worth a try..
http://otn.oracle.com/docs/products/oracle8i/doc_library/817_doc/server.817/a82950/ch8.htm
Cheers
Rob -
Run Authorware using an SQL stored procedure
I have an Authorware piece that reads a text file, performs
some calculations, generates a .bmp , writes an output text file,
and then closes. I would like to trigger this using an SQL Server
stored procedure. The piece works fine if it is run directly, but
the stored procedure does not run the Authorware program (though I
can run a variety of other applications using similar stored
procedures). Is it possible to call and run Authorware pieces from
other applications?
Thanks,
DavidIf I were to make a bet, I would say the issue is related to ODBC. Can you get access to you database using ADO directly? This removes two pieces: the ODBC drivers and the SQL Toolbox.
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps -
Why doesn't SSRS like an IF Statement in my SQL Stored Procedure???
I have multiple IF Statements at the end of my SQL Stored Procedure Process that utilizes a @ReportTypeName Parameter to produce the chosen report result set
IF @ReportTypeName = 'HMO-POS New To HFHP - No Prior Year Member Spans'
BEGIN
SELECT DISTINCT
[#TempTable_Distinct_Individual_Member_All_Info].[INDV Member Contract Nbr],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV Member Subscriber Member Nbr],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV Benefit Pkg],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV Benefit Plan Name],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV Division Nbr],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER EFF DATE],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER NBR],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER FIRST NAME],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER LAST NAME],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV Broker Name],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER ADDRESS 1],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER CITY],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER STATE],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER ZIPCODE],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER PHONE1],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER PHONE2],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER PHONE3],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER EMAIL],
CONVERT(VARCHAR,CAST(CONVERT(VARCHAR, [#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER YMDBIRTH]) AS DATETIME),101) AS [INDV MEMBER BirthDate],
FLOOR((CAST (GETDATE() AS INTEGER) - CAST(CONVERT(DATETIME, CONVERT(CHAR(8), [#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER YMDBIRTH])) AS INTEGER)) / 365.25) AS [INDV MEMBER AGE]
FROM [#TempTable_Distinct_Individual_Member_All_Info]
WHERE (CHARINDEX('HMO',LTRIM(RTRIM([#TempTable_Distinct_Individual_Member_All_Info].[INDV Benefit Plan Name])),1) > 0
OR CHARINDEX('POS',LTRIM(RTRIM([#TempTable_Distinct_Individual_Member_All_Info].[INDV Benefit Plan Name])),1) > 0)
AND [#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER NBR] NOT IN
(SELECT [#TempTable_Distinct_Individual_Member_Prior_Year_Spans].[INDV MEMBER NBR]
FROM [#TempTable_Distinct_Individual_Member_Prior_Year_Spans])
ORDER BY [#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER NBR]
END
IF @ReportTypeName = 'HMO-POS Renewals'
BEGIN
SELECT DISTINCT
[#TempTable_Distinct_Individual_Member_All_Info].[INDV Member Contract Nbr],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV Member Subscriber Member Nbr],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV Benefit Pkg],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV Benefit Plan Name],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV Division Nbr],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER EFF DATE],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER NBR],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER FIRST NAME],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER LAST NAME],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV Broker Name],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER ADDRESS 1],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER CITY],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER STATE],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER ZIPCODE],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER PHONE1],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER PHONE2],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER PHONE3],
[#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER EMAIL],
CONVERT(VARCHAR,CAST(CONVERT(VARCHAR, [#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER YMDBIRTH]) AS DATETIME),101) AS [INDV MEMBER BirthDate],
FLOOR((CAST (GETDATE() AS INTEGER) - CAST(CONVERT(DATETIME, CONVERT(CHAR(8), [#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER YMDBIRTH])) AS INTEGER)) / 365.25) AS [INDV MEMBER AGE]
FROM [#TempTable_Distinct_Individual_Member_All_Info]
INNER JOIN [#TempTable_Distinct_Individual_Member_Prior_Year_Spans]
ON [#TempTable_Distinct_Individual_Member_Prior_Year_Spans].[INDV MEMBER NBR] = [#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER NBR]
WHERE (CHARINDEX('HMO',LTRIM(RTRIM([#TempTable_Distinct_Individual_Member_All_Info].[INDV Benefit Plan Name])),1) > 0
OR CHARINDEX('POS',LTRIM(RTRIM([#TempTable_Distinct_Individual_Member_All_Info].[INDV Benefit Plan Name])),1) > 0)
ORDER BY [#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER NBR]
END
Microsoft Visual Studio and SQL Server Reporting Services did not like this! When I added my dataset and parameters accordingly, my Dataset had no fields...almost as if running the Stored Procedure in the background to get its Metadata was not working. I
know this works because I tested it as a result of a straight EXEC Command. Why doesn't Microsoft Visual Studio and SQL Server Reporting Services not like this IF? I did end up getting around this by parameterizing the WHERE clause based on the @ReportTypeName
chosen.
WHERE (@ReportTypeName = 'HMO-POS New To HFHP - No Prior Year Member Spans'
AND (CHARINDEX('HMO',LTRIM(RTRIM([#TempTable_Distinct_Individual_Member_All_Info].[INDV Benefit Plan Name])),1) > 0
OR CHARINDEX('POS',LTRIM(RTRIM([#TempTable_Distinct_Individual_Member_All_Info].[INDV Benefit Plan Name])),1) > 0)
AND [#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER NBR] NOT IN
(SELECT [#TempTable_Distinct_Individual_Member_Prior_Year_Spans].[INDV MEMBER NBR]
FROM [#TempTable_Distinct_Individual_Member_Prior_Year_Spans]))
OR (@ReportTypeName = 'HMO-POS Renewals'
AND (CHARINDEX('HMO',LTRIM(RTRIM([#TempTable_Distinct_Individual_Member_All_Info].[INDV Benefit Plan Name])),1) > 0
OR CHARINDEX('POS',LTRIM(RTRIM([#TempTable_Distinct_Individual_Member_All_Info].[INDV Benefit Plan Name])),1) > 0)
AND [#TempTable_Distinct_Individual_Member_All_Info].[INDV MEMBER NBR] IN
(SELECT [#TempTable_Distinct_Individual_Member_Prior_Year_Spans].[INDV MEMBER NBR]
FROM [#TempTable_Distinct_Individual_Member_Prior_Year_Spans]))
I appreciate your review and am hopeful for a reply.
Thanks!Hi ITBobbyP,
I have tested on my local environment and can reproduce the issue, the issue can be caused by the temp table you are using which will also cause the data not display.
I have use below sample table and record to have a test and details information below for your reference:
Right click the DataSet to select the "DataSet Properties" and click the query designer to execute the stored procedure by click the "!" to check if you can get the data:
If you got some error, the issue can be cause by the temp table invalid, so please make sure you have add the query to create and insert recored to temp table like below:
CREATE PROCEDURE vickytest0311_1
@ReportTypeName nvarchar(50)
AS
create table #VickyTest
column1 int,
column2 varchar(20)
insert into #VickyTest values (1,'Test1')
insert into #VickyTest values (2,'Test2')
insert into #VickyTest values (3,'Test3')
IF @ReportTypeName ='Test1'
BEGIN
select * from #VickyTest
where Column1=1
END
IF @ReportTypeName ='Test2'
BEGIN
select * from #VickyTest
where Column1=2
END
GO
3. I recommend you to not use the temp table and you will not need to add the create and insert statement in the stored procedure.
4. If you still got no data, please try to click the "Refresh fields" as below:
If you still have any problem, please feel free to ask.
Regards,
Vicky Liu
Vicky Liu
TechNet Community Support -
Creating XML report using PL/SQL Stored Procedure
Hi Friends,
I am working on an xml report with the xml source as PL/SQL Stored Procedure.
I am referring the exercise shown in the following link to understand the process:
http://orclapp.blogspot.com/2012/02/developing-xml-publisher-report-using.html
In the example shown in the above link I could not understand the following:
1) In the following procedure, the out parameter 'retcode' is not used at all.
What is the importance of this parameter.
PROCEDURE REPORT (errbuf OUT VARCHAR2, retcode OUT VARCHAR2, p_product_id IN NUMBER)
2) After the xml data is prepared and put to 'l_result' Clob variable, the following
Loop is executed. I am not able to appreciate why the following loop is required.
LOOP
EXIT WHEN l_length = l_retrieved;
IF (l_length - l_retrieved) < 32000
THEN
SELECT SUBSTR (l_result, l_retrieved + 1) INTO l_xmlstr FROM DUAL;
l_retrieved := l_length;
fnd_file.put_line (fnd_file.output, l_xmlstr);
ELSE
SELECT SUBSTR (l_result, l_retrieved + 1, l_offset)
INTO l_xmlstr
FROM DUAL;
l_retrieved := l_retrieved + l_offset;
fnd_file.put_line (fnd_file.output, l_xmlstr);
END IF;
END LOOP;
3) In the example it is not explained how the concurrent program gets the xml data?
I assume it is written to a file using the following line of code:
fnd_file.put_line (fnd_file.output, l_xmlstr);
I would appreciate if anyone can throw some light into my above queries so that I can understand the process clearly.
Thanks & Regards
HawkerHi 32000 in the code is a 'safe' size smaller than the max available 32767, the loops purpose is to move through the entire thing in chunks that will be manageable in the limits of the data type.
Btw; if you are in Oracle e-business suite then you can also use Oracle reports very simply to create XML output.
If you have reports developer all you need to do is put raw sql (without any 'artifice' to create XML) in the report SQL and then set the reports output to XML in the program definition in Oracle e-business.
best regards,
Robert. -
Cannot execute a MS SQL Server 2005 Stored procedure via OSB BS
I created the jca from Jdeveloper using DBAdapter. Then from eclipse I created the wsdl by generating the service. Then I imported all the relevant files in OSB console and created the business service. After executing the business service I get the below error (Pls scroll down).
I tried many combination s. I tested with a stored procedure which returns only 1 row and 1 column and I hardcoded the column value. I also tried a stored procedure without any input parameters.
I am sure there is no problem with the deployment of the datasource because I can execute operations to a table for select, update, delete using a business service following the above procedures.
I created the stored proc following the same steps for select, update, delete. Also one more info is that when I call a stored proc from Oracle XE database it is working fine.
My JDBC version is 4 . I am using the jar file provided by Microsoft that is sqljdbc4.
Web Logic Server - 11gR1
OSB - 11g + coherence + OEPE
JDeveloper - 11.1.1.3.0
can someone please help. This is very urgent. I have tried many combination's to get this to work from last 3 days without any luck.
Help appreciated.
Regards
this happens only while executing the stored procedure.
The invocation resulted in an error: Invoke JCA outbound service failed with application error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/NEHR_OSB/Lab/SvcNumb [ SvcNumb_ptt::SvcNumb(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'SvcNumb' failed due to: Stored procedure invocation error.
Error while trying to prepare and execute the OSBLogs.dbo.sp_Numb API.
An error occurred while preparing and executing the OSBLogs.dbo.sp_Numb API. Cause: java.lang.NullPointerException
; nested exception is:
BINDING.JCA-11811
Stored procedure invocation error.
Error while trying to prepare and execute the OSBLogs.dbo.sp_Numb API.
An error occurred while preparing and executing the OSBLogs.dbo.sp_Numb API. Cause: java.lang.NullPointerException
Check to ensure that the API is defined in the database and that the parameters match the signature of the API.
com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/NEHR_OSB/Lab/SvcNumb [ SvcNumb_ptt::SvcNumb(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'SvcNumb' failed due to: Stored procedure invocation error.
Error while trying to prepare and execute the OSBLogs.dbo.sp_Numb API.
An error occurred while preparing and executing the OSBLogs.dbo.sp_Numb API. Cause: java.lang.NullPointerException
; nested exception is:
BINDING.JCA-11811
Stored procedure invocation error.
Error while trying to prepare and execute the OSBLogs.dbo.sp_Numb API.
An error occurred while preparing and executing the OSBLogs.dbo.sp_Numb API. Cause: java.lang.NullPointerException
Check to ensure that the API is defined in the database and that the parameters match the signature of the API.Hi,
Even I am getting this kind of problem while executing a stored procedure from OSB.
I have a stored procedure and i have created wsdl and xsd using JDEV. Now when i am creating a .biz with this wsdl and executing it , this is giving following error:
<JCA_TRANSPORT_RUNTIME_APPLICATION_FAULT xmlns="http://www.bea.com/transport/2007/05/jca">
oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/DBTest/TryDB [ TryDB_ptt::TryDB(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'TryDB' failed due to: Error while trying to prepare and execute an API.
An error occurred while preparing and executing the EAIUSER.DIM_Procedure API. Cause: java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00201: identifier 'EAIUSER.DIM_PROCEDURE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
[Caused by: ORA-06550: line 1, column 7:
PLS-00201: identifier 'EAIUSER.DIM_PROCEDURE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
; nested exception is:
JCA-11811
Error while trying to prepare and execute an API.
An error occurred while preparing and executing the EAIUSER.DIM_Procedure API. Cause: java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00201: identifier 'EAIUSER.DIM_PROCEDURE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
[Caused by: ORA-06550: line 1, column 7:
PLS-00201: identifier 'EAIUSER.DIM_PROCEDURE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.
Please help me in solving this.. -
MS SQL Stored Procedure problem
Hi,
I am using BO XI R2, Crystal Report XI and MS SQL Database.
I found a strange error when generating the report using my java application if the crystal report is using MS SQL stored procedure. The error encountered :
com.crystaldecisions.sdk.occa.managedreports.ras.internal.a: Cannot open report document. --- Custom table prefix specified in the InfoStore does not exist. This is a configuration problem. Please contact your system administrator.
cause:com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Custom table prefix specified in the InfoStore does not exist. This is a configuration problem. Please contact your system administrator.---- Error code:-2147467259 Error code name:failed
detail:Cannot open report document. --- Custom table prefix specified in the InfoStore does not exist. This is a configuration problem. Please contact your system administrator.
This is when the code executed is:
reportClientDocument = reportAppFactory.openDocument(report, 0, Locale.ENGLISH);
If the report does not use the stored procedure, it's ok.
If i run the report (with stored procedure) from CMC using the default table prefix (in database config tab), it's able to generate the report.
If i select custom table prefix and specify the custom table prefix value with the same value as in the default table prefix, it could not generate the report and error stated that the table could not be found.
Please enlighten me if you have use MS SQL database for reporting with BO XI R2.
Thanks.That means it's not a SDK-specific error.
Once it's resolved in InfoView, it'll likely be resolved with your app.
You might want to open a support case with SAP.
Sincerely,
Ted Ueda -
Get server output from pl/sql stored procedure
Hi Colleagues,
I would like to get and watch the server output of my PL/SQL stored procedure
when I run my java program and call it from. The Stored proc. uses "dbms_output.put_line".
If it is clearly and possible (or not), will you send me your answer!
Thanks a lot
UlveHi,
You can redirect the standard output to the console (i.e., the SQL output) using the
DBMS_JAVA.SET_OUTPUT() method.
SQL> SET SERVEROUTPUT ON
SQL> call dbms_java.set_output (5000);But, the output is only printed when the stored procedure exits, and this setting works only for one call (i.e., the SQL call that immediately follows the invocation of DBMS_JAVA.SET_OUTPUT()). The minumum and default value is 2,000 characters and the maximum is 1,000,000 (1 million) characters. Notice the “SET SERVEROUTPUT ON” which enables displaying the outputs of stored procedures (Java or PL/SQL blocks) in SQL*Plus.
Kuassi http://db360.blogspot.com -
Debug PL/SQL Stored Procedure
I am using JDevloper 10.1.3.4. As I am steppping through a servlet in debug and a call is made to a pl/sql stored procedure is it possible to seamlessly (or otherwise) have the debugger step into that pl/sql procedure and then step back into the servlet when exiting? I can run a pl/sql proc in debug seperately but it would be great if it could be done in line with the servlet call.
thanks a ton! I'll give this a try. Does the dbs_debug_jdwp.connect_tcp(ip,port) have to be in the called procedure?
-
Added new parm to an existing SQL stored procedure CR 11 doesn't like it
Hi
I have added a new parameter to an existing SQL stored procedure (SQL 2000). This stored procedure is currently being called from a Crystal XI report. It prompts for a date which works great. (The report was created with this parameter). I added a new parameter to the stored procedure. When I do a preview in Crystal, it prompts for the new parameter, but is NULL when I look at the SQL query and it brings back no data. If I try to verify the database, it tells me that I am missing parameter @ProcessType (varchar(5))--(name of new parameter). I have physically added this parameter to the crystal report with the select expert and still no luck. I have already tried renaming the procedure but am unable to update datasource location because of this parameter. The report is very detailed and I do NOT want to create a new report.Unfortunately, I have tried and retried to do this. Nothing changes. I usually would get a message like database has changed, proceeding to fix report. I don't get this. It merely tells me database is up to date and only returns the 1 parameter, yet when I go to the datasouce and try to update it, it tells me that I have not supplied the new parameter.
I have tried everything, from closing Crystal reports and then going so far as to reboot my machine, just in case their was some kind of caching going on.
I have even asked other people I work with to look at it to make sure I am not doing something dumb... -
How to bind arrays to PL/SQL stored procedure using OCI?
Hi,
We are having problems trying to bind arrays to PL/SQL stored procedure using OCI. Here is the situation:
- We have a stored procedure called "GetVEPFindTasks" with the following interface:
PROCEDURE GetVEPFindTasks (
p_ErrorCode OUT NUMBER,
p_ErrorMsg OUT VARCHAR2,
p_RowCount OUT NUMBER,
p_VEPFindTasks OUT t_VEPFindTaskRecordTable,
p_MaxTask IN NUMBER);
t_VEPFindTaskRecordTable is a record with the following entries:
TYPE t_VEPFindTaskRecord IS RECORD (
RTCID NUMBER,
TransNum NUMBER,
TransTimestamp VARCHAR2(20),
Pathname1 image_data.pathname%TYPE,
Pathname2 image_data.pathname%TYPE,
Pathname3 image_data.pathname%TYPE,
OperatorID operator.id%TYPE);
- Now, we are trying to call the stored procedure from C++ using OCI (in UNIX). The call that we use are: OCIBindByName and OCIBindArrayOfStruct to bind the parameters to the corresponding buffers. We bind all parameters in the interface by name. Now, we do bind the record's individual item by name (RTCID, TransNum, etc.), and not as a record. I don't know if this is going to work. Then, we use the bind handles of the binded record items (only record items such as RTCID, TransNum, and NOT error_code which is not part of the record) to bind the arrays (using OCIBindArrayOfStruct).
All of the parameters that are binded as arrays are OUTPUT parameters. The rest are either INPUT or INPUT/OUTPUT parameters. Now, when we try to execute, OCI returns with an error "Invalid number or types of arguments" (or something to that sort... the number was something like ORA-06550). Please help...
Is there any sample on how to use the OCIBindArrayOfStruct with PL/SQL stored procedures? The sample provided from Oracle is only for a straight SQL statement.
Thank's for all your help.
** Dannil Chan **As you said:
You have to pass in an array for every field and deconstruct/construct the record in the procedure. There is no support for record type or an array of records. Can you give me a example? I'am very urgently need it.
thanks
email: [email protected]
Maybe you are looking for
-
How to put a printer in the print option
I have an epson airport with AirPrint capabilities...sometimes the printer option is available, other times it says select...and no options are available...annoying! Any ideas what I can do?
-
I am on IPhone 5 iOS 7.02 since updating to iOS7 and ITunes 11.1.1.11, I cannot seem to get songs that I have manually added (via converting audio to mp3) into my iPhone. I can add it into my Itunes library and it plays fine, but no matter what I do
-
Cannot download PrintControl.cab for Crystal Report Basic (VS2008)
Our legacy ASP.NET application uses Crystal Report Basic (from Visual Studio 2008), and it can't download PrintControl.cab from address : http://resources.businessobjects.com/support/downloads/microsoft/vs_2008/printcontrol.cab Is there any new addre
-
Problem responding to events in fullscreen mode
I made a fullscreen game and I'm trying to get it to respond to the mouse or keyboard input. The problem is it only responds a few second after I press the button. Does anyone know how I could speed up the response? All my code is posted below. EDIT:
-
We have a situation when we implement SAP NOTE 837300, the following is the information I get, Please Assist anyone. Diagnosis The objects R3TR NOTE 0000837300 and LIMU FUNC SO_OBJECT_MIME_GET cannot be edited together because only one of the