Using JCO with callback

Hi,
I'm not sure if there may be a better forum for my problem as I'm not using JCO on an application server (but I couldn't find a better one).
I'm currently trying to call some function modules that use callbacks. in order to have a easy understandable example I tried to call the function "STFC_CONNECTION_BACK". Well, as soon as I request a callback the program terminates with some kind of error (the error itself doesn't help me).
Has anybode here ever tried to implement necessary RFC-Callbacks using JCO? I'm curious that i couldn't find any documentation about callbacks regarding JCO while LIBRFC or .NET-Connector seem to cover that topic.
Any helpful answer will be rewarded,
thanks in advance,
Michael

Hi,
After getting the value list from the r/3 you need to addthe value list into an arraylist and then set the arraylist in the application scope.
Now use the html:options collection tag :
eg
<html:select property="selectedItem">     <html:options collection="customers" value="id" label="name" /></html:select>
Where customers is the bean name.
This is will solve the problem
Thanks
Ritu

Similar Messages

  • JCO with miniSAP???

    Hi!
    Has anybody tried to use jCO with miniSAP? Or shortly, is it possible?
    I've done all what is said. I was able to compile the first of example codes came in the package but when I tried to execute it, the error "Exception in thread "main" java.lang.NoClassDefFoundError: Example1" emerged.
    I have only changed the user info to open the connection in the original code and so I am sure that the only public class name in the code is "Example1".
    Thanks...
    *--Serdar

    I installed MiniSap WAS 6.2 and try to connected java application with JCO.
    But I didn't obtain sucessfull.
    Need to do something in Minisap ? sm59 ?  My user need special authorization ?
    The error on the screen is "User or password is wrong ".
    Thank you,
    Rogerio

  • Problem with BAPI_DOCUEMENT_CHECKOUTVIEW2 while caliing using JCO

    Hi DMS Gurus,
    The above FM is successfully executing and creating a local copy in temp folder of where the FM running using SAP GUI.
    But when i call using jco,i am getting some problems.
    1. If i execute the FM with default values for http dest and ftp dest, i am getting error saying << c:\temp\....file could not be created.
    2. When i changed the HTTP destination to <<SAPHTTPA>, it is executing fm successfully but dont know in which system the file is downloaded.
    My client application or xMII server ( where jco service is running ) or ABAP server.
    I checked in the first 2,i didn't find.
    SAP GUI is not installed in xMII server.
    But my requirement is to download to the physical server of xMII ( jco ).
    Is this any thing to do with creating http destinations??
    If that is the case, can any body help me in creating http destinations..
    and i heard something about SAPFTP.EXE ,is that should be some where in client or any servers??
    Please help me.
    Thanks
    Vansi

    Vamsi,
    As I mentioned in this forum thread, bapi_document_checkoutview2.  You have to use the POST action in BLS to communicate with the HTTP Interface of Content Mgmt. directly.  The only other alternative is to write your own BAPI to retrieve the content and send it back to xMII via the JCo action (Hint: The data will be base64 encoded and can be saved to the filesystem via the Image Saver action even though it is not an image).
    Sam

  • Problem with BAPI_DOCUMENT_CHECKOUTVIEW2 while calling using JCO of XMII

    Hi DMS Gurus,
    The above FM is successfully executing and creating a local copy in temp folder of where the FM running using SAP GUI.
    But when i call using jco,i am getting some problems.
    1. If i execute the FM with default values for http dest and ftp dest, i am getting error saying << c:\temp\....file could not be created.
    2. When i changed the HTTP destination to <<SAPHTTPA>, it is executing fm successfully but dont know in which system the file is downloaded.
    My client application or xMII server ( where jco service is running ) or ABAP server.
    I checked in the first 2,i didn't find.
    SAP GUI is not installed in xMII server.
    But my requirement is to download to the physical server of xMII ( jco ).
    Is this any thing to do with creating http destinations??
    If that is the case, can any body help me in creating http destinations..
    and i heard something about SAPFTP.EXE ,is that should be some where in client or any servers??
    Please help me.
    Thanks
    Vansi

    Vamsi,
    As I mentioned in this forum thread, bapi_document_checkoutview2.  You have to use the POST action in BLS to communicate with the HTTP Interface of Content Mgmt. directly.  The only other alternative is to write your own BAPI to retrieve the content and send it back to xMII via the JCo action (Hint: The data will be base64 encoded and can be saved to the filesystem via the Image Saver action even though it is not an image).
    Sam

  • Problem with BAPI_DOCUMENT_CHECKOUTVIEW2 while calling using JCO

    Hi DMS Gurus,
    The above FM is successfully executing and creating a local copy in temp folder of where the FM running using SAP GUI.
    But when i call using jco,i am getting some problems.
    1. If i execute the FM with default values for http dest and ftp dest, i am getting error saying << c:\temp\....file could not be created.
    2. When i changed the HTTP destination to <<SAPHTTPA>, it is executing fm successfully but dont know in which system the file is downloaded.
    My client application or xMII server ( where jco service is running ) or ABAP server.
    I checked in the first 2,i didn't find.
    SAP GUI is not installed in xMII server.
    But my requirement is to download to the physical server of xMII ( jco ).
    Is this any thing to do with creating http destinations??
    If that is the case, can any body help me in creating http destinations..
    and i heard something about SAPFTP.EXE ,is that should be some where in client or any servers??
    Please help me.
    Thanks
    Vansi

    Vamsi,
    As I mentioned in this forum thread, bapi_document_checkoutview2.  You have to use the POST action in BLS to communicate with the HTTP Interface of Content Mgmt. directly.  The only other alternative is to write your own BAPI to retrieve the content and send it back to xMII via the JCo action (Hint: The data will be base64 encoded and can be saved to the filesystem via the Image Saver action even though it is not an image).
    Sam

  • Problem with BAPI_CUSTOMER_CREATEFROMDATA1 using JCo on IDES

    sorry, wrong board - i opened a new post
    Problem with BAPI_CUSTOMER_CREATEFROMDATA1 using JCo on IDES
    Hello everyone,
    we are working on a student project and would like to create customers (debtors) in an SAP IDES system.
    Using the ref-customer to copy from, and some personal-data below, we get the error message
    'Internal error: External no.assignment for reference customer/customer'
    We also tried with BAPI_CUSTOMER_GETINTNUMBER, and ACCOUNTGROUP ZINT (New Internet Customer, others won't work?). But CREATEFROMDATA1 takes no CustomerNo created this way, nor it wants to create one 'internal'?
    Any suggestions? Thanks a lot for your help,
    Greetings,
    Tobias Schmidbauer
              inParams = function.getImportParameterList().getStructure(
                   "PI_COPYREFERENCE");
              inParams.setValue("0000001000", "REF_CUSTMR");
              inParams.setValue("1000", "SALESORG");
              inParams.setValue("10", "DISTR_CHAN");
              inParams.setValue("00", "DIVISION");
              inParams =function.getImportParameterList().getStructure(
                   "PI_PERSONALDATA");
              inParams.setValue("Simpson", "LASTNAME");
              inParams.setValue("Homer", "FIRSTNAME");
              inParams.setValue("Jay","MIDDLENAME");
              inParams.setValue("Springfield", "CITY");
              inParams.setValue("DE", "LANGU_P");
              inParams.setValue("DE", "LANGUP_ISO");
              inParams.setValue("DE", "COUNTRY");
              inParams.setValue("EUR", "CURRENCY");
              inParams.setValue("12345", "POSTL_COD1");
    Message was edited by: Tobias Schmidbauer

    Hello Brian,
    Thanks for your pointer. Actually The customer's reference number i was providing in the PI_COPYREFERENCE structure was a sold-to party customer and it uses external customer number assignment. When i used "New Internet Customer" (that doesnt use external assignment by default) as customer's account group, the customer was created successfully and assigned customer number was returned.
    I want to ask now how could we give a customer number in the BAPI as i am unable to find any such column in any of the tables. (Customer number is an "out" parameter so it can only return the number of created customer). Secondly, how to chnage the external assignment property of a particular account group (like sold-to party). i.e, how could we change the account group configurations through SAP GUI??
    - Umair

  • Need an example how to use SCAN_Start with a callback function

    I would appreciate if someone helps me with a working example of how to use SCAN_Start with a callback function. I need just a basic functionality: to specify a channel list (with gains probably), to start a data acquisition task and to receive data buffers utilizing a callback function. t this time whatever I was trying to do caused computer hangups, though it is supposed to be one of the most regular tasks to perform.
    Thank you in advance,
    Mike

    Hello Mike,
    Thank you for contacting National Instruments.
    Attached is an example project which uses a callback function to begin analog acquisition (AI) by calling SCAN_Start. This project acquires from the first 2 channels on your DAQ device. Make sure to modify the device number in the code to match the number of your card.
    Let me know if you have any further questions...
    Sincerely,
    Sean C.
    Applcications Engineer
    National Instruments
    Attachments:
    Acquire_multichannel_61xx.zip ‏11 KB

  • Can we use JCo connection with non-Web Dynpro J2EE project in NW

    With Web Dynpro, we have the RFC wizard to call RFCs using JCo connection.  I am wondering, if I create a J2EE project in NW development studio, can I and how to use JCo connection to call RFCs?
    Thanks.

    yes, of course.
    Add jar sapjco.jar then
    import com.sap.mw.jco.*;
    public class Bapi1 extends Object {
       JCO.Client mConnection;
       JCO.Repository mRepository;
       public Bapi1() {
          try {
             // Change the logon information to your own system/user
             mConnection =
                JCO.createClient("001", // SAP client
                  "<userid>", // userid
                  "****", // password
                  null, // language
                  "<hostname>", // application server host name
                  "00"); // system number
            mConnection.connect();
            mRepository = new JCO.Repository("SAPJCo", mConnection);
          catch (Exception ex) {
            ex.printStackTrace();
            System.exit(1);
          JCO.Function function = null;
          JCO.Table codes = null;
          try {
             function = this.createFunction("BAPI_COMPANYCODE_GETLIST");
             if (function == null) {
               System.out.println("BAPI_COMPANYCODE_GETLIST" +
                                  " not found in SAP.");
               System.exit(1);
             mConnection.execute(function);
             JCO.Structure returnStructure =
               function.getExportParameterList().getStructure("RETURN");
             if (! (returnStructure.getString("TYPE").equals("") ||
                    returnStructure.getString("TYPE").equals("S")) ) {
               System.out.println(returnStructure.getString("MESSAGE"));
               System.exit(1);
             codes =
               function.getTableParameterList().getTable("COMPANYCODE_LIST");
             for (int i = 0; i < codes.getNumRows(); i++) {
               codes.setRow(i);
               System.out.println(codes.getString("COMP_CODE") + '\t' +
                                  codes.getString("COMP_NAME"));
          catch (Exception ex) {
            ex.printStackTrace();
            System.exit(1);
          try {
            codes.firstRow();
            for (int i = 0; i < codes.getNumRows(); i++, codes.nextRow()) {
              function = this.createFunction("BAPI_COMPANYCODE_GETDETAIL");
              if (function == null) {
                System.out.println("BAPI_COMPANYCODE_GETDETAIL" +
                                   " not found in SAP.");
                System.exit(1);
         function.getImportParameterList().
           setValue(codes.getString("COMP_CODE"), "COMPANYCODEID");
         function.getExportParameterList().
           setActive(false, "COMPANYCODE_ADDRESS");
         mConnection.execute(function);
         JCO.Structure returnStructure =
           function.getExportParameterList().getStructure("RETURN");
         if (! (returnStructure.getString("TYPE").equals("") ||
                returnStructure.getString("TYPE").equals("S") ||
                returnStructure.getString("TYPE").equals("W")) ) {
            System.out.println(returnStructure.getString("MESSAGE"));
         JCO.Structure detail =
           function.getExportParameterList().
           getStructure("COMPANYCODE_DETAIL");
         System.out.println(detail.getString("COMP_CODE") + '\t' +
                            detail.getString("COUNTRY") + '\t' +
                            detail.getString("CITY"));
      catch (Exception ex) {
        ex.printStackTrace();
        System.exit(1);
      mConnection.disconnect();
    public JCO.Function createFunction(String name) throws Exception {
       try {
         IFunctionTemplate ft =
            mRepository.getFunctionTemplate(name.toUpperCase());
         if (ft == null)
           return null;
         return ft.getFunction();
       catch (Exception ex) {
         throw new Exception("Problem retrieving JCO.Function object.");
    public static void main (String args[]) {
       Bapi1 app = new Bapi1();
    Link: [http://help.sap.com/saphelp_nw04/helpdata/en/35/42e13d82fcfb34e10000000a114084/frameset.htm]

  • Problems with Unicode in extending JCo with JNI/librfc

    Hello,
    Problem:
    We are using JCo for communication with a SAP-System. We have an extension written in C using JNI for handling callbacks. Let's call it cb.dll.
    This extension is not unicode enabled. Now we have to connect to an unicode SAP-System. We do it with JCo, so the connection is in unicode mode. The result is, that our cb.dll does not work.
    If you want to enable the dll to handle unicode, the last step beside reengineering the C-code, is to link it against the librfc32u.dll.
    But then the communication in the cb.dll with SAP does not work, because the initial connection was made with JCo an JCo is using librfc32.dll. The cb.dll uses the RFC-handle from JCo.
    Question:
    How communicates JCo with a unicode SAP-System using librfc32 (non unicode) ?
    How can I use this method for our own dll ?
    thanks in advance

    The current settings are
    select * from nls_database_parameters
    PARAMETER VALUE
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    NLS_CHARACTERSET UTF8
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD-MON-RR
    NLS_DATE_LANGUAGE AMERICAN
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY $
    NLS_COMP BINARY
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE
    NLS_NCHAR_CHARACTERSET AL16UTF16
    NLS_RDBMS_VERSION 10.1.0.3.0
    20 rows selected
    I use NVARCHAR2 as Datatype.
    My problem is as follows ...
    I use the oracle Table as external Data Table in Access. When I copy a russian text from an Access Table in the oracle Table I see only ??????. In the Access Table I see the correct russian text.

  • Error in creation of JCO with Load balancing server

    Hi,
    We are using a ABAP user base for our WEBAS server 6.40 (with ABAP+JAVA). i have created a Public group in concerned ECC 5.0 system. I have already configured SLD, and then i maintain data supplier bridge in SLD and run RZ70 in ECC 5.0 system to load system information.. i can see details in SLD ..
    now i am trying to create JCO connections .. here i am unable to create JCO with load balancing option..  i get
    com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to message server host failed Connect_PM  TYPE=B MSHOST=<servername> GROUP=PUBLIC R3NAME=SID MSSERV=sapms<SID> PCS=1 ERROR       service 'sapms<SID>' unknown TIME        Fri Jun 16 12:41:20 2006 RELEASE     640 COMPONENT   NI (network interface) VERSION     37 RC          -3 MODULE      ninti.c LINE        505 DETAIL      NiPGetServByName2: service 'sapms<SID>' not found SYSTEM CALL getservbyname_r COUNTER     1
    i am able to create single server JCO, but it fails in load balancing.. is there anything i have  missed out in settings...
    Thanks and regards,
    Sudhir

    Thanks, Bogdan Rokosa
    I have the same problem,and solved it following the steps provided by Bogdan Rokosa  :
    you must insert an entry for your R3 system
    (like: sapms<SID> 3600/tcp)
    in services file
    (C:\WINDOWS\system32\drivers\etc\services) on Java WAS.
    I test the Jco successful without restart J2EE Engine.

  • Has anyone used JAAS with WebLogic?

    Has anyone used JAAS with Weblogic? I was looking at their example, and I have a bunch of questions about it. Here goes:
    Basically the problem is this: the plug-in LoginModule model of JAAS used in WebLogic (with EJB Servers) seems to allow clients to falsely authenticate.
    Let me give you a little background on what brought me to this. You can find the WebLogic JAAS example (to which I refer below) in the pdf: http://e-docs.bea.com/wls/docs61/pdf/security.pdf . (I believe you want pages 64-74) WebLogic, I believe goes about this all wrong. They allow the client to use their own LoginModules, as well as CallBackHandlers. This is dangerous, as it allows them to get a reference (in the module) to the LoginContext's Subject and authenticate themselves (i.e. associate a Principal with the subject). As we know from JAAS, the way AccessController checks permissions is by looking at the Principal in the Subject and seeing if that Principal is granted the permission in the "policy" file (or by checking with the Policy class). What it does NOT do, is see if that Subject
    has the right to hold that Principal. Rather, it assumes the Subject is authenticated.
    So a user who is allowed to use their own Module (as WebLogic's example shows) could do something like:
    //THEIR LOGIN MODULE (SOME CODE CUT-OUT FOR BREVITY)
    public class BasicModule implements LoginModule
    private NameCallback strName;
    private PasswordCallback strPass;
    private CallbackHandler myCB;
    private Subject subj;
             //INITIALIZE THIS MODULE
               public void initialize(Subject subject, CallbackHandler callbackHandler, Map sharedState, Map options)
                      try
                           //SET SUBJECT
                             subj = subject;  //NOTE: THIS GIVES YOU REFERENCE
    TO LOGIN CONTEXT'S SUBJECT
                                                     // AND ALLOWS YOU TO PASS
    IT BACK TO THE LOGIN CONTEXT
                           //SET CALLBACKHANDLERS
                             strName = new NameCallback("Your Name: ");
                             strPass = new PasswordCallback("Password:", false);
                             Callback[] cb = { strName, strPass };
                           //HANDLE THE CALLBACKS
                             callbackHandler.handle(cb);
                      } catch (Exception e) { System.out.println(e); }
         //LOG THE USER IN
           public boolean login() throws LoginException
              //TEST TO SEE IF SUBJECT HOLDS ANYTHING YET
              System.out.println( "PRIOR TO AUTHENTICATION, SUBJECT HOLDS: " +
    subj.getPrincipals().size() + " Principals");
              //SUBJECT AUTHENTICATED - BECAUSE SUBJECT NOW HOLDS THE PRINCIPAL
               MyPrincipal m = new MyPrincipal("Admin");
               subj.getPrincipals().add(m);
               return true;
             public boolean commit() throws LoginException
                   return true;
        }(Sorry for all that code)
    I tested the above code, and it fully associates the Subject (and its principal) with the LoginContext. So my question is, where in the process (and code) can we put the LoginContext and Modules so that a client cannot
    do this? With the above example, there is no Security. (a call to: myLoginContext.getSubject().doAs(...) will work)
    I think the key here is to understand JAAS's plug-in security model to mean:
    (Below are my words)
    The point of JAAS is to allow an application to use different ways of authenticating without changing the application's code, but NOT to allow the user to authenticate however they want.
    In WebLogic's example, they unfortunately seem to have used the latter understanding, i.e. "allow the user to authenticate however they want."
    That, as I think I've shown, is not security. So how do we solve this? We need to put JAAS on the server side (with no direct JAAS client-side), and that includes the LoginModules as well as LoginContext. So for an EJB Server this means that the same internal permission
    checking code can be used regardless of whether a client connects through
    RMI/RMI-IIOP/JEREMIE (etc). It does NOT mean that the client gets to choose
    how they authenticate (except by choosing YOUR set ways).
    Before we even deal with a serialized subject, we need to see how JAAS can
    even be used on the back-end of an RMI (RMI-IIOP/JEREMIE) application.
    I think what needs to be done, is the client needs to have the stubs for our
    LoginModule, LoginContext, CallBackHandler, CallBacks. Then they can put
    their info into those, and everything is handled server-side. So they may
    not even need to send a Subject across anyways (but they may want to as
    well).
    Please let me know if anyone sees this problem too, or if I am just completely
    off track with this one. I think figuring out how to do JAAS as though
    everything were local, and then putting RMI (or whatever) on top is the
    first thing to tackle.

    Send this to:
    newsgroups.bea.com / security-group.

  • Error occurred while finding users using API with custom field

    Hi All,
    I am getting the following error while searching user using API with custom attribute. Did anybody faced the same problem before ?
    Hashtable<Object,Object> env = new Hashtable<Object,Object>();
    env.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
    env.put(OIMClient.JAVA_NAMING_PROVIDER_URL, "t3://localhost:14000");
    System.setProperty("java.security.auth.login.config","C:\\Oracle\\Middleware\\Oracle_IDM1\\designconsole\\config\\authwl.conf");
    System.setProperty("OIM.AppServerType", "wls");
    System.setProperty("APPSERVER_TYPE", "wls");
    tcUtilityFactory ioUtilityFactory = new tcUtilityFactory(env, "xelsysadm", "Weblogic123$");
    OIMClient client = new OIMClient(env);
    client.login("xelsysadm", "Weblogic123$".toCharArray());
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    tcUserOperationsIntf moUserUtility = (tcUserOperationsIntf)ioUtilityFactory.getUtility("Thor.API.Operations.tcUserOperationsIntf");
    Hashtable mhSearchCriteria = new Hashtable();
    mhSearchCriteria.put("USR_UDF_ACTUALSTARTDATE",formatter.format(date));
    tcResultSet moResultSet = moUserUtility.findAllUsers(mhSearchCriteria);
    printTcResultSet(moResultSet,"abcd");
    log4j:WARN No appenders could be found for logger (org.springframework.jndi.JndiTemplate).
    log4j:WARN Please initialize the log4j system properly.
    Exception in thread "main" Thor.API.Exceptions.tcAPIException: Error occurred while finding users.
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
    at Thor.API.Operations.tcUserOperationsIntf_e9jcxp_tcUserOperationsIntfRemoteImpl_1036_WLStub.findAllUsersx(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
    at com.sun.proxy.$Proxy2.findAllUsersx(Unknown Source)
    at Thor.API.Operations.tcUserOperationsIntfDelegate.findAllUsers(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at Thor.API.Base.SecurityInvocationHandler$1.run(SecurityInvocationHandler.java:68)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.security.Security.runAs(Security.java:41)
    at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(weblogicLoginSession.java:52)
    at Thor.API.Base.SecurityInvocationHandler.invoke(SecurityInvocationHandler.java:79)
    at com.sun.proxy.$Proxy3.findAllUsers(Unknown Source)
    at oim.standalone.code.OIMAPIConnection.usersearch(OIMAPIConnection.java:209)
    at oim.standalone.code.OIMAPIConnection.main(OIMAPIConnection.java:342)
    Caused by: Thor.API.Exceptions.tcAPIException: Error occurred while finding users.
    at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.findAllUsers(tcUserOperationsBean.java:4604)
    at Thor.API.Operations.tcUserOperationsIntfEJB.findAllUsersx(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor1614.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.oracle.pitchfork.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:34)
    at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
    at com.oracle.pitchfork.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:42)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy347.findAllUsersx(Unknown Source)
    at Thor.API.Operations.tcUserOperationsIntf_e9jcxp_tcUserOperationsIntfRemoteImpl.__WL_invoke(Unknown Source)
    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
    at Thor.API.Operations.tcUserOperationsIntf_e9jcxp_tcUserOperationsIntfRemoteImpl.findAllUsersx(Unknown Source)
    at Thor.API.Operations.tcUserOperationsIntf_e9jcxp_tcUserOperationsIntfRemoteImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Thank you

    Hi J,
    Thanks for the reply. But the code is working fine for OOTB attributes and  for 11g API i am getting permission exception
    Exception in thread "main" oracle.iam.platform.authz.exception.AccessDeniedException: You do not have permission to search the following user attributes: USR_UDF_ACTUALSTARTDATE.
    at oracle.iam.identity.usermgmt.impl.UserManagerImpl.search(UserManagerImpl.java:1465)
    at sun.reflect.GeneratedMethodAccessor1034.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at oracle.iam.platform.utils.DMSMethodInterceptor.invoke(DMSMethodInterceptor.java:25)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy366.search(Unknown Source)
    at oracle.iam.identity.usermgmt.api.UserManagerEJB.searchx(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor1449.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.oracle.pitchfork.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:34)
    at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
    at com.oracle.pitchfork.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:42)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy365.searchx(Unknown Source)
    at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemoteImpl.__WL_invoke(Unknown Source)
    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
    at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemoteImpl.searchx(Unknown Source)
    at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemoteImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: oracle.iam.identity.exception.SearchAttributeAccessDeniedException: You do not have permission to search the following user attributes: USR_UDF_ACTUALSTARTDATE.
    at oracle.iam.identity.usermgmt.impl.UserManagerImpl.search(UserManagerImpl.java:1462)
    ... 44 more

  • Error while calling BAPI_PARTNEREMPLOYEE_CREATE BAPI using JCO

    Hi All,
    Our requirement is to create and update customer contact details from java application. For this purpose we are trying to call BAPI_PARTNEREMPLOYEE_CREATE BAPI for create contact and BAPI_PARTNEREMPLOYEE_EDIT for updating contact information. As these BAPIs are of online version, error is coming while calling these BAPIs.
    So is there any way to call these BAPIs through JCO or are there any alternative BAPIs available for same purpose?
    Thanks in advance,
    Arati.

    Hi,
    All the bapi or function module available in SAP to create contact person will internally do a call transaction to VAP1 and VAP2 tcodes in order to create or change contact person respectively.
    We had a similar problem when we were creating and updating customer contact person using inbound idoc. We then created a bdc recording for the same and then created two function module with name Z_CREATE_CONTACT and Z_CHANGE_CONTACT. In your case you can make this function modules as RFC enabled FM and call them using JCO I guess.
    KR Jaideep,

  • Logon Screen Modificatio : Using JCo for Executing a Func Module in SAP R/3

    Hi all
       I am new to Portal(EP: 6.0: SP12) and JCo.
       We are customizing the Logon Screen of the Portal to include a CLIENT field.
        And  we are planning to Call a Z Function Module present in the R/3 of the specified client(in the Logon Screen) using JCO.
        But i am really new to the Environment..
        Could anyone please help in carrying out this work???
        And also i would like to know how a Fuc Module can be called with the help of JCO. Providing a sample Code would really help me a lot!!!!!!  
    Thanks
    Kam
    Message was edited by: Kam

    Hi Kam
    You need to create a connection to that R/3 system for that.
    Try the following code:
    creating connection:
    =====================
    IConnectorGatewayService cgService = (IConnectorGatewayService)
         PortalRuntime.getRuntimeResources().
         getService(IConnectorGatewayService.KEY);
    IConnection con = cgService.getConnection("systemalias",request);
    ConnectionProperties cp = new ConnectionProperties(request.getLocale(),request.getUser());
    IInteraction ix = con.createInteractionEx();
    IInteractionSpec ixspec = ix.getInteractionSpec();
    ixspec.setPropertyValue("inputParameter","BAPI_SALESORDER");
    RecordFactory rf = ix.getRecordFactory();
    MappedRecord input = rf.createMappedRecord("inputParameter");
    input.put("EMPLOYEE_NUMBER",empNo);
    input.put("EMPLOYEE_NAME",empName);
    BAPI_SALESORDER==>calling fuction
    EMPLOYEE_NUMBER,EMPLOYEE_NAME===>parameter name
    empNo,empName===>parameter value
    <u>To retrive the value:</u>
    ============================
    MappedRecord output = (MappedRecord)ix.execute(ixspec,input);
    object rs = null;
    object result = output.get("SALES_ORDERS");
    if(result instanceof IRecordSet) {
         rs = (IRecordSet)result;
    con.close();
    Required jar files:
    ====================
    com.sap.portal.ivs.connectorserviceapi.jar,                                  genericconnector.jar,
                       connector.jar,
                       activation.jar
    regards,
    Yoga

  • Error connecting using JCO.Client: null

    Hi,
    I created a WD app which uses  the RFC FM.  I followed How-To-build-webdynpro.pdf document to create the WD and trying to deploy and run, I see the view page but when I trigger the action via button UI element I get following error as exception in the try catch block of execute method
    In the NWA I see
    Could not create JCOClientConnection for logical System: 'WD_MODELDATA_DEST' - Model
    An exception has occurred: Erorr accessing cache [region]='XCM_SESSION_SCOPE'.
    [EXCEPTION]
    com.sap.isa.core.cache.Cache$Exception: Cannot return access for region 'XCM_SESSION_SCOPE'. Cache is not ready
    I'm using following existing JCO definition by configuring them with correct parameters.  Tested them successfully
    WD_RFC_METADATA_DEST
    WD_MODELDATA_DEST
    What am I missing?  In SM04 tcode I see 2 connections are opened with 2 Megabyte not released for a long time.  I think if connections are released correctly it should drop to 1 megabyte.  Is there anything that I need to do just after execute method as shown below (I have replaced function module with <FM> in below code)
    try {
             wdContext.node<FM>_Input().current<FM>_Get_InputElement().modelObject().execute();
         } catch(Exception exception) {
              msgMgr.reportException(exception.getLocalizedMessage(), false);
          wdContext.nodeOutput().invalidate();
          msgMgr.reportSuccess("Success");
    The error is in the catch block which is displayed on the view page.
    Thanks
    Praveen
    I modified the above code and put in finally block to close the connections as follows, please let me know if this is OK.  I still get error message as "Error connecting using JCO.Client: null" but no additional connections in the SM04 after adding finally block.
    try {
             wdContext.node<FM>_Input().current<FM>_Get_InputElement().modelObject().execute();
         } catch(Exception exception) {
              msgMgr.reportException(exception.getLocalizedMessage(), false);
         }finally {
              // disconnect the connection
              wdContext.<FM>_Get_InputElement().modelObject().modelInstance().disconnectIfAlive();     
    Edited by: Praveen11 on Oct 5, 2009 9:06 AM

    Thanks Satish.
    The issue is resolved.  I think it was to do with permission, as I was running directly from NWDS deploy and run the session didn't have proper authorisation or something that was causing this error.
    When I copy pasted the URL in the correct browser session window I got no error and function module was successfully executed.   However the issue now is that values are not showing up in the view may be to do with mapping context or model  I'll review and post back as different thread.
    Thanks
    Praveen

Maybe you are looking for

  • Creation of flat data in Adapter Module

    Hello, I'm writing an Adapter Module that supposed to convert XML source to a flat output (similar to StrictXml2PlainBean). But I'm not sure how to set the new flat content to the Message object that I'm getting from ModuleData supplied to process me

  • Cashed check was voided accidentally

    Hello, A cashed check was voided accidentally. I did the clearing reset using FBRA, then reversed doc using FB08. The vendor account and bank account are now correct. The problem is that the Check Register still shows the check as void thus not showi

  • Showing 0 value in vertical bar chart

    Hi, is it possible to show the 0 value in a bar chart using Show data labels "Always"? By default it is suppressed. Zero is a success value in quality reporting and my clients want it to be visible, so they do not confuse it with "no data delivered".

  • Flash Colour Management Bug?

    Can anyone get the Flash application in the following link to return anything other than "Color Correction is not supported." http://www.adobe.com/devnet/flash/quickstart/color_correction_as3.html Does this mean that Colour management is Broken in Fl

  • Zen stone plus 2gb god **bleep** error

    ok i have the 2gb zen stone plus and my problem is it's a.not being recognised by my computer b. it does nothing to play music store files etc c.when it's chargd i turn it on but all i get is the creative logo and nothing else but the small blue ligh