AICC Integration - Session ID Question

I am a learning content software vendor working with a mutual client of SAP's.  Our client is attempting to integrate our product with SAP via the AICC e-learning standard.  We have used AICC to integrate our product with countless LMS packages in the past, so I know our AICC implementation works.
We are receiving the "aicc_sid" (Session ID) and "aicc_url" (Callback URL) parameters on the QueryString from SAP correctly.  However, when we use the Callback URL and Session ID to perform a "GetParam" AICC command, we are getting:
error=3
error_text=Invalid Session ID
The Session ID we are being passed from SAP is:
(fhp032b1_L4P_00)ID0823212254DB00731656643694297614End
To those of you familiar with SAP's AICC implementation, does this Session ID look correct (including the word "End")?
If it looks correct, why is SAP returning that error code for a Session ID it just sent us?
If it does not look correct, do you have any idea why it would be incorrect?
Any help would be greatly appreciated.

Hi,
This is an issue with the SAP content player. We faced the same issue. I believe there was a patch to fix this. I will try to find out more information on the fix.
Sincerely
Manoj

Similar Messages

  • Siebel On Demand Outbound Webservice integration using bpel question

    Hello everyone,
    I have a question I am hoping the forum can help me out with
    I am trying to do an integration using bpel with Siebel on demand as the begining point. The bussiness case is that I want qualified leads to be extracted out of the Siebel On Demand crm to be integrated into a back end system. This is put into a queue in the integration events. I have read the forum on all the session id and intermediate java code that provides the session id. I noticed that Siebel on demand is not a webservice requestor and only a webservice provider even for outbound messages. Since bpel always needs an input of some sort how would I kick off bpel to keep checking the queue not to mention getting the session id ect?
    Any help would be great :)
    Jaden

    Hi ,
    An integration even is something that is configured using a workflow. Like say when a Lead field is modified of r a particular Lead this even fires and will go and reside in Integration Even Queue.
    A separate bpel process is then required to read the Integration Queue (wsdl's available) and then process this even for the lead.
    Regarding extraction of Leads from SOD it need to have any Inegration events. Even without this we can do it. Just make a webcall using the Lead wsdl and then process th erecords usinga while Loop stucture. You can use a DB adapter to write to the target Database tables.
    Nyjil

  • Session Timeout Question in EME

    If I login to eManager Web and instead of logging out I just close the browser will I be logged out? Will the license be released? What is the session timeout for this and is it possible to set this value?

    If you close the browser in e-Manager Enterprise Web instead of logging out there is a TimeOut that will release your license. This can be seen and is reported on in the e-Manager logs. By default the session TimeOut value is 30 minutes. You can find this and/or change this value by opening "<installdir>\Empirix\EmpAppServer\server\default\deploy\jbossweb-tomcat55.sar\conf\web.xml" in a notepad. Once the file is open, go the the ?Default Session Configuration? Section. Here you can change the TimeOut value. You will then need to save the file and restart the Empirix Application Service. The idle sessions are retired after the specified timeout is reached and the licenses are also checked upon this value. I hope this answers your questions.

  • General Design With Database and Session Bean Question

    I have an application I am developing where users connect to individual databases located on a server. When they login an admin table is accessed which shows what databases they have permissions to. I am then storing the connection to the database in a backing bean. Hoping to use this connection throughout the session. Is this a good practice to have a users connection left open over the session? I can't create a database pool for each individual database and each user for that database.
    If I can store that database connection in a session bean. How do I access that connection from another bean. Or from another java class? I am using Glassfish for my application server with JSF1.2. I have looked at resource injection but have not had any luck with sharing the session bean information.
    Sorry if this is a trivial question. I have been a Java developer for years. But just starting developing webapps using JSF.
    Thanks

    JuCobb2 wrote:
    I am then storing the connection to the database in a backing bean. Hoping to use this connection throughout the session. Is this a good practice to have a users connection left open over the session? No it is not. Why should you do so? Always keep the lifetime of connection, statement and resultset as short as possible.

  • V$SESSION columns question

    Hi Gurus
    I have a question regarding of the meaning of some columns in the V$SESSION table. I wonder what does the values in the following columns means?
    ROW_WAIT_O
    ROW_WAIT_F
    ROW_WAIT_B
    TADDR
    LOCKWAIT
    I find out that these columns always have some values when my users unable to log into the application. Even I kill the session that have lockwait, other users are still unable to connect and it happens around once every 2 months.
    Thanks for the answer in advanced
    Oui

    V$SESSION
    This view lists session information for each current session.
    Column Datatype Description
    SADDR
    RAW(4 | 8)
    Session address
    SID
    NUMBER
    Session identifier
    SERIAL#
    NUMBER
    Session serial number. Used to identify uniquely a session's objects. Guarantees that session-level commands are applied to the correct session objects if the session ends and another session begins with the same session ID.
    AUDSID
    NUMBER
    Auditing session ID
    PADDR
    RAW(4 | 8)
    Address of the process that owns this session
    USER#
    NUMBER
    Oracle user identifier
    USERNAME
    VARCHAR2(30)
    Oracle username
    COMMAND
    NUMBER
    Command in progress (last statement parsed); for a list of values, see Table 3-3. These values also appear in the AUDIT_ACTIONS table.
    OWNERID
    NUMBER
    The column contents are invalid if the value is 2147483644. Otherwise, this column contains the identifier of the user who owns the migratable session.
    For operations using Parallel Slaves, interpret this value as a 4-byte value. The low-order 2 bytes of which represent the session number, and the high-order bytes the instance ID of the query coordinator.
    TADDR
    VARCHAR2(8)
    Address of transaction state object
    LOCKWAIT
    VARCHAR2(8)
    Address of lock waiting for; NULL if none
    STATUS
    VARCHAR2(8)
    Status of the session: ACTIVE (currently executing SQL), INACTIVE, KILLED (marked to be killed), CACHED (temporarily cached for use by Oracle*XA), SNIPED (session inactive, waiting on the client)
    SERVER
    VARCHAR2(9)
    Server type (DEDICATED| SHARED| PSEUDO| NONE)
    SCHEMA#
    NUMBER
    Schema user identifier
    SCHEMANAME
    VARCHAR2(30)
    Schema user name
    OSUSER
    VARCHAR2(30)
    Operating system client user name
    PROCESS
    VARCHAR2(9)
    Operating system client process ID
    MACHINE
    VARCHAR2(64)
    Operating system machine name
    TERMINAL
    VARCHAR2(30)
    Operating system terminal name
    PROGRAM
    VARCHAR2(48)
    Operating system program name
    TYPE
    VARCHAR2(10)
    Session type
    SQL_ADDRESS
    RAW(4)
    Used with SQL_HASH_VALUE to identify the SQL statement that is currently being executed
    SQL_HASH_VALUE
    NUMBER
    Used with SQL_ADDRESS to identify the SQL statement that is currently being executed
    PREV_SQL_ADDR
    RAW(4)
    Used with PREV_HASH_VALUE to identify the last SQL statement executed
    PREV_HASH_VALUE
    NUMBER
    Used with SQL_HASH_VALUE to identify the last SQL statement executed
    MODULE
    VARCHAR2(48)
    Contains the name of the currently executing module as set by calling the DBMS_APPLICATION_INFO.SET_MODULE procedure
    MODULE_HASH
    NUMBER
    The hash value of the above MODULE
    ACTION
    VARCHAR2(32)
    Contains the name of the currently executing action as set by calling the DBMS_APPLICATION_INFO.SET_ACTION procedure
    ACTION_HASH
    NUMBER
    The hash value of the above action name
    CLIENT_INFO
    VARCHAR2(64)
    Information set by the DBMS_APPLICATION_INFO.SET_CLIENT_INFO procedure
    FIXED_TABLE_SEQUENCE
    NUMBER
    This contains a number that increases every time the session completes a call to the database and there has been an intervening select from a dynamic performance table. This column can be used by performance monitors to monitor statistics in the database. Each time the performance monitor looks at the database, it only needs to look at sessions that are currently active or have a higher value in this column than the highest value that the performance monitor saw the last time. All the other sessions have been idle since the last time the performance monitor looked at the database.
    ROW_WAIT_OBJ#
    NUMBER
    Object ID for the table containing the ROWID specified in ROW_WAIT_ROW#
    ROW_WAIT_FILE#
    NUMBER
    Identifier for the datafile containing the ROWID specified in ROW_WAIT_ROW#. This column is valid only if the session is currently waiting for another transaction to commit and the value of ROW_WAIT_OBJ# is not -1.
    ROW_WAIT_BLOCK#
    NUMBER
    Identifier for the block containing the ROWID specified in ROW_WAIT_ROW#. This column is valid only if the session is currently waiting for another transaction to commit and the value of ROW_WAIT_OBJ# is not -1.
    ROW_WAIT_ROW#
    NUMBER
    The current ROWID being locked. This column is valid only if the session is currently waiting for another transaction to commit and the value of ROW_WAIT_OBJ# is not -1.
    LOGON_TIME
    DATE
    Time of logon
    LAST_CALL_ET
    NUMBER
    The last call
    PDML_ENABLED
    VARCHAR2(3)
    This column has been replaced by column PDML_STATUS
    FAILOVER_TYPE
    VARCHAR2(13)
    Indicates whether and to what extent transparent application failover (TAF) is enabled for the session:
    NONE - failover is disabled for this session
    SESSION - the client is able to fail over its session following a disconnect
    SELECT - the client is able to fail over queries in progress as well
    See Also:
    Oracle9i Database Concepts for more information on TAF
    Oracle9i Net Services Administrator's Guide for information on configuring TAF
    FAILOVER_METHOD
    VARCHAR2(10)
    Indicates the transparent application failover method for the session:
    NONE - failover is disabled for this session
    BASIC - the client itself reconnects following a disconnect
    PRECONNECT - the backup instance can support all connections from every instance for which it is backup
    FAILED_OVER
    VARCHAR2(3)
    Indicates (YES|NO) whether the session is running in failover mode and failover has occurred
    RESOURCE_CONSUMER_GROUP
    VARCHAR2(32)
    Name of the session's current resource consumer group
    PDML_STATUS
    VARCHAR2(8)
    If ENABLED, the session is in a PARALLEL DML enabled mode. If DISABLED, PARALLEL DML enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL DML.
    PDDL_STATUS
    VARCHAR2(8)
    If ENABLED, the session is in a PARALLEL DDL enabled mode. If DISABLED, PARALLEL DDL enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL DDL.
    PQ_STATUS
    VARCHAR2(8)
    If ENABLED, the session is in a PARALLEL QUERY enabled mode. If DISABLED, PARALLEL QUERY enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL QUERY.
    CURRENT_QUEUE_DURATION
    NUMBER
    If queued (1), the current amount of time the session has been queued. If not currently queued, value is 0.
    CLIENT_IDENTIFIER
    VARCHAR2(64)
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch3171.htm#1122127
    Joel P�rez

  • Session var question

    never mind...got it
    Edited by: mbowles on Aug 27, 2009 6:03 AM

    To answer your question no. For security reasons, you cannot retrieve a sessoin using its ID.
    Is it an extremely secure piece of information?
    If the servlet and applet are talking to the same web application, you could possibly pass the data via the application scope (have a map in application scope, keyed by the session ID, and put the value to pass in that)
    Its not completely secure, because any servlet/jsp in the application can view that data, but it is a sidestep hack to accomplish what you wish :-)

  • NI session manager question

    I use NI session manager to control instrument,when I get the instrumenthandle and  can testing .but my question is :
    if I close instrument power and not close NI teststand,but the teststand can run sucess ,my dll document run in demo.
    but I think there must be a error ,and the dll return value is 0. in fact ,if the instrument closed, the return value maybe a negative.
    how can I deal with it ?

    Hello Sean,
    I want to make sure I fully understand your question.  Do you have a DLL that you are calling in your TestStand sequence as a code module?  If so, does a function within the DLL return a negative number if the instrument is not powered?  Is your overall question how can you determine whether the return value from the DLL is negative and make a decision based on this result?  Thanks in advance for these answers!
    Matt G.
    National Instruments
    Applications Engineering

  • Session object question put vs. putValue vs. setAttribute?

    I have the following code:
    <%@ page import="java.util.*" %>
    <jsp:useBean id="EducationBean" class="java.util.Hashtable" scope="session" />
    <%
    String swCurrFileName = "swcontrol.jsp";
    Enumeration params = request.getParameterNames();
    while (params.hasMoreElements()) {
         String name = (String)params.nextElement();
         EducationBean.put(name, request.getParameter(name));
    %>
    My question is I can't find any documentation on the put command, whats the difference between 'put', and 'putValue', and 'setAttribute'? When I try using the 'putValue' or 'setAttribute' command I get errors.
    What I'm trying to do is store form values in a session object across several pages, and on the last page display all the form values from the previous pages.

    the object you are calling put on is a java.util.Hashtable. put places an object into the table to be keyed off of another object. In your case, your key is the variable name and the object to be stored is your parameter from that name.
    the putValue and setAttribute are methods on the session object. They both do the same action as above, but are for HttpSession objects. putValue is deprecated and you should be using setAttribute, but most WebServers have putValue() pointing to the setAttribute() method. hope this helps.

  • Postmerge session event question

    We have implemented a custom session event listener that utilizes the postmerge session event.
    We have observed some unexpected behavior and were hoping that the product architect or manager could explain this behavior.
    We have the following graph of objects:
    A has a many-to-many privately owned collection of B
    B in turn has a many-to-many privately owned collection of C
    After commiting a transaction involving object A we observe:
    postMerge event for A
    postMerge event of each of A's privately owned Bs
    yet NO postMerge event for any of B's privately owned Cs
    Questions:
    1) Is this the expected behavior?
    2) Since we need to do some processing of Cs, we are using the postMerge event that occurs on Bs to update the Cs. Is this a safe/correct approach?
    3) In a transaction that involved only updates to Cs, (no changes to A or B), would we see a postMerge event for each updated C?
    Thanks in advance for any clarification you can provide.
    ...Steve

    You could paste the results (tkprof ?) of the trace.
    The "missing" time could be an uninstrumented wait --- i.e. a wait event that is not captured in v$session_event. Particularly because you are using external calls.
    For example, see "Case Study 1" at http://blog.tanelpoder.com/2007/08/27/advanced-oracle-troubleshooting-guide-part-2-no-magic-is-needed-systematic-approach-will-do/
    Hemant K Chitale

  • Session cookie question?

    This is a really stupid question but i need the answer lol is a session cookie and a session the same thing? if not whats different and which is better to use to see if a user is logged on my site?

    A "session" is stored in memory on the server and is bound to a specific "sessionId". The sessionId is stored in a cookie by default. When the browser submits the cookie the webserver can use that value to link an existing session to that client.

  • Authentication & Session Management questions

    Hi. Apex 2.2.1. I'm going crazy trying to set up authentication for my application. I'd appreciate any pointers. My scenario is
    Siteminder intercepts all calls to the application
    User authenticates with Siteminder
    If authenticated, Siteminder sets HTTP_SM_USER in the header
    If not authenticated, then APEX is never called
    Pull the user out of the header
    Create a session if needed
    Log the user in if needed
    Redirect the user to the request page
    I've followed the example that I've found in the forum and set up a page sentry function to create a session when the user first comes in. After that I try to verify that the session belongs to them. That's not working because wwv_flow_custom_auth_std.get_username never returns a value. I think that's because I'm not logging the user in to APEX. I can't figure out the difference between wwv_flow_custom_auth_std.post_login and wwv_flow_custom_auth_std.login. (it probably doesn't help that I inherited the application from some consultants that left a year ago and there is no documentation on it or even APEX here at my site).
    Mike

    Thanks, Scott. The problem is that it seems to keep looping. You can see from the log that it creates the session, then invalidates it, then creates it, etc.
    Mike
    debug log
         384     1000     Enter 604 - 1 user MDHENDER session NOT valid
         384     4000     session is NOT valid
         384     4100     dn_network_id is acct\mdhender
         384     5000     creating a new session
         384     5010     created new session
         384     6000     setting up follow up url
         384     6010     follow up url is 604:1:
         384     7000     register new session
         384     7010     registered session
         384     9000     clean exit
         385     1000     Enter 604 - 1 user MDHENDER session valid
         385     3000     session is valid 1707655438517376
         385     3010     authenticated user MDHENDER cookie
         385     3100     marker
         385     3200     marker
         386     1000     Enter 604 - 1 user MDHENDER session NOT valid
         386     4000     session is NOT valid
         386     4100     dn_network_id is acct\mdhender
         386     5000     creating a new session
         386     5010     created new session
         386     6000     setting up follow up url
         386     6010     follow up url is 604:1:
         386     7000     register new session
         386     7010     registered session
         386     9000     clean exit
         387     1000     Enter 604 - 1 user MDHENDER session valid
         387     3000     session is valid 2743127946937676
         387     3010     authenticated user MDHENDER cookie
         387     3100     marker
         387     3200     marker
    Here is the code
    <code>
    CREATE OR REPLACE FUNCTION lmf_siteminder_page_sentry RETURN BOOLEAN IS
    vAuthenticatedUsername VARCHAR2(512);
    vCurrentSessionId NUMBER;
    vDeclaredUser VARCHAR2(512);
    vLogFlag VARCHAR2(1);
    vMaxIdleMinutes NUMBER := 15;
    vNextPage VARCHAR2(1024);
    vTransNo NUMBER;
    PROCEDURE log_msg(vFlag in varchar2,
    vTransNo in number,
    vSeqNo in number,
    vMessage in varchar2) is
    pragma autonomous_transaction;
    BEGIN
    IF vFlag = 'Y' THEN
    insert into sm_debug_log
    (transno, seqno, msg)
    values
    (vTransNo, vSeqNo, vMessage);
    commit;
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    rollback;
    raise;
    END;
    -- determine if the siteminder user is authorized
    FUNCTION CheckAuthorizedUser(vUserName in varchar2) return boolean is
    vDeclaredUser VARCHAR2(512);
    BEGIN
    -- verify that the user is supposed to have access to the application.
    -- a quick check of the authorized users table will settle that question
    select dn_network_id
    into vDeclaredUser
    from user_authorization
    where UPPER(network_id) = UPPER(vUserName);
    return true;
    EXCEPTION
    WHEN OTHERS THEN
    return false;
    END;
    -- if the session cookie's user matches our authenticated user then
    -- return true
    FUNCTION CheckCookieUser(vUserName in varchar2) return boolean is
    BEGIN
    IF vAuthenticatedUsername = wwv_flow_custom_auth_std.get_username THEN
    return true;
    END IF;
    return false;
    END;
    FUNCTION URLRedirect(vUrl IN varchar2) return boolean is
    BEGIN
    log_msg(vLogFlag, vTransNo, 9999, 'redirect => ' || vUrl);
    owa_util.redirect_url(vUrl, true);
    wwv_flow.g_unrecoverable_error := true;
    return false;
    END;
    BEGIN
    BEGIN
    select debug, sm_seq_no.nextval
    into vLogFlag, vTransNo
    from sm_settings;
    EXCEPTION
    WHEN OTHERS THEN
    vLogFlag := 'N';
    END;
    -- get authenticated user from siteminder. APEX may expect it
    -- to be upper case
    vAuthenticatedUsername := UPPER(lmf_siteminder_user());
    IF wwv_flow_custom_auth_std.is_session_valid THEN
    log_msg(vLogFlag,
    vTransNo,
    1000,
    'Enter ' || v('APP_ID') || ' - ' || v('APP_PAGE_ID') ||
    ' user ' || nvl(vAuthenticatedUsername, '*null*') ||
    ' session valid');
    ELSE
    log_msg(vLogFlag,
    vTransNo,
    1000,
    'Enter ' || v('APP_ID') || ' - ' || v('APP_PAGE_ID') ||
    ' user ' || nvl(vAuthenticatedUsername, '*null*') ||
    ' session NOT valid');
    END IF;
    -- no surprise here - let anyone view a page flagged as public
    IF htmldb_custom_auth.current_page_is_public THEN
    log_msg(vLogFlag, vTransNo, 1010, 'current page is public');
    return true;
    END IF;
    -- redirect all unauthorized users to our no-access page
    IF not CheckAuthorizedUser(vAuthenticatedUsername) THEN
    -- send the user to our unathorized page
    log_msg(vLogFlag,
    vTransNo,
    1100,
    'unable to find dn_network_id for authenticated user ' ||
    lmf_siteminder_user());
    log_msg(vLogFlag,
    vTransNo,
    1110,
    'try a redirect to ' || '/pls/apex/f?p=' || v('APP_ID') ||
    ':105:' || vCurrentSessionId || ':');
    return URLRedirect('/pls/apex/f?p=' || v('APP_ID') || ':105:' ||
    vCurrentSessionId || ':');
    END IF;
    -- use the current session if it is valid and assigned to
    -- our authenticated user
    IF wwv_flow_custom_auth_std.is_session_valid THEN
    vCurrentSessionId := wwv_flow_custom_auth_std.get_session_id_from_cookie;
    log_msg(vLogFlag,
    vTransNo,
    3000,
    'session is valid ' || vCurrentSessionId);
    log_msg(vLogFlag,
    vTransNo,
    3010,
    'authenticated user ' || vAuthenticatedUsername || ' cookie ' ||
    wwv_flow_custom_auth_std.get_username);
    -- if the session cookie's user matches our authenticated user then
    -- accept it and proceed with displaying the page
    IF CheckCookieUser(vAuthenticatedUsername) THEN
    wwv_flow_custom_auth.define_user_session(p_user => vAuthenticatedUsername,
    p_session_id => vCurrentSessionId);
    return true;
    END IF;
    log_msg(vLogFlag, vTransNo, 3100, 'marker');
    -- the names do not match. assume that someone hijacked the session.
    -- invalidate it and bump them out
    -- Unset the session cookie and redirect back here to take other branch
    wwv_flow_custom_auth_std.logout(p_this_flow => v('APP_ID'),
    p_next_flow_page_sess => v('APP_ID') || ':' ||
    nvl(v('APP_PAGE_ID'),
    0) || ':' ||
    vCurrentSessionId);
    wwv_flow.g_unrecoverable_error := true;
    log_msg(vLogFlag, vTransNo, 3200, 'marker');
    -- tell APEX that we are not pleased
    return false;
    END IF;
    log_msg(vLogFlag, vTransNo, 4000, 'session is NOT valid');
    -- we did not have a valid session so verify that the user is supposed
    -- to access our application. a quick check of the authorized users
    -- table will settle that question for us
    BEGIN
    select dn_network_id
    into vDeclaredUser
    from user_authorization
    where UPPER(network_id) = vAuthenticatedUsername;
    log_msg(vLogFlag, vTransNo, 4100, 'dn_network_id is ' || vDeclaredUser);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    -- send the user to our unathorized page
    log_msg(vLogFlag,
    vTransNo,
    4900,
    'unable to find dn_network_id for authenticated user ' ||
    vDeclaredUser);
    log_msg(vLogFlag,
    vTransNo,
    4910,
    'try a redirect to ' || '/pls/apex/f?p=' || v('APP_ID') ||
    ':105:' || vCurrentSessionId || ':');
    return URLRedirect('/pls/apex/f?p=' || v('APP_ID') || ':105:' ||
    vCurrentSessionId || ':');
    END;
    -- create new session
    log_msg(vLogFlag, vTransNo, 5000, 'creating a new session');
    wwv_flow_custom_auth.define_user_session(p_user => vAuthenticatedUsername,
    p_session_id => wwv_flow_custom_auth.get_next_session_id);
    log_msg(vLogFlag, vTransNo, 5010, 'created new session');
    wwv_flow.g_unrecoverable_error := true;
    -- set cookie
    -- set the followup URL to page 1
    log_msg(vLogFlag, vTransNo, 6000, 'setting up follow up url');
    vNextPage := to_char(wwv_flow.g_flow_id) || ':1:';
    log_msg(vLogFlag, vTransNo, 6010, 'follow up url is ' || vNextPage);
    --wwv_flow_custom_auth.remember_deep_link(p_url => vNextPage);
    --log_msg(vLogFlag, vTransNo, 6020, 'completed follow up url');
    --IF owa_util.get_cgi_env('REQUEST_METHOD') = 'GET' THEN
    -- wwv_flow_custom_auth.remember_deep_link(p_url => 'f?' ||
    -- wwv_flow_utilities.url_decode2(owa_util.get_cgi_env('QUERY_STRING')));
    --ELSE
    -- wwv_flow_custom_auth.remember_deep_link(p_url => 'f?p=' ||
    -- to_char(wwv_flow.g_flow_id) || ':' ||
    -- to_char(nvl(wwv_flow.g_flow_step_id,
    -- 0)) || ':' ||
    -- to_char(wwv_flow.g_instance));
    --END IF;
    -- register new session with the application
    log_msg(vLogFlag, vTransNo, 7000, 'register new session');
    if 0 < 1 then
    wwv_flow_custom_auth_std.post_login(p_uname => vAuthenticatedUsername,
    p_flow_page => vNextPage);
    log_msg(vLogFlag, vTransNo, 7010, 'registered session');
    else
    wwv_flow_custom_auth_std.login(P_UNAME => vAuthenticatedUsername,
    P_PASSWORD => 'dummy',
    P_SESSION_ID => v('APP_SESSION'),
    P_FLOW_PAGE => v('APP_ID') || ':1');
    log_msg(vLogFlag, vTransNo, 7011, 'registered session');
    end if;
    if 0 > 1 then
    owa_util.mime_header('text/html', FALSE);
    owa_cookie.send(name => 'LOGIN_USERNAME_COOKIE',
    value => vAuthenticatedUsername,
    expires => null,
    path => '/',
    secure => 'yes');
    owa_cookie.send(name => 'HTMLDB_IDLE_SESSION',
    value => to_char(sysdate + (vMaxIdleMinutes / 1440),
    'DD-MON-YYYY HH24:MI:SS'),
    expires => null,
    path => '/',
    secure => 'yes');
    end if;
    log_msg(vLogFlag, vTransNo, 9000, 'clean exit');
    -- tell htmldb engine to quit
    return false;
    EXCEPTION
    WHEN OTHERS THEN
    return false;
    END;
    </code>

  • EBS-OTM Item Integration BPEL Console question

    Hello All,
    I apologize in advance if this is the incorrect category in which to post the question.
    We are trying to customize the Item Integration piece that comes into OTM (6.1.0) from EBS Order Management (11.10). We have made our changes to the APPS package and the JAR files in the WshSendItemRefDataToOtm bpel instance.
    When we test our changes, we can see our new elements and their values (DOMAIN NAME TMS and XID CASE) coming through during the G_getEBSItemInfo_OutputVariable in the BPEL audit (InvokeEBSItemPL) but the values are not there for the outputVariable from WshXFormToOutput. Our new elements show in its XML, but they are empty? Any ideas?
    InvokeEBSItemPl:
    (we have added the PACKAGEDITEMSPECREF element)
    <GET_EBS_ITEM_INFO xmlns="">
    <GET_EBS_ITEM_INFO_ITEM>
    <ITEM>
    <TRANSACTIONCODE>IU</TRANSACTIONCODE>
    <ITEMGID>
    <GID>
    <DOMAINNAME>TMS</DOMAINNAME>
    <XID>1050-673466</XID>
    </GID>
    </ITEMGID>
    <ITEMNAME>803125</ITEMNAME>
    <DESCRIPTION>S56 BB 4CS</DESCRIPTION>
    </ITEM>
    <PACKAGING>
    <PACKAGEDITEMGID>
    <GID>
    <DOMAINNAME>TMS</DOMAINNAME>
    <XID>1050-673466</XID>
    </GID>
    </PACKAGEDITEMGID>
    <DESCRIPTION>S56 BB 4CS</DESCRIPTION>
    <PACKAGEDITEMSPECREF>
    <SHIPUNITSPECREF>
    <SHIPUNITSPECGID>
    <GID>
    <DOMAINNAME>TMS</DOMAINNAME>
    <XID>CASE</XID>
    </GID>
    </SHIPUNITSPECGID>
    </SHIPUNITSPECREF>
    </PACKAGEDITEMSPECREF>
    </PACKAGING>
    </GET_EBS_ITEM_INFO_ITEM>
    </GET_EBS_ITEM_INFO
    WshXFormToOutput:
    <ns1:TransmissionBody>
         <ns1:GLogXMLElement>
         <ns1:ItemMaster>
              <ns1:Item>
              <ns1:TransactionCode>IU
              </ns1:TransactionCode>
                   <ns1:ItemGid>
                   <ns1:Gid>
                   <ns1:DomainName>TMS</ns1:DomainName>
                   <ns1:Xid>1050-673466</ns1:Xid>
                   </ns1:Gid>
                   </ns1:ItemGid>
                   <ns1:ItemName>803125</ns1:ItemName>
                   <ns1:Description>S56 BB 4CS</ns1:Description>
              </ns1:Item>
              <ns1:Packaging>
              <ns1:PackagedItemGid>
              <ns1:Gid>
                   <ns1:DomainName>TMS</ns1:DomainName>
                   <ns1:Xid>1050-673466</ns1:Xid>
              </ns1:Gid>
              </ns1:PackagedItemGid>
              <ns1:Description>S56 BB 4CS</ns1:Description>
              <ns1:PackagedItemSpecRef>
              <ns1:ShipUnitSpecRef>
              <ns1:ShipUnitSpecGid>
                   <ns1:Gid>
                   <ns1:DomainName/>
                   <ns1:Xid/>
                   </ns1:Gid>
              </ns1:ShipUnitSpecGid>
              </ns1:ShipUnitSpecRef>
              </ns1:PackagedItemSpecRef>
              </ns1:Packaging>
         </ns1:ItemMaster>
    </ns1:GLogXMLElement>
    </ns1:TransmissionBody>

    I suppose you are using seeded BPEL jar for OTM-EBS integration. I think you need to make the changes to code. unzip the jar and in .xslt file make the changes. Once done you have to Jar the file again and deploy it.
    We had a similar issue when we added new fields, but we found out it alwyas better to write our own custom code than using oracle provided BPEL code.
    Regards
    Sahil

  • Customer login session tracking questions

    Hi,
    I work for a research support group at a university. We have a mixed platform environment. The nature of the services we provide requires that we bill for time spent on out compute devices.
    There are a couple of questions in this posting. The fundamental one though is -- for 10.4 and higher Macs running on Intel and non-Intel hardware what is the "best" solution to track login sessions for our customers? A session has to include the concepts of logging in and out from the console or remote (ssh) access to the machine(s).
    I am interested in Apple native and third party or open source solutions. I need to track/log that customer-X logged in to machine-M at dateTime-T and logged out at dateTime-T'. I also need to know if the machine was (re)booted or had some other action occur that would impact a customer login session.
    So the main question is, are there existing customer session tracking solutions?
    I have an existing home grown (non-Intel) solution that works well on non-Intel macs and other *nix boxes. It is a daemon that reads accumulated, rotated wtmp files and then "hangs" on the current wtmp file waiting for and processing session records as they arrive.
    This worked like a champ until we installed our first Intel Mac. I re-compiled the C code that uses the utmp.h include files and structs to get at the info but it silently fails. I received some advice on changing my make file and am currently using:
    # Mac OS
    CC = gcc -Wall -g
    CFLAGS = -I/usr/include/mysql -isysroot \
    /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 \
    -framework CoreServices
    LDFLAGS = -L/usr/lib/mysql -lmysqlclient -lz \
    -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk \
    -arch ppc -arch i386
    PLATFORM = osx
    wtmp_parser: wtmp_parser.c
    ${CC} ${CFLAGS} -o $@ $? ${LDFLAGS}
    /bin/mv $@ $@.${PLATFORM}
    Again, this compiles without error but silently fails. I don't know anything about compiling on any Macs, much less these new ones. Ideas are greatly appreciated.
    Lastly, I have started reworking the whole setup and may move it all to perl. Here I can read the wtmp files easily using unpack() even on the Intel Macs. I can daemonize the thing but I'm stumbling a bit on one issue.
    I have noticed in the past that there can be a sort of race condition during the wtmp rotation on some machines where the active wtmp gets rotated but the old logging still writes one or two records to the rotated file before switching to the new one. I was starting to look into a programmatic solution for this when I looked at the rotated wtmp files on this one machine and I see file dates of:
    Dec 5 15:29 wtmp
    Oct 1 01:47 wtmp.0.gz
    Aug 29 16:05 wtmp.1.gz
    Aug 1 05:29 wtmp.2.gz
    Jul 31 18:26 wtmp.3.gz
    May 31 2007 wtmp.4.gz
    Okee... I know there is a /etc/monthly script that should be doing the rotation but it looks like it is not doing what I expect. It seems that it is not rotating all the existing files correctly. Ideas?

    I am done. Sorry for bothering

  • EJB 3.0 Session Bean question

    Hi there,
    How'd I expose a method of Stateless Session Bean in EJB 3.0? I don't seem to find any annotation for that.
    Thanks in advance.
    Saeed

    If you need to expose method implemented in Session bean, you can invoke the method call from within another method called in Client.
    This method has to be defined in the remote interface . The method you are trying to invoke can be defined somewhere else but called in your bean class from within the method definedin the remote interface.

  • Stateful Session Bean Question

    I have a stateful session bean being invoked by my web tier on several request/response transactions. What would be the best way to locate the same session bean ? Would that be the create method in the Home i/f or would i need to supply a finder method for locating an existing bean?

    Hi,
    Store HomeObject or EJB Object in the Session in the WebTier.
    Anil

Maybe you are looking for