Configuring a Proxy Routing to 2 Independent Business Services with Xquery

Hi,
I want to create one Proxy service which has to be able to determine based on contents/elements of an XML/SOAP message which Business Service to invoke.
When I create a Proxy based on either of the WSDL's I can configure the routing in the message flow by creating a routing table in a routing node, and use the appropriate variable, from the variable structure body, to test as an expression ($body/ser:retrieveDetail/param0/customerNo).
But I want to create a proxy service that isnt based on one WSDL, because the business services are each based on different WSDL's. So I tried to create " Any SOAP and Any XML" service, but then in the expression editor of the routing table i cant use the variable structure. I also tried adding the WSDLs as structure but that doesnt work either. Neither does using regular Xpath expressions to select the data to test.
Im using the following envelope and I use the customerNo to test which service needs to be invoked. But i cant seem to select that data and test it. Does anyone has an idea of how i can achieve this?
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<retrieveDetails xmlns="http://localhost/">
<param0 xmlns="">
<customerNo>123456789</customerNo>
</param0>
</retrieveDetails>
</soapenv:Body>
</soapenv:Envelope>

Could you try this?
$body/*:retrieveDetails/*:param0/*:customerNo/text()

Similar Messages

  • Routing data to multiple business services in ALSB

    Hi,
    I have a jms based proxy which receives xml type message.This proxy subscribes to a topic and based on jms header,control is transferred to appropriate branch in conditional branch.
    One of the branches receive this message and contents are given to 2 different xquery transformations.Output of these transformations are required to be given to 2 different wsdl based business service.
    The entire configuration is inside a pipeline pair.Since its not possible to have 2 route nodes,I have configured a stage and used 2 publish actions.Inside each of these publish actions,I have configured replace action.
    This configuration doesn't seem to invoke either of the service. I am not able to use Routing Table as both services have to be invoked everytime and there is no condition to specify.
    How do I invoke 2 different business services with data passed to these 2 services being different?
    Arti

    Use two servcie callouts-- with different pay load elements
    Even publish will work, but we have to populate $body with relevant data for each BS before invoking publish
    Manoj

  • 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.

  • Sending Idocs to R/3 Error when Business Service with a party is configured

    Hi All,
    I'm facing some issue when posting idocs (FINSTA) back to R/3 when Business Service with a party is configured in my Integration Directory. However, I do not have this problem, if the
    Business System without Party is configured. It seems that 'adapter specific' setting doesn't
    seem to work when you have a party.
    I have read the same problem faced by other SDN members as well, some suggested to have the latest patch to solve the problem. FYI, I'm using latest patch SP 15, but the problem still exist. The error that I have in the sxmb_moni is "Unable to convert sender XI party http://sap.com/xi/XI / XIParty / GABXI100 to an IDoc partner".
    Please assist. Thanks.

    Hi Arun,
    Thanks for reply.
    What do you mean by XI Party must map to a party in the R3 in the partner profile?
    For example, If my Party Name in Integration Directory is ABC01, I should create a partner profile of ABC01 in my R3? How if I have business service under the Party ABC001, what should I configure in my R3?
    Currently My Partner Profile in R3 is type 'B' - Bank.
    Thanks for helps.

  • How to call business service from xquery transformation in OSB ??

    Hi All,
    How to call business service from xquery transformation in OSB ??
    I need to assign the response variable of Business Service to a target element in XQuery Transformation Mapper file.
    It's urgent.
    Regards,
    Jyoti Nayak

    Transformation is to mapping the source and target of 2 different schemas.
    In your case you should have a XQuery transformation between, your Business Service output schema and the target schema.
    Thanks,
    Vijay

  • Developing Business Services with ADF BC

    Hello all,
    I was following the tutorial at http://www.oracle.com/technology/obe/obe1013jdev/10131/bslayer/bslayer.htm#t2s5, which is Developing Business Services with ADF Business Components
    AND i was wondering if i could add a custom validation that would: prevent the user from entering a Gender IF the credit limit is greater than 400? Is this possible? If so, could some point me in the right direction
    Cheers

    Hi,
    you have two options:
    1. add the validation on the ADF BC model using a method validator. This would compare the two attributes and throw an exception if the business rule is violated
    2. Use a ValueChange Listener on the credit limit field (in association with a autosubmit=true setting on the field) to enable the gender field through a Partial Page Refresh. To programmatically refresh a field using PPR, you create a binding of the component to refresh o a managed bean using its binding property. Then you call
    AdfFacesContext.getCurrentInstance().addPartialTarget(<component reference here>)
    Frank

  • 10.1.3.1 : Developing Business Services with ADF BC tuto issues

    Hi,
    I was doing a learning session at my office based on the 'Developing Business Services with ADF Business Components' tutorial : http://www.oracle.com/technology/obe/obe1013jdev/10131/bslayer/bslayer.htm. The topic Creating ADF Business Components > 9 shows how to create EOs, VOs, AM and the corresponding UML diagram.
    When using JDev 10.1.3.1 :
    * the diagram is not generated as expected,
    * the java domains are not created from DB domains.
    Under JDev 10.1.3.2 :
    * the java domains are created from DB domains,
    * the diagram has been generated on 1 out of 3 computers.
    Any clues on what's going on or any known bugs ?
    Thanks,
    Seb.

    Hi,
    Today in 10.1.3.1 the diagram generation just works. It seems the keepResident extension was causing troubles as the exception stack trace mentioned its name... I just removed it.
    But still, the domains are not generated as expected. I've made several tests even in a fresh installation of JDeveloper 10.1.3.1.
    Seb.

  • How can I Route to two proxies or business services with out split join

    Hi,
    How are you?
    I´m trying to use a proxy to invoke 2 other proxiers or more at the same time but when trying to build a Split Join is giving an Error about the Security that is in the WSDL which is WSSecurity, so far I think that SPlit Join can´t handle this and is a must right now so I´m trying to figure out how to Route a Message to two proxies or business services doesn´t matter if it is in a secuencial way.
    Hope somebody knows what to do.
    Kind Regards,
    Gerardo J

    Hi!
    Thanx for the response, That´s the way I´m implementing it at this moment and is working fine.
    Thanx in Advanced!
    Kind Regards,
    Gerardo J

  • OSB:Publish to business service with for each in osb proxy message flow

    Hi,
    I have an external application that will make a call to my web-service and post a message to my queue "A" and i need to model my osb component such that it picks the message from that queue " A"and posts it to another queue "B". All this is done without any BPEL involved.
    for publishing the message i have created a business service that publishes a msg to the queue A and my proxy service is modelled such that it subscribes to this same queue A and publishes the msg to another business service (that posts it to a queue B).
    Everything is working fine but i have an issue in modelling my proxy message flow. If an external application sends a bulk msg i need to post the message one by one to my queue B. I have used for-each and Publish to BS but the msg doesn't get posted one by one. i know i am missing something please help me out.
    SOA Suite Version - 11.1.1.3

    Are you sure that your for-each definition is correct? Does the flow within the for-each get executed multiple times?
    You can check this by logging the variable to which you assign the message in the for-each. Don't forget to put the log level to Error, so you're sure that it's logged.
    Let's say you get a list of persons like the following xml in a variable personList
    <Persons>
    <Person>Glenn</Person>
    <Person>Prasanth</Person>
    </Persons>
    Your for-each definition should be the following.
    For each variable: person
    XPath: +./Person+
    In Variable: personList
    You don't mention the Persons element in the XPath expression since it is the root element of the XML. The root element is represented by . (dot).
    In the for-each, the variable person can be used like any other variable.

  • Can a Business service with party be conveted to a IDOC LSpartner profile?

    Hey ,
    I have a B2b scenario like this -> Http(external sender) -> XI - > Idoc in my SAP.
    I have configured the external sender as service with party. I have configured that sender as a Logical system in my R3 system.
    I am not able to make the the service with party map to the LS I have defined. I am able to the same with service without party (adapter specific attributes). This make me wonder if service with party can be mapped to a LS?
    I have gone through most of the post in SDN but none answer this specific question.
    regards,
    Arvind R

    thank you for the response -
    I tried the approch u suggested and it works. But it messes up the Hop list for the IDOC Ack - ALEAUD sent back...
    I dont think there is some way to change the Sender/receiver info for the std ALEAUD messages is there? I would like to avoid making the ALEAUD as independent messages and then route them...
    Regards
    Arvind R

  • OSB 11g - List business services with WLST

    Hi,
    We're using OSB 11.1.1.3 and 11.1.1.6 in several environments.
    We just need to use wlst scripting to keep track of all business services and their endpoint uri's automatically.
    We tried using some old scripts but found out that they don't work on 11g installations:
    We tried the following code:
    connect('weblogic','oracle10','t3://soavm2:7001')
    domainRuntime()
    sessionName = "FindServicesSession" + str(System.currentTimeMillis())
    sessionMBean = findService(SessionManagementMBean.NAME, SessionManagementMBean.TYPE)
    sessionMBean.createSession(sessionName)
    servConfMBean = findService(ServiceConfigurationMBean.NAME + "." + sessionName, ServiceConfigurationMBean.TYPE)
    alsbCore = findService(ALSBConfigurationMBean.NAME, ALSBConfigurationMBean.TYPE)
    allRefs=alsbCore.getRefs(Ref.DOMAIN)
    for ref in allRefs:
    typeId = ref.getTypeId()
    if typeId == "BusinessService":
    serviceDefinition = servConfMBean.getServiceDefinition(ref)
    endpointConfigration = serviceDefinition.getEndpointConfig()
    print endpointConfigration
    We get a "AttributeError: 'NoneType' object has no attribute 'getServiceDefinition'" error. It seems that it is related to metalink note "How To Modify Service Configurations By OSB JMX API [ID 1431254.1]". However the code provided there is for java through jmx, does anybody has a working example of how to do that on wlst?
    Thanks!
    p.d: already posted this question on wlst forum but got no answer...

    You may like to refer metalink note 1380705.1 and OSB java API (section "Using MBeans in a script")-
    http://docs.tpu.ru/docs/oracle/en/fmw/11.1.1.6.0/apirefs.1111/e15033/com/bea/wli/sb/management/configuration/SessionManagementMBean.html
    Regards,
    Anuj

  • Business Service with multiple HTTP Request Methods

    hi all -
    I'm new to OSB and trying to prototype a solution. I have a service provider that exposes a number of HTTP operations (GET/PUT/POST/DELETE). It's a JAX-RS implementation.
    I was looking to create 1 proxy service and 1 business service for that service provider. But, within my business service, I must chose a 'HTTP Request Method' and it allows only 1 type (either GET, PUT, POST, DELETE). So, I have something working, but only for a single type (POST in my prototype). I figure I could create more proxy and business services for the other HTTP Request Methods, but I'm not sure if this is the correct approach (design/architecture).
    My other thought was to create a proxy service to front the service provider, but looking at the documentation, it looks like there should be a business service for each proxy service. If it's possible to use a proxy service without a business service to mediate the service provider, where would I add my URLs for the service provider in the proxy service.
    My apologies on the 2 part architecture/design question. I thought the group would help with getting me started.
    thanks jim

    Hi,
    Frankly I dont know too much on this topic but following links may help you:
    http://help.sap.com/saphelp_nw04/helpdata/en/25/dda73e5b7a424de10000000a114084/frameset.htm
    Troubleshooting ICF: http://help.sap.com/saphelp_nw04/helpdata/en/80/b2dd3a6dac703be10000000a11405a/content.htm
    Possibly experts in this forum will be able to help you:  Application Server->Internet Transaction Server (ITS)
    Regards,
    Gourav

  • USe of Business services with BPEL or ESB

    Hi,
    Has anyone come across any example on how to use Busiess services with BPEL or ESB.
    Oracle App Server , JDE 812 , Tools 8.98 , SOA suite 10g

    Samir,
    I don't see any answer for your post.
    Did you find a solution. I would be interested to know as how to integrate business services in JDE with BPEL/SOA 10g or 11G.
    I would appreciate if you could share the approach/solution you followed.Also, please let me know if there are any docs which I can for jde-fusion integration.
    Thanks
    Edited by: user13374451 on Jul 26, 2010 9:15 AM

  • Error when calling the business services with Encryption - MustUnderstand h

    I was getting this error when i invoke my business service through Oracle Service Bus Console:
    *<faultstring>*
    *MustUnderstand headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood*
    *</faultstring>*
    *<faultcode>SOAP-ENV:MustUnderstand</faultcode>*
    <soapenv:Envelope      xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Header      xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         </soap:Header>
         <soapenv:Body>
         <ger:gerarHashSenha      xmlns:ger="http://www.abc.com.br/SomeService">
         <!--Optional:-->
         <arg0>string</arg0>
         </ger:gerarHashSenha>
         </soapenv:Body>
         </soapenv:Envelope>
         <soapenv:Envelope      xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Header      xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         <wsse:Security      soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <ns1:EncryptedKey      Id="FLTGqSbFbsmt2Q2l" xmlns:ns1="http://www.w3.org/2001/04/xmlenc#">
         <ns1:EncryptionMethod      Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
         <ns2:KeyInfo      xmlns:ns2="http://www.w3.org/2000/09/xmldsig#">
         <wsse:SecurityTokenReference      wsu:Id="str_a6QZHoS8oRqxbtgS" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         <ns2:X509Data>
         <ns2:X509IssuerSerial>
         <ns2:X509IssuerName>
         CN=SerasaACGlobal,OU=Serasa Autoridade Certificadora Global,O=Serasa,C=BR
         </ns2:X509IssuerName>
         <ns2:X509SerialNumber>5023300869337873804</ns2:X509SerialNumber>
         </ns2:X509IssuerSerial>
         </ns2:X509Data>
         </wsse:SecurityTokenReference>
         </ns2:KeyInfo>
         <ns1:CipherData>
         <ns1:CipherValue>
         l3um2rVftq5ddA24DPNpZpofHEcmCha9ZBraglFKKzTpL+PhKmRmAyaJC2V5xWqBssxQGRDWhN9z+eHP8ENLMDP/mlHRw89WWQ7VkATSAd+k8ny/lesTLO7RUuLAiPlueOYUN8vpD4BJcI/lL/8jL0utMrQ7k+fhELDnBMB0lIY=
         </ns1:CipherValue>
         </ns1:CipherData>
         <ns1:ReferenceList>
         <ns1:DataReference      URI="#Ak1K01RK8B6RKDn3"/>
         </ns1:ReferenceList>
         </ns1:EncryptedKey>
         </wsse:Security>
         </soap:Header>
         <soapenv:Body>
         <ns1:EncryptedData      Id="Ak1K01RK8B6RKDn3" Type="http://www.w3.org/2001/04/xmlenc#Content" MimeType="text/xml" Encoding="UTF-8" xmlns:ns1="http://www.w3.org/2001/04/xmlenc#">
         <ns1:EncryptionMethod      Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
         <ns1:CipherData>
         <ns1:CipherValue>
         RMu5vmRk3KczXzx57Wc8sIcdBDySyGOL4P0VrN+rwOjOcqc3ALCGbxu9VlRB4nJJTDb/1wxuh+lJlnBEgwS+7q1JVDuA81HDSqq4oPtqhQ2wYVMyxOY0YVm2Tj8ntUdTYh0OQrPg0TwmSsi3UUnuKDPR9tQqmZvHc+DF+j8yI71nSN4WPp1MVBr8E7Z7B9sPBDlI7Bp9n68=
         </ns1:CipherValue>
         </ns1:CipherData>
         </ns1:EncryptedData>
         </soapenv:Body>
         </soapenv:Envelope>
         Response Document      
    The invocation resulted in an error: Internal Server Error.
         <S:Envelope      xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
         <S:Body>
         <SOAP-ENV:Fault      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
         <faultstring>
         MustUnderstand headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood
         </faultstring>
         <faultcode>SOAP-ENV:MustUnderstand</faultcode>
         </SOAP-ENV:Fault>
         </S:Body>
         </S:Envelope>
         Response Metadata      
         <con:metadata      xmlns:con="http://www.bea.com/wli/sb/test/config">
         <tran:headers      xsi:type="http:HttpResponseHeaders" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <tran:user-header      name="Set-Cookie" value="JSESSIONID=YypvL1RGdHs3fRGs3RSwvGrdQpzhTyY6FJ0z6VK1tRtLhR5L9V7S!-778340443; path=/"/>
         <tran:user-header      name="X-Powered-By" value="Servlet/2.5 JSP/2.1"/>
         <http:Cache-Control>no-cache="Set-Cookie"</http:Cache-Control>
         <http:Content-Type>text/xml;charset="utf-8"</http:Content-Type>
         <http:Date>Fri, 28 May 2010 00:41:40 GMT</http:Date>
         <http:Transfer-Encoding>chunked</http:Transfer-Encoding>
         </tran:headers>
         <tran:response-code      xmlns:tran="http://www.bea.com/wli/sb/transports">2</tran:response-code>
         <tran:response-message      xmlns:tran="http://www.bea.com/wli/sb/transports">Internal Server Error</tran:response-message>
         <tran:encoding      xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
         <http:http-response-code      xmlns:http="http://www.bea.com/wli/sb/transports/http">500</http:http-response-code>
         </con:metadata>
    Edited by: victorjabur on May 27, 2010 5:48 PM

    I've the same issue... did someone come across. OTN moderators please answer to this.

  • Business service with ws security (missing security headers)

    Hello,
    I have business service for which I applied ws - security (I want customer to sign response. Response should be validated by osb). I applied policy. Everything works as expected.
    My problem is that I would like to save message sent by customer (together with headers which contain signature). However headers related to security are not present in
    $header variable in response pipeline. When I disable ws-security then headers related to security are visible in reponse pipeline. So it seems that security headers are removed
    when ws-security in enabled. Can I somehow access all headers in response pipeline to be able to save them?

    I wasn't clear?
    This is a big dev problem for a major Sun client.
    No one knows or wants to answer?

Maybe you are looking for

  • Update wont install

    Says cant find License for this version == This happened == Every time Firefox opened == trying to update foxfire

  • Creatingan event in process chain

    Hi guys, Can any one tell me creating an event for a proces chain ,Creating a prog for calling event, Function module for including in prog .. and plz also tell me how to trigger a proces chian from a external system.. thank you John

  • Does Sharing A Calendar Cost Money?

    Hi I want to share a specific iCal calendar with someone who does not subscribe to iCloud. They have Snow Leopard and iCal. When they click on the link it says that they need to subscribe to iCoud. Is this right? Is there another way to share my cale

  • Intellisyn​c of MS Outlook address book fails.

    After installing the new Desktop Manager 4.6, I cannot sync my address book from MS Outlook 2003. When the program starts to read the MS Outlook file, I always get the error message "Function "SetColumns" failed" and the sync process is terminated. I

  • Service messages on 5500 Sport

    Dear All, Can someone tell me how to find and go to the service messages on my Nokia 5500... I found it the other month, but have lost it again... Thanks a lot, Aga