1 Reply Latest reply: Feb 13, 2013 12:57 AM by Marwim RSS

    Calling the Java Method in PL/SQL Java Stored procedure errors out

    629026
      Hi,

      I could not find a suitable thread to post my PL/SQL question so iam posting it here.........

      I have written a java class by name XYZ which has a method ABC for which there are 9 arguements being passed and its a VOID method.

      This java class has been loaded into ORACLE using DBMS_JAVA.LOADJAVA pkg, Now this class is being called in the oracle as a JAVA Stored procedure...... When ever im trying to call the procedure it throws the following error

      ORA-29531: no method
      *Cause:    An attempt was made to execute a non-existent method in a
      Java class.
      *Action:   Adjust the call or create the specified method.


      The code snippet as follows

      JAVA CODE:
      -----------------------

      Class xyz
      {

      public static void Abc (String hostName,
      int port,
      String serviceURL,
      String soapAction,
      int timeOut,
      String wsUser,
      String wsPasWd,
      String keyStore,
      String keyStorePasWd)
      {
      //method implementation
      }

      }


      JAVA STORED PROCEDURE:
      ---------------------------------------------

      create OR REPLACE procedure ABC_JAVA_SP_CALL
      (p_hostname in varchar2, p_port in number, p_serviceurl in varchar2, p_soapaction in varchar2, p_timeout in number, p_wsuser in varchar2, p_wspasswd in varchar2, p_ks_path in varchar2, p_ks_passwd in varchar2)
      as
      language java
      name 'xyz.Abc(java.lang.String, int, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String)';

      When i try to call

      declare
      p_hostname varchar2(100);
      p_port number;
      p_serviceurl varchar2(100);
      p_soapaction varchar2(100);
      p_timeout number;
      p_wsuser varchar2(100);
      p_wspasswd varchar2(100);
      p_ks_path varchar2(100);
      p_ks_passwd varchar2(100);

      begin

      //SP which returns the values for the required parameters.

      comppkg.getvcsinfo(
      p_hostname,
      p_port ,
      p_serviceurl,
      p_soapaction,
      p_timeout,
      p_wsuser,
      p_wspasswd,
      p_ks_path,
      p_ks_passwd
      );

      Layer7_icengc_ws_tes(p_hostname,
      p_port ,
      p_serviceurl,
      p_soapaction,
      p_timeout,
      p_wsuser,
      p_wspasswd,
      p_ks_path,
      p_ks_passwd);

      end;

      This thing ends up with

      29531. 00000 - "no method %s in class %s"
      *Cause:    An attempt was made to execute a non-existent method in a
      Java class.
      *Action:   Adjust the call or create the specified method.


      Im not understanding what wrong am i doing

      pls help

      Edited by: madhusudan on Feb 12, 2013 8:07 PM
        • 1. Re: Calling the Java Method in PL/SQL Java Stored procedure errors out
          Marwim
          Hello,

          there is the forum {forum:id=65} for questions about using Java within Oracle.

          Regards
          Marcus

          Edited by: Marwim on 13.02.2013 07:56
          I could not find a suitable thread to post my PL/SQL question so iam posting it here.........
          You got the hint to the correct forum alread in another thread {message:id=10837976}

          And if you think this is not related to Java but PL/SQL, then you should ask in {forum:id=75}