Weblogic & JNDI Data Source with proxy user.

We're trying to use Oracle proxy user authentication on a data source configured in WebLogic 10.3.6, however, we want to approach it in a programatic way. So we want to obtain the DataSource, and set the proxy related properties inside the application.
We came up with the following snippet:
Hashtable<String, Object> env = new Hashtable<String, Object>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL, "t3://10.1.1.10:7003");
env.put(Context.SECURITY_PRINCIPAL, "weblogic");
env.put(Context.SECURITY_CREDENTIALS, "weblogic");
Context context = new InitialContext(env);
javax.sql.DataSource ds = (javax.sql.DataSource) context.lookup("ds_puser");
OracleConnection oconn = (OracleConnection) ds.getConnection();
The problem comes up when we try to cast the connection to OracleConnection, the thing is that the returned type is actually a 1036_WLStub.
How can we avoid that type or cast to it to something useful? I found this reference on Oracle forums and he's being able to cast it directly:
Re: My problem in using weblogic Datasource and proxy user
Can someone help us out?
Thanks a lot in advance!
Edited by: 990800 on 27-feb-2013 13:26

A DataSource is an Interface. What the code gets from the jndi tree is some concrete object that
the code doesn't need to know the name of, or anything specific about it, as long as it implements
the DataSource Interface, which it successfully casts to, to allow calling the methods defined in the
DataSource Interface. If you call for a plumber, you don't need to know his name as long as you
can get a plumber, and can call the "Fix this leak" method, defined in the Plumber Interface.

Similar Messages

  • Jndi data source references at deployment time

    hi,
    i have been thinking and trying for days now, so any hint is greatly appreciated.
    we have an enterprise java application with adf faces, bc4j and jpa all in one ear which runs on weblogic 10.3. we want several instances of the same application running on the same weblogic server, with different context-root's and database connections. what I don't know how to do is how I could create an application-wide jndi link to a jdbc data source at deployment time - because the data source jndi name is listed in bc4j application modules and persistence.xml - so one global jndi link for the application would be great.
    e.g.
    jndi names of data sources installed in the weblogic server:
    jdbc/customer1
    jdbc/customer2
    deployment1:
    context-path: /app-customer1
    local data source name: java:comp/env/jdbc/customer
    deployment 2:
    context-path: /app-customer2
    local data source name: java:comp/env/jdbc/customer
    so the goal is, at deployment time, to create a link to jdbc/customer1 for the first deployment and jdbc/customer2 for the second deployment using .. ?
    thank you very much,
    matt

    hi Anand,
    thank you for your answer. It is indeed a part of the solution I would need to apply - resource references in web.xml to have the bc4j application modules reference a jndi data source under java:comp/env. The other part to it is that we have an ejb jar in our jee application, built with hibernate and a persistence.xml file (yes we are crazy enough to use both bc4j and jpa in one ear). The jndi name of the data source specified in persistence.xml would not pick up a resource reference specified in web.xml would it - actually i should just try this out. So that's the 2nd part of the solution.
    cheers,
    Matt

  • An error occurred querying a data source - with REST services

    Hi,
    I have a SharePoint 2013 form library library with an info-path form. I need to get the logged in user's 'Display Name' on my form load automatically.
    I used REST service to fetch the current user details. In the preview mode of the form, its showing the right name. But when I publish this form to library I am getting the following error.
    REST Service --> http://site url/_api/SP.UserProfiles.PeopleManager/GetMyProperties
    Please help me to resolve this issue.
    Thanks in advance for your time and reply :)

    Hi,
    According to your post, my understanding is that an error occurred querying a data source with REST services.
    It is defiantly permission issue with GetUserProfileByName service
    and could be many reasons of this problem. You first try with UDCX file and make sure that UPS is running.
    Here are some similar threads for your reference:
    http://social.technet.microsoft.com/Forums/en-US/b8c668ea-7511-4657-a1a8-08fb4a6bd53d/info-path-an-error-occurred-querying-a-data-source?forum=sharepointcustomizationprevious
    http://social.technet.microsoft.com/Forums/en-US/46866ac2-da09-4340-a86a-af72cbb2c8d7/info-path-an-error-occurred-querying-a-data-source-?forum=sharepointcustomization
    http://blogs.msdn.com/b/russmax/archive/2012/08/17/want-to-call-sharepoint-2010-web-services-within-browser-based-infopath-2010-forms.aspx
    Best Regards,
    Linda Li
    Linda Li
    TechNet Community Support

  • Shared Data Source with prompted credentials - errors out.

    Using Data Tools (VS 2010) to build report.
    Have built a simple report while trying to diagnose this issue.  This report is created in a project that was originally built in BIDS2008 and migrated to Data Tools 2010.  This project contains an original shared dataset that does NOT
    error out.
    Report contains
         1) shared data source with properties set to prompted credentials.
         2) shared dataset using data source above
         3) 2 parameters (month and year)
         4) Report uses shared dataset
         5) 2 text boxes in the report body to display the parameters values.
    When I try to preview this report I get the error:
         The execution failed for the shared data set "xxx"
         Cannot create a connection to data source 'Data source for shared dataset'
         Security processing failed with reason "3" ("password missing")
    Now, if I changed that same shared dataset to use a static login and password; the report renders fine.
    What is going on???

    Hi RoseNeedsAVacation,
    When you use shared data source with "Prompt for credential" option, please use SQL Server login credential to u view the report in BIDS or SSDT report designer environment.
    Note: The shared data source will automatic switch to SQL Server authentication mode if we use "Prompt for credential" option.
    After you deploy your report and shared data source to report server, please remember to configure your shared data source to use "Credentials supplied by the user running the report" option. Furthermore, select "Use
    as Windows credentials when connecting to the data source" checkbox if the credentials that the user provides are Windows Authentication credentials. Do not select this check box if you are using database authentication (for example, SQL
    Server Authentication).
    For more information, please refer to the article below:
    New Data Source Page (Report Manager):
    http://technet.microsoft.com/en-us/library/ms180077(v=sql.100).aspx
    Regards,
    Elvis Long
    TechNet Community Support

  • Using JDBC Data Sources with ADFBC, NoInitialContextException

    Using JDBC Data Sources with ADF Business Components, NoInitialContextException
    I follow the instruction in the link below to create an ADF Swing application using datasource. I am using JDeveloper version 10.1.3.
    http://www.oracle.com/technology/products/jdev/howtos/10g/usingdatasources/using_datasources.html
    The ADF generated code looks like this:
    JUMetaObjectManager.setErrorHandler(new JUErrorHandlerDlg());
    JUMetaObjectManager mgr = JUMetaObjectManager.getJUMom();
    mgr.setJClientDefFactory(null);
    BindingContext ctx = new BindingContext();
    ctx.put(DataControlFactory.APP_PARAM_ENV_INFO, new JUEnvInfoProvider());
    ctx.setLocaleContext(new DefLocaleContext(null));
    HashMap map = new HashMap(4);
    map.put(DataControlFactory.APP_PARAMS_BINDING_CONTEXT, ctx);
    mgr.loadCpx("datasource.view.DataBindings.cpx" , map);
    final FormMain frame = new FormMain();
    frame.setBindingContext(ctx);
    I got this error when executing the last line: frame.setBindingContext(ctx);
    (oracle.jbo.common.ampool.ApplicationPoolException) JBO-30003: The application pool (datasource.datamodel.AppModuleDS) failed to checkout an application module due to the following exception:
    ----- LEVEL 1: DETAIL 0 -----
    (oracle.jbo.JboException) JBO-29000: Unexpected exception caught: oracle.jbo.DMLException, msg=JBO-27200: JNDI failure. Unable to lookup Data Source at context jdbc/xe_hrDS
    ----- LEVEL 2: DETAIL 0 -----
    (oracle.jbo.DMLException) JBO-27200: JNDI failure. Unable to lookup Data Source at context jdbc/xe_hrDS
    ----- LEVEL 3: DETAIL 0 -----
    (javax.naming.NoInitialContextException) Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
    If I configure the application module connection type as JDBC URL, everything works.
    If the connection type is JDBC Datasource, I got the above error.
    Can someone show me how to adjust the generated code by ADF to use datasource?

    ADF BC has a bug. With Data Source in Application Module, application module does not connect. Use JDBC Connection URL.
    Also refer
    ADF BC: JDBC URL vs JDBC DataSource

  • Referencing JNDI data source: Tomcat 6 vs WebSphere 6.1

    Hi,
    I've noticed a problem whereby there is a difference in the way I have to specify my JNDI data source depending on the application server I deploy it on.
    In Tomcat my code specifies "java:comp/env/DB_NAME" and this works fine.
    This doesn't work though in WebSphere and I have to remove the "java:comp/env" prefix to get it to work.
    Is there a common solution for this whereby my code/properties can specify the same JNDI value?
    Thanks

    jwenting wrote:
    mycoffee wrote:
    ted_hankey wrote:
    Hi,
    I've noticed a problem whereby there is a difference in the way I have to specify my JNDI data source depending on the application server I deploy it on.
    In Tomcat my code specifies "java:comp/env/DB_NAME" and this works fine.
    This doesn't work though in WebSphere and I have to remove the "java:comp/env" prefix to get it to work.
    Is there a common solution for this whereby my code/properties can specify the same JNDI value?
    ThanksShould not be different
    wrong. There's nothing in any specification stating that jndi resource names should be identical between platforms.
    On weblogic for example it would be jdbc/DB_NAME :)No
    Tomcat, websphere or weblogic are not different in that term
    The differences are about configuration of the servers. If the servers are configured the same, it should be the same. (Check all the config xml files)
    This post is more clear
    http://www.theserverside.com/discussions/thread.tss?thread_id=42158
    I wrote my code like this
    Context intC = new InitialContext();
    Context c = (Context )intC.lookup("java:comp/env");
    DataSource ds = (DataSource)c.lookup("myDataBase");
    con = ds.getConnection();and it works for Tomcat + Websphere (did not try on Weblogic yet but believe it should be OK)

  • Generic Data source with Infoset Query

    Hi All,
    Please provide me the links or PPT's or Information or PDF's for the creation of the Generic Data source with Infoset Query or
    Please explain in clear steps how to create Generic Data source with Infoset Query.
    Thanks & Regards,
    Ravi

    Oopps...being a BI guy, always think of BW
    I have never created, though I will suggest to follow this:
    A query can be created to extract information from master records i.e Infotypes. For example, by creating a query , the data relating to an employee contained in various Infotypes can be extracted.
    Proceedure :
    Decide on the various Infotypes we want to make the query. Decide on the area where we want to query i.e Global area or Standard area. Standard area is client specific and globel area will include all clients.
    Menu : HR u2013 PM u2013 Admn - Information System - Adhoc Query
    Select area standard and select the user group already created
    Creation of new query :
    TC SQ03 - Select Environment u2013 Select Standard Area - Enter -- If new user group is to be created, enter name of the user group, click on create and enter necessary information and exit after saving
    TC SQ02 - Enter name of the Infoset u2013 Create u2013 enter name of Infoset - Data source -- > Table join by basis table u2013 give name of table e.g pa0000 - Enter - Click on insert table if we want to include more tables u2013 give name of table one by one and after finishing, place cursor on the joining lines and right click to delete unwanted relationships - check - and go back - field groups - include all table fields - click on generate button - go out
    TC SQ03 - Select user group - eg. Payroll
    Infoset - Enter name of newly created Infoset
    Assign users and Infosets - Assign infosets - put tick on payroll - save and go back
    TC PAAH - Expand the nodes and put tick on relevant fields depending upon necessity
    Save the query by giving the same name as infoset for easyness..
    Thanks...
    Shambhu

  • Not able to create a Data source with qty filed in the table

    Hi i am having scenario.
        i am doing a Genric R/3 extraction for R/3 system. I created a view from two tables. I have added a net quantity field also in then view table. But when i created a data source for that view it is showing a error message which says that it cannot create a data source with a quantity field in the table.
    Here is my question. How to create a Data Source for a view table which has Qty filed in it.
    Pls help with this.
    Senthil

    Hi Sensai,
       U need to add reference table for the unit .... when added into the view u create .......the reference table name u can find in the table itself from where it is brought into the view.... in the table currency quantity fields........
    U can add that table in the currency /quantity fields of the view....u need to add referecne field and table...and activate ........
    i think it works
    Regards
    vamsi

  • Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of '

    When I deploy the cube which is sitting on my PC (local) the following 4 errors come up:
    Error 1 The datasource , 'AdventureWorksDW', contains an ImpersonationMode that that is not supported for processing operations.  0 0 
    Error 2 Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of 'Adventure Works DW', Name of 'AdventureWorksDW'.  0 0 
    Error 3 Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'Customer', Name of 'Customer' was being processed.  0 0 
    Error 4 Errors in the OLAP storage engine: An error occurred while the 'Customer Alternate Key' attribute of the 'Customer' dimension from the 'Analysis Services Tutorial' database was being processed.  0 0 

    Sorry hit the wrong button there. That is not entire solution and setting it to default would work when using a single box and not in a distributed application solution. If you are creating the analysis database manually or using the wizard then you can
    set the impersonation to your heart content as long as the right permission has been set on the analysis server.
    In my case I was using MS Project Server 2010 to create the database in the OLAP configuration section. The situation is that the underlying build script has been configured to use the default setting which is the SQL Service account and this account does
    not have permission in Project Server I believe.
    Changing the account to match the Project service account allowed for a successful build \ creation of the database. My verdict is that this is a bug in Project Server because it needs to include the option to choose impersonation when creating the Database
    this way it will not use the default which led to my error in the first place. I do not think there is a one fix for all in relations to this problem it is an environment by environment issue and should be resolved as such. But the idea around fixing it is
    if you are using the SQL Analysis server service account as the account creating the database and cubes then default or service account is fine. If you are using a custom account then set that custom account in the impersonation details after you have granted
    it SQL analysis administrator role. You can remove that role after the DB is created and harden it by creating a role with administrative permissions.
    Hope this helps.

  • JNDI data source

    I'm trying to use a JNDI data source in CF 10. We used to do it in CF 8 in the JRun admin, and was able to use data sources across coldFusion and java code. Any ideas on how to make it work in CF 10? I've tried several online resources, setting up a resource in Context.xml:
      <Resource name="mydatasource" auth="Container" type="javax.sql.DataSource"
                   maxActive="100" maxIdle="30" maxWait="10000"
                   username="myuser" password="mypass" driverClassName="macromedia.jdbc.MacromediaDriver"
                   url="jdbc:macromedia:sqlserver://127.0.0.1:1433;databaseName=mydb;SendStringParametersAsU nicode=false;SendStringAsUnicode=false"/>
    then a resource-ref in web.xml
    <resource-ref>
          <description>DB Connection</description>
          <res-ref-name>mydatasource</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
                </resource-ref>
    but I'm getting errors
    java.lang.IllegalArgumentException: Cannot convert value of type [jav
    a.lang.String] to required type [javax.sql.DataSource] for property 'dataSource'
    : no matching editors or conversion strategy found

    If you want to turn your application into a provider, refer to the Developer's Guide at http://docs.sun.com/source/816-6362-10/index.html

  • How to create JNDI data source name in Tomcat 6.0.18 server?

    Hai,
    How to create JNDI data source name in Tomcat 6.0.18 server?
    Regards,
    MariMuthu.A

    [http://google.com/search?q=jndi+site:tomcat.apache.org+6.0]

  • JDBC Dynamic Credential with proxy users

    Hi
    We've developed an application with Business Components and it's been working very well. We're using JDBC Dynamic Credential like explain the document (How to Support JDBC Dynamic Credentials - http://www.oracle.com/technology/products/jdev/howtos/10g/dynamicjdbchowto.html). Now we want to use proxy users with JDBC Dynamic Credentials. How can we
    user proxy users with JDBC Credentials? What classes or parameters we need to change?
    I've been tested proxy users a lot, but in simple java classes, I don't know where to set some parameters in business components, for example, where can I set the following parameters?:
    OracleOCIConnectionPool.PROXY_USER_NAME
    OracleOCIConnectionPool.PROXYTYPE_USER_NAME
    Thanks in advance
    Liceth

    Hi Frank, thanks again
    Now we are using JDBC Credentials(like explain the paper http://www.oracle.com/technology/products/jdev/howtos/10g/dynamicjdbchowto.html), every user connects to the application with a diferent database user and password, then at database level the administrator can see diferents usernames (not the same user). Every application user correspond to a database user, relation one to one. The application works fine with that configuration. But, now for performance we want to change our application to use proxy users, I read that with proxy users redirectec to a single user, then the pooling connections are well reused, and at database level you have diferent usernames. Our principal goal is use pooling (for performance) and see diferent usernames at database level, this for facilitate administration tasks and auditory .
    We want that the application user autenticate with proxy users (username and password) but we have some problems because we don't know where specify that we're using proxy users. (The parameters OracleOCIConnectionPool.PROXY_USER_NAME
    OracleOCIConnectionPool.PROXYTYPE_USER_NAME).
    We want open our connections with the following code:
    OracleOCIConnectionPool ods = new OracleOCIConnectionPool();
    ods.setURL("jdbc:oracle:oci:@"+tnsAlias);
    ods.setUser("user_application");
    ods.setPassword("oracle");
    java.util.Properties prop = new java.util.Properties();
    prop.setProperty(OracleOCIConnectionPool.CONNPOOL_MIN_LIMIT,"3");
    prop.setProperty(OracleOCIConnectionPool.CONNPOOL_MAX_LIMIT,"20");
    prop.setProperty(OracleOCIConnectionPool.CONNPOOL_INCREMENT,"1");
    ods.setPoolConfig(prop);
    java.util.Properties userNameProp = new java.util.Properties();
    userNameProp.setProperty(OracleOCIConnectionPool.PROXY_USER_NAME,"Mark/123");
    Connection conn = ods.getProxyConnection(OracleOCIConnectionPool.PROXYTYPE_USER_NAME,userNameProp);
    with other user
    userNameProp.setProperty(OracleOCIConnectionPool.PROXY_USER_NAME,"Marty/123d");
    Connection conn = ods.getProxyConnection(OracleOCIConnectionPool.PROXYTYPE_USER_NAME,userNameProp);
    Thanks in advance
    Liceth

  • Generic Data Source with Function Module data mismatch in BI

    Hi All,
    I'm using Generic Data Source with Function Module, When I execute the Function Module (Which I have Created), I'm getting 16000 records and when run extractor(in RSA3) im getting different no.of records(infact they are more no.).
    when I run the InfoPackage in BI im Getting more no. of records than what i got executing the function module..
    and single record is divided into 2 records in BI side(not all the records), how can it be possible???
    is there anything Im missing to explain you my issue???
    if understood please help me out.
    Thanks n Regards,
    ravi.

    the datasource frame work starts the function module several times.
    1. the initialization
    2. the serval times, until you "raise no_more_data".
    check you coding: have you refreshed necessary internal tables.
    Sven

  • Generic Data Source with Function Module data mismatch

    Hi All,
    I'm using Generic Data Source with Function Module, When I execute the Function Module (Which I have Created), I'm getting 16000 records and when run extractor(in RSA3) im getting different no.of records(infact they are more no.).
    when I run the InfoPackage  in BI im Getting more no. of records than what i got executing the function module..
    and single record is divided into 2 records in BI side(not all the records), how can it be possible???
    is there anything Im missing to explain you my issue???
    if understood please help me out.
    Thanks n Regards,
    ravi.

    HI rkiranbi,
    1. FIrst you excute function module according to your paramers, you will get some records. then goto tcode RSA3 --> excute
    Provide your Data source name and under setting we have options like Data records/calls, Display extractor calls and selections --> fields .
    in that options you have to increase the values. and then you have to pass paramers in RSA3 according to your function module
    selections in SE37. Now you will get equal values in both functin module selection and RSA3 Selection. if it fail means  you need to
    check coding logic in function module. 
    2. if your  are getting wrong values in BI System then check with
                  1. compare with PSA data and data target data (here you need to check with characterstic as well as keyfigures)
                  if you find any mistake you need change the coding in function module according to client requirement.
                  2. compare data with RSA3 and bi report data or data target data.
                                 check it properly above steps, you will get solution.
    thanks and regards,
    malli

  • WebLogic 11g data source connection pooling failed with IO error:socket read timed out.

    Hi all,
    We encountered IO Error: Socket read timed out( <Received exception while creating connection for pool "DS_1": IO Error: Socket read timed out> ) during the creation of data sources in WebLogic 11g. Manual data source testing seems to indicate intermittent connection and the server seems to take a long time to start up with multiple IO errors. We increased the timeout at the database side but it does not seems to help. The database is 11g (11.2.0.3). The database services and listener are up which does not indicate that the database instance is down.

    This particular error means your database is down and socket is timedout. Or the query takes so long that the reader timedout -- unlikely.
    Also, the general weblogic socket write errors, which you might see sometimes means that the client got disconnected before the server wrote results back. This is harmless

Maybe you are looking for

  • I can not set up my skype to go number on my accou...

    I can not seem to set up my skype to go number on my account.. i had recently .. created another account.. and tried to ad my number from the previous account to the new account.. i says number is already registerdd with another account.. as i delete

  • Will multiple Lan cards cause problems using rmi?

    Will multiple Lan cards cause problems using rmi? If a host has two or more network cards (only one of which is Internet-enabled), how does RMI know which IP address to use? There seems to be a problem when such a client registers with an RMI service

  • How to read encrypted files

    i cant seem to read some files on notepad it all look like gibberish

  • Downloading photo attachments

    Hi there! I'm a recent mac convert who needs help! Why is it that when I try to download photo attachments from yahoo mail, i can't readily view it unlike before? Let me try to paint a picture.... Normal: Click 'Download File' > 'Download' box appear

  • Duplicate songs under 'Artists' category

    I do not know how this happened with my iPod, but after one of the last times I synced my iPod, some songs under the artist tab were duplicated. I have tried to fix the issue in many different ways. I went to the songs and manually changed the inform