ALDSP , Logical Data service to PhysicalData service mapping

Hi ,
Need help to find out the way how to find the mapping between the Logical Dataservice to physical service using config file .
I have requirement like depend on the Region ( Parameter) need to connect to the database . How do we achive this using an xml file ( means dynamic which out a code change ) .
for ex:
Think we have 3 regions names ( DAO ,APJ ,CCC). I have created 3 Physical data services for each region (which will point to 3 diff databases).
then In the logical service I have logic like this
If( region =='DAO')
call the DAO Physical Srvice
If(region == 'APJ')
call the APJ Physical Srvice
If(region == 'CC')
call the CCC Physical Srvice
So if I have to point the region 'DAO' to the APJ physical service then it required a code change . how we can avoid this hard coded mapping . Is there any way to define the region and the physical service mapping in the xml file so that if any change is required it will be a change in xml file itself with out a code change .
Please help me . This is little bit urgent .
Thanks in advance .
Thanks & Regards
Sarath

It seems that if you are adding more regions and physical data services you will need to modify your dataspace anyway to add the new physical data services.
Please post your ODSI/ALDSP questions on the ODSI forum - Data Service Integrator

Similar Messages

  • User Defined Transaction in Logical Data Service

    Hi
    I have few physical data services created from database store procedures. I've corresponding logical services for each of the physical data services.
    Now I've created a logical data service that calls 2 store procedures & trying to update this 2 store procs in a single transaction.
    Also I dont have a read operation in my logical data services. In this case both store proc. should take part in a single transaction & should commit or rollback as per success/failure.
    I tried testing this scenario & it fails. ALDSP was able to update first store proc. but there was an error in second store proc. so it should have rollback the entire transaction.
    Is there any way that we can have user defined transaction in logical data service?
    My Scenario:
    InsertData(RequestA,RequestB) as response
    res1 := call First Store Proc (RequestA) ;
    res2 := call Second Store Proc (RequestB);
    response := res1 + res2
    So my question was is it possible to define user transaction before making calls & have commit/rollback define around it.
    Apprecaite for your help!
    Thanks
    Pash

    I have assumed that you realize you need XA drivers for this. What is the exception you see? Something about "mixed outcome"?
    But in the case of store procedure, we cant drag & drop physical ds into logical ds. Why?Since your stored procedure updates, it should be defined in the physical ds as a "procedure" not a "function" - it sounds like it is. (procedure means it will update, function means it will not - not that it is a "stored procedure"). Because it updates it cannot be called by an xquery function because xquery is by definition read-only. It can only be called directly from the client, or from another procedure (which is XQSE, not Xquery). If you created a logical ds with a "procedure" - you could drop your procedure into that.
    created a new library procedure in which i am calling 2 physical ds assuming it will be executed in a single transaction. But it does not. Please verify.
    But it does not. Please verify.I won't verify it because it is not correct. It should be treated as though it is one transaction. And barring the bugs with JNDI/data source names and multi-data sources, I do not know how how it would not be. So either there is a misunderstanding or a new bug.
    Either way you need to open a case with customer support to resolve this. When you open your case, the more information you provide them with (i.e the smallest possible dataspace that will reproduce the problem along with DML to create the stored procedures and the tables that they use, and also any/all exceptions/stack traces and server logs).
    - Mike
    ps. there are no means to explicitly create a transaction in ODSI.

  • Using a schema from a different Logical Data Service

    Is it possible to use a schema from a different Logical Data Service in a new Logical Data Service? I want to maintain just one version of the schema.

    when I try and associate a schema type the 'Select Schema Type' dialog appears. On there the scope is set to project. Next to it is 'All projects', is there a way I can get that ungreyed?I don't think so. I assume that is a remnant from ALDSP 2.x when we had the notion of an ALDSP application that contained multiple ALDSP projects and there was visibility across projects (actually just folders) in the same application.
    can I use a schema associated with another dataspace projectNo. The contents of a dataspace are not accessible from outside the the dataspace other than what is provided by the APIs. And although the schemas could be accessed via catalogservices, this isn't a standard protocol (like http://) and therefore schema processors wont' be able to use them.
    You could host your schemas in a web-application and expose them via http. Create a Dynamic Web Project and put your schemas where the content gets served from (i.e. alongside index.html), and then they would be accessible via http://<yourserver>:<port>/yourWebApp/yourSchema.xsd. All the schemaLocation in the imports would need to be relative. It would probably be easier to create your schema-hosting application first, then build your dataservices.

  • Logical Data Service

    Hi all,
    I´m trying to create a phsysical data service that uses two physical data services (one Store procuredure and one table).
    I what two create a join clause between my strore procedure and my table, but i got this error message:
    +"cannot create relationship from/to any Data service other than entity data service.+
    +One or both of the data services chosen are not and entity Data SErvice"+
    What I need to do is:
    I have A AND B values as input to my logical data service.
    I need to use A and B value to get another value C in my physical data service( type: Relational Table).
    C will be physical data service (type Store Procedure) input data. The return of this procedure will be mapped in (XSD) file that represents my entity.
    Does anybody can help me?

    If I understand correctly, your need to satisfy conditions on parameters A and B with your table, so you can extract C as a result from the table and use it as a parameter in your stored procedure to return the result of the stored procedure.
    In XQuery this kind of join looks loosely like this:
    for $t in ns1:TABLE()
    where $t/column1 eq $A
    where $t/column2 eq $B
    return
    for $s in ns2:STOREDPROC($t/C)
    return
    &lt;myresulttype&gt;
    &lt;field1&gt;{fn:data($s/column1)}&lt;/field1&gt;
    &lt;/myresulttype&gt;
    The error message you have indicates that you are trying to create a relationship function. While it is possible to express joins through relationships, you can also do joins using the Query Map editor.
    The chapter "[Create Your First Data Services|http://download.oracle.com/docs/cd/E13162_01/odsi/docs10gr3/datasrvc/Create%20Your%20First%20Data%20Services.html#CreateYourFirstDataServices-CreatingaLogicalDataService]" describes how to create a join graphically using the Query Map. The only difference in your case is that you would map your join line (Explained in "Setting up a Join Condition" in the docs) would be mapped to the parameter of the stored procedure.
    Edited by: alexkotopoulis on Jan 16, 2009 1:56 PM
    Edited by: alexkotopoulis on Jan 16, 2009 1:57 PM

  • Newbie question about Logical Data services

    Lets say we want to create a Logical Data Service that will retrieve data from several web-services and aggregate the results. When a client requests data from the logical data service, a number of webservices will get invoked. Response time of these webservices can be different. We do not want to keep the client app waiting for long.. so is it possible to define a cut-off time in data service after which client gets results obtained till that point? Alternatively, does ALDSP provide support for clients that could poll a data-service to check for results of a previously submitted query?
    Will appreciate your help in understanding capabilities of ALDSP and approach taken by you in similar situations.

    to define a cut-off time in data service after which client gets results obtained till that point?See the fn-bea:timeout() function in the ALDSP documentation. It will do exactly what you want for web-services. Note that adding the function to a query will of course alter the query plan - which will have little/no effect for web-services - but for database access, may prevent some optimizations.
    In DSP 3.0, you will be able to use the hasNext()/next() form of the mediator api and the client will only block while the first and subsequent items are being retrieved.
    If you want to call DSP asynchronously - I believe ALSB allows you to create an asynchronous proxy service (JMS, for instance)

  • Error while executing logical data service:XP0006

    Hi,
    <br><br>
    I have one physical dataservice which is caps.ds based on oracle database. I created one method in caps.ds by name gatCap(String param). basically this method will fetch the data from the database based on input parameter. This method is working fine in physical data service.<br>. Now I created one logical dataservice named as Test.ds from this physical dataservice. I added one method getCaps(string param) method in Test.ds. Noe if i try to test this method in workshop I am getting the following error.<br><br>.System error
    weblogic.xml.query.exceptions.XQueryTypeException: ld:NewDSProj/Test.ds, line 26, column 5: {err}XP0006: "element {ld:NewDSProj/Caps}Caps { {http://www.w3.org/2001/XMLSchema}anyType }": bad value for type element {ld:NewDSProj/Test}Test { {http://www.w3.org/2001/XMLSchema}anyType }*<br><br>
    Even in Query Plan also it is showing TypeError in red color.
    <br><br>
    I am attaching the capa.ds, Test.ds and required .xsd file and server log file for your reference.
    <br>Any suggestiins please...
    <br><br>
    Regards,
    Suresh Varma.

    Hi<br>I changed the return type in Test.ds to caps.xsd. It is working fine. Thank you.<br><br>
    Now I have the following data services.<br>
    1.MRM_RESPONSE.ds--which is created from java method.This java method will read the data from xml.<br>
    2.Caps.ds--which is created for Oracle data base.<br>
    Now I created one logical data service named as Test.ds with function newFunction(String param).My intention is i want consolidated output from both physical data services based on join condition. I have the state field in both physical data services. So the output of newFunction() in Test.ds should be combination of caps and MRM_RESPONSE.<br> In Query plan for newFunction() I am not getting any error. But if I try to test I am getting the following error.<br>System error
    weblogic.xml.query.exceptions.XQueryTypeException: {bea-err}TYPE003 [{bea-err}TYPE003a]: Runtime Type Mismatch: got an xdt:untypedAtomic value<br>.
    I am attaching latest code and server log file for your reference. In the attached zip file NewSchemas is the schemain schemas project.JavaClient contains java method.
    <br>
    Thanks& Regards,
    Suresh Varma.

  • Problems with logical data service

    This is related to thread 837141 (Problems creating physical data service to relational table)
    I have been able to create the logical data service that uses the physical service (mentioned above).
    However when I try to create a library function to update (shown below)
    declare function lper:update($new as element(per:Persistance2)) as xs:boolean {*
    * let $changed :=*
    * for $n in $new*
    * let $old := lper:read($new/Project, $ew/Property)*
    * return*
    * fn-bea:replace-value(fn-bea:changed-element($old), "Value", $n/Value)*
    _let $return := {color:#ff0000}pper:update{color}($changed)_*
    * return fn:true()*
    WorkSpace Studio gives the following error (for the line underlined above, and the function in red)
    *{bea-err}FUNC002: Illegal use of side-effect procedure {ld:Physical/Persistance2}update with arity 1. Side-effect procedures cannot be invoked from a side-effect free context*
    Any idea why?

    functions, by definition, do not have side-effects. So calling something that had a side-effect (procedure) is not allowed.
    You need to create a library procedure.
    Your
    declare function lper:update($new as element(per:Persistance2)) as xs:boolean {*
    needs to be
    declare procedure lper:update($new as element(per:Persistance2)) as xs:boolean {*
    - mike
    Edited by: mikereiche on Dec 12, 2008 5:10 PM

  • Error when calling create and update functions on logical data service

    Hi There,
    I receive the following error when trying to call the createCustomerDetailResponse method from our dataservice. Note that the operation referenced in the error is createCustomerDetail rather than the actual method name 'createCustomerDetailResponse'. I've attached a stack trace as well as a copy of our .ds & code. Thanks, any help would be greatly appreciated!
    mlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">javax.xml.rpc.JAXRPCException: Can not
    locate the operation: {ld:CustomerMaster/Logical/CustomerDetail_ws}createCustomerDetail
         at com.bea.dsp.ws.WssInboundHandler.operationLookup(WssInboundHandler.java:252)

    I think there is a definitely a problem with my ALDSP webservice. I deleted and regenerated my .ws file, and when I test the createCustomerDetailResponse webservice operation directly through the ALDSP IDE I get the same error.
    createCustomerDetailResponse Request Summary
    Arguments: [complex type]
    Fault: Failed to process inbound requestFailed to retrieve operation from SOAP bodyCan not locate the operation: {ld:CustomerMaster/Logical/CustomerDetail_ws}createCustomerDetail
    Submitted: Wed Mar 05 16:37:53 EST 2008
    Duration: 9 ms

  • Schema Mapping in Data Service Integrator

    Hi,
    I'm just examining some schema mapping programs like BizTalk, Altova and IBM Rational Data Architect, and now found Oracle Data Service Integrator which might be a similiar tool. Actually I found out about Data Service Integrator via BeQ AquaLogic, which probably had been some schema mapping tool before Oracle acquired it and now offers it as Data Service Integrator.
    My question is, whether Oracle Data Service Integrator is really applicable for schema mapping/matching, such as creating mappings between xml, csv/flat files or database schemas. I already downloaded it and tried it out, but had troubles creating a map. According to a tutorial you create a physical data service if you wanna do something like mapping, but after I did this there was only a "map" with a source schema. There was no way to add a target schema and map it with the source schema.
    So can I create mappings in Data Service Integrator or are there other products which would be more convenient (Oracle Warehourse Builder for instance)? If so, does anyone know whether there is a good tutorial how to map simple schemas such as xml files in Oracle Data Service Integrator?
    Thank you in advance.

    After you create your physical data services, create a logical data service using your target schema as the 'return type'. Then add functions and use the xquery mapper to map your physical data services (csv, database, xml, web service etc) to your target schema. You can also use logical data services as the input to a logical data service.

  • WSDL generated by web service map

    Hi,
    I am totally new to ODSI. I noticed that the WSDL generated by the Web Service Map for a Data Service always contains two schemas in the types section, with an import directive in the first schema which refers to the second. The structure of the types section is something like this:
    <types>
    <xs:schema>
    <xs:import namespace="N1">
    </xs:schema>
    <xs:schema targetNameSpace="N1">...</xs:schema>
    </types>
    The question is : is it possible to have a single schema instead of two in a logical data service? In other words, to what extent can the WSDL be customized?
    I apologize in advance if the question is dumb, but as I have said, I am totally new to this product.
    Thank you very much for your help
    Alberto

    The request and response elements will always be generated in the form below. It cannot be customized.
    <xs:schema targetNamespace="ld:hello_ws" elementFormDefault="qualified" xmlns:stns="ld:hello_ws" ... >
    <s:element name="HelloWorld">
    <s:element name="HelloWorldResponse">
    </>
    Unless the targetnamespace for your logical data service matches, there will always need to be a second schema element.
    Your logical dataservice can have whatever schema you want.

  • Applying Policy to a Webservice in Data services Project

    I have a webservice map created on the ALDSP against a data service which has the a WSDL file that I can access and test. I want to apply Policies against this Service. Where can I do this? The documentation explains applying the security on a JWS file,but this one is not a jws file (it is a mapped .ws file)
    AD

    Please re-post in the ODSI/ALDSP forum
    Data Service Integrator

  • Result set not visible in Test View for Physical data service

    I have configured a MS SQL server stored procedure as a data service. It returns a resultset. I am calling this data service (physical) from a logical data service. I am able to see the returned result set in the test view (workshop) of the logical data service but not in the test view of the physical data service? Is this a problem within the workshop?
    Any help is appreciated.

    Never heard of this before. Can you turn on Auditing of XQuery parameters and results and then show me the audit information so I can see you are calling both the logical and the physical data service with the same arguments?
    It would also help to see both the logical and physical ds and their schemas. Just zip and post the whole dsp project if possible.

  • How to update Data Services (ALDSP 2.5) from WebLogic Server 9.2 correctly?

    Hi,
    I need to update some physical data service in ALDSP 2.5 on WLS 8.1 SP6 (8.1.6) via Static Mediator API from WebLogic Server 9.2 MP2 (9.2.2) application. I have reviewed the article about interoperability of ALDSP 2.5 and WLS 9 here:
    http://edocs.bea.com/aldsp/docs25/appdev/ejbclt.html#wp1090900
    Firstly, I had a problems with the interconnection between 9.2 client and ALDSP 2.5 due to some missed methods/classes. Finally, I've added the following libs to my WLS 9.2.2 pre-classpath in such an order:
    MyDSPProject-ld-client.jar (built with Ant script using XmlBeans 2.0)
    wlsdo.jar (from ALDSP 2.5)
    xbean.jar
    xqrl.jar
    wlxbean.jar
    ld-client.jar (from ALDSP 2.5)
    I do the update in the way shown in attached java file.
    After submit method call, I've got two copies of a new item added in the DB and also an exception that is shown in attached log-file.
    What is the possible cause of this issue?
    I use MySQL DBMS version 5.0.45.
    I've also tried MS SQL 2005 but it simply had the same results.
    DSP audit log is also attached.
    Thank you in advance!
    Best Regards,
    Vitalii Tiutiunnyk

    The problem is that your client is WLS server, and WLS server has network class loading disable (for security), and the result from the call requires a class that is not on the client. The call succeeds, but the the network class load for the result fails, and the WLS 9.2 framework (incorrectly) retries the call (and you get either a duplicate key exception or a second row inserted). Putting the server jar in the client classpath solves the problem.
    If you wanted more information or help, you can contact BEA Customer Support and tell them it is regarding the CR I mentioned.

  • Mapping Objects in Flex Data Services

    Hi My Dear Friends
    This is yogans, i am working in flex for the last 15 days
    and i learned the basic things like syntax, tags, scripts. and i am
    doing
    some data services work now. especially with the help of
    Java Remote objects. I dont know http services and
    webservices(WSDL).
    My doubt here is, I created a user defined object in java
    and i want to send this object through Remote call from flex. how
    can i
    type cast the java object to flex. And i want to add these
    objects to the dataprovider of a datagrid. Please help me in
    acheiving
    this. i will be very thank ful to you in my life. I know
    that i have to create same kind of object in flex. But i dont have
    concrete idea
    please explain me with very simple example step by step . I
    am awaiting in hope that God will send some one to help me.
    Thanks and Regards
    Yogans.s

    Hi,
    If you want to map your actionscript class to your server's
    Java class. You can run a util function
    registerClassAlias("dev.echoservice.Book",Book);
    where "dev.echoservice.Book" is the fully qualify name of
    your java class. Book is your actionscript class.
    Calling this util before you make your remoteobject call. You
    can put this in your actionscript class constructor, it makes this
    call whenever you create your class. However, it seems to be better
    to call it when the class is loaded. To do so you can declare it as
    static
    public static var a:* =
    registerClassAlias("dev.echoservice.Book",Book);
    OR
    You can also declare it as metaData in your class as:
    [RemoteClass(alias="dev.echoservice.Book")]
    However, I found someone saying that it didn't work in sdk
    compilation, but webtier compilation. It might be some
    configuration issue. I haven't tried it yet.
    To display the properties in the dataGrid, you just have to
    either use Array or ArrayCollection. If databinding is involved,
    the datagrid need to know the Collection.Change event. It is better
    to use ArrayCollection, therefore, adding new item to
    arrayCollection the datagrid get repopulate.
    hope it helps!
    William Chan

  • Data Services communication with SAP - physical/logical server name

    Iu2019m having trouble connecting Data Services to SAP.
    Environment details:
    Data Services version 12.2.1.2 on Windows 2008 SP2
    ERP and SRM on Windows 2008 (database SQL Server 2008 SP1)
    Repository on SQL Server 2008 SP1
    All servers (SAP and Data Servers) have had logical systems defined over the physical system names and they use these logical names to communicate with each other.  The Data Services server, hence has two names (logical and physical) and two corresponding IP addresses. 
    The problem weu2019re having is that when the SAP server communicates back to the Job Server it needs to use the logical server name and corresponding IP address.  Currently it is using the physical server name and IP address, causing communication failures. 
    When I run the host_name() function within Data Services it returns the physical host name.
    Is there a way to determine how Data Services identifies itself and whether this can be manipulated?  Is it possible to configure Data Services to run in a logical environment?
    Any thoughts or commends would be appreciated. Thanks

    Looked at this from another angle.  We were using Direct Download transport method which processes in the foreground and uses the SAPGUI for communication.  It seems as though it was how SAPGUI communicates with the SAP server on Data Services behalf that was causing the problem.
    We managed to motivate to get a share setup between the SAP server and the Data Services box which allows us to use Shared Directory transport method.  This also allows for background processing - eliminating the part of the SAPGUI communication that was causing the problem.

Maybe you are looking for

  • Shockwave Plug-in unresponsive or just crashes? Help (I have tried almost everything that I know of)

    Hi, I am sure you have heard this a million times but I'm going to ask because I have run out of options and have never asked it here.  I like to play Facebook games on my computer which is a 32 bit windows 7 version operating system. Anyway it crash

  • Time machine restores a really old backup!

    Time machine makes regular backups of my system. Last night, I had to restore my system and used the installation discs to do this (and selected restore from Time machine, and selected the latest backup). When the installation was complete, a number

  • Build in OWB and make map in AWM?

    Hi all, Would it be possible to design and deploy the dimensional objects (dims/cubes) using OWB and make a mapping to populate them using AWM? These are all MOLAP objects. The advantage of designing in OWB is the editor and e.g. the ability to add c

  • Trying to edit a picture always ruins it

    I'm having a problem with iPhoto, that's been going on for a while. It originally started happening with iPhoto 6. I recently upgraded to iPhoto '09, but am still having the same problem. Every time I try to edit a picture in iPhoto, it gets totally

  • Help on using busses as subgroups

    Hi forum, If I'm routing several track outputs to a bus - that is, using the bus as a subgroup - then how to I apply reverb to the mix? Conceivably I could use a second bus for reverb, but there's no send option on busses. I'd like to avoid having to