_Choosing operation in Business Service on run  time

Hi,
I have a WSDL having multiple operations. The same wsdl is usd to create business and proxy service.
In proxy service I am using operational branching.So for each operation , I need to call business service with respective operation.
Is there any way to choose the operation in business service on run time using single route node.Is it possible through Dynamic Routing?
I have used dyanmic routing to choose different business service at run time.
Please let me know if some other information is required.
Thanks in advance,
Seemant

The following code can be used inside the expresion for Dynamic routing to achieve the same-
<ctx:route>
<ctx:service>{$path}</ctx:service>
<ctx:service>{$operation}</ctx:service>
</ctx:route>
The vairable operation keeps the name of the operation invoked.

Similar Messages

  • Edit Business Rules a Run Time

    Hi Friends,
    We can edit business rules at run time using SOA Composer if they belong to a SOA composite.
    Is it possible to edit business rules in non-SOA application at run time using SOA Composer or otherwise?
    Thanks,
    Sachin.

    Hi Ashish,
    Yes. I am referring to non-soa applications using Business Rules similar to grades application in below link:
         Creating a Rule-enabled Non-SOA Java EE Application
    When I deploy above application, I do not see the business rules dictionary available for editing in 'SOA Composer'. Does this mean that SOA composer can only show dictionaries belonging to SOA composite?
    And cannot show dictionaries in Non-SOA apps similar to one in above link?
    Thanks,
    Sachin.

  • OSB: Invoking multiple endpoint URIs or business service at same time

    Hi All,
    I want to route the request to two end point URIs or business services using OSB.
    Say for example, I have a BPEL which is deployed in two servers. Using this solution I have to invoke the deployed service in both servers as soon as I receive input.
    Please help.
    Thanks in Advance

    yes you can.
    1. place URIs in a xml. Save XML as a xquery resource say URICollection.xquery.
    2. assign this URICollection.xquery to a variable say URICollectionVariable.
    3. extract desired URIs using a xquery from URICollectionVariable. Two URIs can be stored inside one parent element, which can be output as result.
    4. replace business service URI with desired URI (from result) using "Routing options".
    To propagate request to two different locations, you need to use "for each" action. Run the "for loop" exactly two times, write logic for above item no.4- inside the for loop action.

  • Business Content Activation - run time error

    Hi guys,
    We were at plugin 2002.1. We installed PI 2002.2 and PI 2003.1 on top of it.
    After the plug-in upgrade, we are at support pack 9 for SAP-BW and 13 for BI-Content. For aba and basis, we are at 620 and support pack 32.
    As part of the regression testing after the 2003.1 plugin upgrade, we found out that the business content activation abends with the following run time error.
    Runtime Errors         SAPSQL_ARRAY_INSERT_DUPREC
    Exception              CX_SY_OPEN_SQL_DB
    Looks like it is trying to insert into table RSOLTPSOURCEFIET and the row already is existing. I thought the activation process is supposed to update something if it is already out there.
    If we just select the 'only necessary', the activation goes through ok, but if we select 'before and after in the data flow', we get this abend.
    Any clues???
    Best regards,
    makaleem

    Hi Seow,
    This is how I resolved it. I looked at the ST22 closely and one of the messages indicated that the number range is missing in tran SNRO for an infoObject. I created an entry for that infoobject using SNRO and tried activation and it worked.
    When we created an OSS for SAP to look into it, they recommended the following two things. I tried these two but it did not work. I am mentioning them below just in case they may help you.
    1) Sometimes there is inconsistency in the content cache when trying to activate objects and we have to delete the repository cache. To delete the repository cache, go to RSA1 ---> Business Content -
    > Extras ---> Delete Rep Cache
    2) Execute SAP_DROP_TMPTABLES program for types 1,2,3 and 6.
    If this helps, don't forget to assign points.
    Abdul

  • Accessing web service in run-time

    Hello,
    In the project I am currently working we have a component (Device Monitor) that needs to access other web services which contain the same interface (MonitorRemote). The webservices wit the MonitorRemote interface register in run-time giving their end-point, wsdl url and any other information that we may need.
    My problem is to access these webservices in run-time. I have tried many approaches and nothing seems to work.
    Currently I am creating 2 webservices with the same MonitorRemote remote interface but different name, service name and portName.
    I try to execute the following:
    1)String serviceName = method.getMethodName();
    2)String portName= method.getPortName();
    3)URL wsdlURL = new URL(method.getURL());
    4)String namespaceURI = method.getNamespaceURI();
    5)QName serviceQName = new QName(namespaceURI, serviceName);               
    6)QName portQName = new QName(namespaceURI, portName);
    7)TimeoutMonitorService mtService = new TimeoutMonitorService(wsdlURL, serviceQName);
    8)MonitorRemote monitoringRemote = mtService.getPort(portQName, MonitorRemote.class);
    9)monitoringRemote.stopMonitoringFeature(0, 0);
    Before the execution I test my TimeoutMonitorService with the webservice navigator and it works fine. After I execute line 9) the TimeoutMonitorService crashes giving the following message:
    System exception 
    [EXCEPTION]
    javax.ejb.EJBException: Exception raised from invocation of public void com.sap.sii.devicemonitor.DeviceMonitorBean.stopMonitoringFeature(com.sap.sii.devicemonitor.entities.ResourceMonitoringSettings) throws com.sap.sii.dataStructures.exceptions.IncorrectParameterException method on bean instance com.sap.sii.devicemonitor.DeviceMonitorBean@92f4d2 for bean sap.com/SII_device_monitor_EARannotation|SII_device_monitor_ejb.jarannotation|DeviceMonitorBean; nested exception is: javax.xml.ws.soap.SOAPFaultException: com.sap.engine.services.webservices.espbase.server.additions.exceptions.ProcessException
    javax.xml.ws.soap.SOAPFaultException: com.sap.engine.services.webservices.espbase.server.additions.exceptions.ProcessException
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.JAXWSUtil.processFault(JAXWSUtil.java:341)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call_SOAP(SOAPTransportBinding.java:984)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.callWOLogging(SOAPTransportBinding.java:700)
    Afer the first time I receive this error I start getting many warining messages in the log files with the following message:
    Exception occurred during open of configuration [apps/sap.com/SII_device_monitor_EAR/TimeoutMonitoringTaskService].
    [EXCEPTION]
    com.sap.engine.frame.core.configuration.ConfigurationLockedException: Can not lock Configuration "apps/sap.com/SII_device_monitor_EAR/TimeoutMonitoringTaskService" because it is already locked.
    at com.sap.engine.core.configuration.impl.ServerEnvironment.lockConfiguration(ServerEnvironment.java:664)
    at com.sap.engine.core.configuration.impl.cache.ConfigurationCache.openConfiguration(ConfigurationCache.java:879)
    I tried to remove and re-deploy but the webservice only returns this error message once I execute my code. The only work around is to create a new project with different interface names.
    I am using:
    SAP NetWeaver Developer Studio
    SAP NetWeaver 7.1 SP05 PAT0000
    Build id: 200802021401
    Any help would be really appreciated.

    need bit more info. from where you are trying to access this webservice? what is the wsdl you are using

  • Business Rule and Run Time Prompts - 11.1.2.2

    Hi,
    New to Hyperion and getting weird results or my rule is bad.  In my webform I have the rule attached and the boxes 'Run on Save' and 'Use Member from Form' checked.  I want to see the RTP window so I left that unchecked.  When I run this, I'm getting a value of '77' in Jan and Feb for Scenario= '2+10' and Year= 'FY13'.  How is that possible?
    On the popup window, I specifically selected ''2+10' and 'FY13'.  Those are on the Page and not the POV, if that makes a difference.
    Fix ( "Working" , "No_Entity" , "PRJ-10021-SERV" , "IMR" , "No_Location",
          "EC-15000","EC-15010","EC-15009","EC-15004","EC-15706","EC-15709","EC-15721","EC-16899" )
    Fix ("Jan":"Dec")
    "A-41000" (
    If ( {RTP_Scenario}== "Budget" AND {RTP_Year} == &CurrBudYr )
    "A-41000" = 77;
    Endif
    Endfix
    Endfix

    Hi
    Your if statement is not checking if the member is budget it is checking if the RTP_Scenario value is the same as the Budget scenario, so you might want to try something like:
    Fix ( {RTP_Scenario},{RTP_Year} ,"Working" , "No_Entity" , "PRJ-10021-SERV" , "IMR" , "No_Location",
          "EC-15000","EC-15010","EC-15009","EC-15004","EC-15706","EC-15709","EC-15721","EC-16899" )
    Fix ("Jan":"Dec")    
    "A-41000" (
    If ( @ISMBR("Budget") AND @ISMBR(&CurrBudYr) )    
    "A-41000" = 77;  
    Endif
    Endfix
    Endfix
    Cheers

  • Members on rows, can they be passed to run-time prompt in a business rule?

    Hi!
    I have a input form which has a business rule with properties "Run on Save" and "Use members on Form".
    The business rule has run-time prompts (local variables) as follows (showing only the fix part of br...)
    FIX ([V_Year],[V_Version],[V_Scenario],@LEVMBRS ("Offering", 0),[V_Entity],
    [V_ICP], [V_Account])
    calculation...
    endfix
    Now my accounts are on rows and I would like pass those account members to the [V_Account] variable through run time prompt. The [V_Account] ís a local variable with Type "Members" in Account dimension. I have also selected 0-level accounts as limits. Other dimension members from page/pov seem be passed successfully to run-time-prompts.
    The run-time-prompt does not seem to be able to catch those account members on rows? Is it at all possible to pass members on dataform rows to run time prompts?
    kind regards,
    user637777

    Hi!
    Thanks John!
    I just have live with that and find another way to restrict the calculation regarding those accounts.
    kind regards,
    user637777

  • How to run business services as dynamically generated Subject?

    Hi experts,
    I have configured a business service which puts a message on a JMS queue in a weblogic container other than ALSB's weblogic container.The queue is configured with a security policy [say a 'MessagePublisher' role], so that only users with role of 'MessagePublisher' can send message to that queue.
    We have different partners SFTPing messages(xml/csv/excel format) to us, of which only few of them would have a role of 'Message Publisher'. I have configured a proxy to read these files from a directory, however sender of some of these messages may not have a role of 'Message Publisher'.
    I am expecting the senders' credentials to be appended to the message by some process on SFTP server. How can I generate a 'Subject' within a proxy using these credentials and do a run as on the business service, so that only users with the role of 'MessagePublisher' succeed in sending message to the queue.
    I probably can configure my business service to run as a user account who has the relevant role, but I do not want to hard code the UserAccount within business service and obtain a user account using sender's credentials.
    Is ALSB not supposed to be used as suggested above?Would highly appreciate any thoughts on this..
    Regards.

    The JMS business service can use only a static service account. I think this has an undesirable implication that the business service cannot be invoked as a dynamically generated subject.
    Only way I know of to enforce role based access control in this scenario is to have an extra proxy service in front of JMS business service. Enforce access control over this extra proxy service.
    To invoke this extra proxy service with credentials embedded embedded in the message, I think you need to look at "custom authentication" option under message level security. I am not sure how this would work. May be someone here can explain that.

  • OSB best practices to run business service on two different environments

    Hi.
    I am using Service Bus 11gR1
    Oracle Service Bus Version: [Oracle Service Bus L10N Dependencies 11.1 Fri Dec 4 17:43:22 EST 2009 ]
    Oracle Weblogic Server Version: [WebLogic Server 10.3.5.0 Fri Apr 1 20:20:06 PDT 2011 1398638 ]
    I deploy my OSB services on two different environments (development, production).
    How to setup business service to run on two different environments without changing source (business service transport Endpoint URI)?
    Thanks in advance.

    I am not sure of any tutorial.
    For your case if you just have one URI and you want to change the URI for the business service you can simply use the OSB Customization file.This is straight forward.
    If you have complex routing logic based on inputs fields ,you can follow the below steps,
    Create a simple table with Business Service Name,Env and URI as columns.
    Create a select DBAdapter to return the URI
    Create a business svc out the DBAdapter files
    Use the business service to fetch the URI and finally
    Use the URI override( ref - http://www.oracle.com/technetwork/middleware/service-bus/learnmore/index.html)
    Edited by: Prabu on Feb 21, 2012 8:10 PM

  • Dynamic routing for a Business Service with multiple operations

    I have two business services with multiple operations. Business service A (bsA) has operations OpA1 and OpA2. Business service B (bsB) has operations OpB1 and OpB2.
    Depending on incoming Proxy message and operation, I have to do one of the following
    1. If someValue = A and operation= Op1 then invoke operation opA1 of bsA
    2. If someValue = B and operation= Op1 then invoke operation opB1 of bsB
    3. If someValue = C and operation= Op1 then invoke operation opA1 of bsA AND* operation opB1 of bsB and return aggregate data of both invocations
    1. If someValue = A and operation= Op2 then invoke operation opA2 of bsA
    2. If someValue = B and operation= Op2 then invoke operation opB2 of bsB
    3. If someValue = C and operation= Op2 then invoke operation opA2 of bsA AND* operation opB2 of bsB and return aggregate data of both invocations
    Using a dynamic route node or dynamic routing options, I am able to achieve cases 1, 2, 4, and 5.
    But for cases 3 & 6, I can not use a route node. When I use a Service call out instead, then I am forced to create a Operational branch but that does not seem like the best design since for every new operation added to the business services, I have to add a new branch to the Operational branch and redo all the functionality for that branch.
    Basically, I am looking to achieve the functionality of the Route node ( no need to specify the operation ).
    Any thoughts/ideas on what the best design would be?
    thanks

    For cases 3 & 6, why don't you route to another proxy service where you can simple do two service callouts, merge output data somehow and return them to the first proxy?
    If you look for "special route feature", that could possibly call two services for a single message, I'm afraid you won't succeed.

  • Smartview webf run time prompts upon submit are not picking up from the POV

    Hi ,
    I am in Planning 11.1.2.1 and using Smartview 11.1.2.1.103. After connecting to Planning Webform from Smartview, i am saving a composite form which should launch a Business Rule with run time prompts attached to the webform upon submit. The business rules are running with default run time prompts and it is not picking up the members from the POV ... is there a way to make it pick up the members from POV into the run time prompts upon saving it ? so far the workaround is to initiate the business rule from the planning tab in smartview .. any thoughts on this ? cheers

    I found a known issue for smart view in 11.1.2.1 read me doc
    11075506
    When you open a data form in Smart View, if a business rule is directly attached to a composite data form that is set to Use Members on Data Form and Hide Prompt, the runtime prompt values are not picked up. Instead, the Runtime Prompt dialog box is displayed, and the user is prompted to enter a value.
    Good Luck

  • Run Time Prompt - showing alias instead of member name

    We have a Capex Planning application that uses right-click menus to launch business rules with Run Time Prompts. We are using Planning 11.1.2.1. Even we the alias table set, when opening the RTP it pulls in the member name rather than alias.
    There is an Oracle KB article (Show the Alias name in the Business Rule Run-Time Prompt [ID 857832.1]) that has this solution:
    Take the following steps to add the alias name to the run-time prompt along with the member name.
    1. Log in to planning web.
    2. Navigated to File >> Preferences >> Application settings.
    3. Select Show Alias in Member Selection and change the option from no to yes.
    4. Save it.
    But in 11.1.2.1, there is not option for "Show Alias in Member Selection" under Planning Preferences.
    We have an SR open, but figured maybe someone else has run into this issue as well.
    Does anyone know how to get the aliases to show on a Run Time Prompt rule in 11.1.2.1?
    Thanks for your help!!

    Deleting and rebuilding the dimension in the outline will enable you to build the members in the order you may desire if the file is in a given order.

  • Combine output of two business services

    Hi,
    I need a solution for the following problem.
    I have two dataservices(DS1 and DS2) whose return type is C.
    Now I want to combine these data services output at service bus level.
    The return type for final output should also be C, basically a kind of union transformation.
    For dataservice (DS1 and DS2), I have craeted two buisness services (BS1 and BS2)
    I wnat to do the union at proxy service.
    But I donot know how to call two business services at same time and how to combine their output.
    Should I use service callout???
    Please help me, I am pretty new to service bus

    You can use Service callout to invoke DS1 and DS2 and assign the responses to different variables. After the two callouts are made define an xquery transformation that takes these two variables as input and returns desired output. In ALSB pipeline use output of this transformation to replace body.

  • ALSB Business Service Call through corporate proxy

    I would like to define an ALSB Business Service to make a http web service call to a business partner over the public internet. No problem normally we would just specify the appropriate URI in the Business Service.
    This time, however, we need to go through a corporate proxy in the DMZ. How do I direct the Business Service to use the proxy? Can I use -Dhttp.proxyHost in the weblogic setDomainEnv.sh?

    In the advances settings of your businiess service, you can define a proxy-server.
    Or you can set the proxy server at JVM level
    PROXY_HOST
    PROXY_PORT
    NON_PROXY_HOST
    Marc
    http://orasoa.blogspot.com

  • RUN TIME error - Error code: system level exception -17502

    1. During running of my sequence in a TestStand Operator Interface   i got following run-time error:
        Details: Error executing substep 'Post'.Parameter 'Input cluster 6 [OUT]': System Level Exception.
        Location: Step 'sequence 'SequenceFilePostStep' in 'Sequence X.seq'
        In my SequenceFilePostStep i transfer some information between the LabVIEW 8.0 and TestStand 3.5.
        In my xxx.vi I have 6 clusters and every cluster from 14 to 20 variables.
       The  cluster #6 has 70 variables.
       Perhaps, the error that i got is from cluster #6 due to 70 variables? is it to much for cluster?
    2. What can i check? How i can fix it?
    Please ask questions if you do not understand something, i am want to resolve it!
       Thank you to all!
    Message Edited by Yuri_IL on 07-30-2006 10:54 AM
    Thank you & Best Regards
    *I use LabVIEW 8.X & TestStand 3.5/4.0.1 versions only

    Thank you Sam R,
    I think that error caused due the overflowing of some string that i have in my cluster.
    Because i also get I/O open file error and the name of that file i hold at my cluster.
    Do you think that the incorrect string can caused to that system level exception error?
    p.s. screenshot is attached
    Thank you & Best Regards
    *I use LabVIEW 8.X & TestStand 3.5/4.0.1 versions only
    Attachments:
    io_error.JPG ‏11 KB

Maybe you are looking for