Doubts in Route node OSB

Hi all,
Service callout creates two variables for Request and Response , so when I use a Service callout I do a Xquery transform and assign it to the Request
variable. Now how do I do this in a route node
when I tried to assign using x query transform i get an error +"BEA-382040: Failed to set the value of context variable "body". Value must be an instance of+
+{http://schemas.xmlsoap.org/soap/envelope/}Body".+ Do I have to manually type the xml and use replace activity and replace the body ?
Thank You
Arun

Hi all,
Actually i am also getting the same error and i have changed the node entire body to node contents, but it is not working for me..
Scenario :
Proxy build on my local WSDL, then Pipeline with 2 stages on request side,
1st stage : I am doing transformation to change the request,which i am getting from the portal into the format understandable by the System, i will call in 2nd Stage, I am doing this by using Replace action XPath ( ./* ) in body with my Xquery.
2nd Stage : I am assigning the same Xquery to a varable SAOPRequest and then I am calling the External Service using Service Callout and configuring SOAP Body, In that i am passing SOAPRequest variable which i created earlier as a SOAP Request Body and Response as a SOAP Response.
Save all and when i test it it gives me the error +"BEA-382040: Failed to set the value of context variable "body". Value must be an instance of+ {http://schemas.xmlsoap.org/soap/envelope/}Body"
Waiting for your valuable suggestion
Thanks and Regards
Piyush
Edited by: user13140590 on Jun 3, 2010 6:30 AM

Similar Messages

  • Route node and Service Call out in OSB

    In OSB for a composite Proxy service (PS) that has to call 3 external services in sequence- we make service call out for 1st and 2nd external services and for invoking the last external service we can use route node.
    Here technically PS is making web service calls to all the three external services. For the first two OSB uses service call outs and for the last one, route node is used.
    What is the difference in service callout and route node in invoking an external service?
    If route node is better in any ways why can't OSB come with route node type message flow action for all external service calls?
    Thanks

    HI there,
    I have the same scenario as yours, I have to call 3 external services using Service Callouts and i have no idea how to use service callouts, how to and what to configure in SOAP body OR Payload parameters.
    I have to call one service and then the response of the 1st service , i have to pass it as a request to the 2nd service, so on.
    Can u please share with me how i can do it and what will be the best approach for that.
    Thanks and Regards
    Piyush Kapoor

  • Dynamic routing in OSB

    Environment: OSB 10.3.1
    To avoid manual configuring all published services one-by-one (eg. alter logging), I'd like to implement a generic proxy pattern in OSB. Assume that I have business services at /bs1, /bs2, etc, proxy services at /ps1, /ps2, etc.
    What I'd like to achieve is to publish proxy services which routes to the generic proxy first and then reroute to the original proxy service. For this I published eg. /pps1, /pps2, etc all with an Insert action which saves $inbound/ctx:transport/ctx:uri to . in $header and then route to the genericproxy proxy service.
    Generic proxy starts by executing common logic in the pipeline (log, etc), then should fetch the original routing information from the header and use dynamic routing to direct the message to the right proxy service (/ps1, /ps2, etc).
    Now the questions:
    1. is this the right approach to solve the problem of generic configuration of multiple published services in OSB?
    2. appearently the uri itself is not enough for dynamic routing - what else do I need to save from the original message?
    3. can I construct a <ctx:route><ctx:service..><ctx:operation..> construct with only Insert actions? I'd need a concrete example here accomplishing this.
    Thanks.

    Well you have to add Route Node to your proxy pipeline and inside it add a Dynamic Routing action.
    If you select the Dynamic Routing action you'll see in the Properties view something like:
    Service: <Expression>
    Here is where you have to define the <ctx:route> element. You can basically paste the text here.
    You could also create an XQuery transformation (so you can reuse it later) and invoke it here (with the XQuery Resources tab). But if you're not very familiar with XQuery I'd advise to start with the first option just to see it working.
    At first you could also omit the {$proxy} variable and statically specify the service you want to route to. Or you could use an Assign action to define the $proxy (or any name you want to give it) variable. And then once that's working see if you can get the service path from the headers.
    Hope that helps

  • Dynamic Routing in OSB 10gR3

    Hello All,
    I am trying to do a POC of our use-case and wanted to use the Dynamic Routing feature of OSB 10gR3 -
    - Create a Proxy which will accept service_id, version, operation and generic input request
    - Proxy should do lookup in the Routing Table (XQuery Resource) and based on the service_id as key will provide the service endpoint as -
    <ctx:route>
    <ctx:service isProxy="true"> {$routingtable/row[logical/text()=$body/ServiceRequest/ServiceId/text()]/physical/text()}</ctx:service>
    <ctx:operation>{$body/ServiceRequest/OperationName/text()}</ctx:operation>
    </ctx:route>
    - Proxy should also carry out the transformation from generic input request to specific as per the operation.
    - Proxy should then be able to call the other proxy services (as per endpoint in the routing table) and the specified operation.
    Questions -
    Is this possible in OSB 10gR3? What service type (WSDL, AnySOAP, AnyXML, messaging) should the generic proxy be? Any alternative to this approach.
    So far, I have used ALSB/OSB for simple use-cases and this is more complex so I am seeking information and feedback on this use-case and how to move forward with this use-case.
    Thanks,

    Thanks mneelapu.
    I started this use-case on baby-steps and I tried use the dynamic routing to call the operation on a proxy services
    Generic Proxy (using dynamic routing) -----> Proxy ---> Business <----WSDL (Target Service)
    Here are the steps in my code -
    (1) Created the Proxy ---> Business <----WSDL (Target Service) and tested using the test console.. all works fine.
    (2) Created Generic proxy (Messaging Type with xml as input) and I am passing the xml as
    <ServiceRequest>
    <ServiceId>TestWS</ServiceId>
    <OperationName>getStatus</OperationName>
    </ServiceRequest>
    (3) Created the pipeline pair and in the request pipeline added the stage and -
    - assign the Routing Table (as XQuery Resource) to the $routingtable varible
    (Routing Table XML looks like - <routing><row><logical>TestWS</logical><physical>/TestSB/TestPS_1</physical></row></routing>)
    - assign the XQuery expression
    <ctx:route>
    <ctx:service isProxy="true"> {$routingtable/row[logical/text()=$body/ServiceRequest/ServiceId]/physical/text()}</ctx:service>
    <ctx:operation>{$body/ServiceRequest/OperationName}</ctx:operation>
    </ctx:route>
    to $routeresult variable
    (4) Added the Route Node with dyanmic routing action added the $routeresult in the expression.
    I am getting BEA-382612 (Error preparing message for dispatch). I followed the steps as mentioned on e-docs, what am I missing here?
    -J
    Thanks,

  • Sample "REST" service for context based routing in OSB

    Hi All,
    We have a requirement where we have to do context based routing in OSB.For that, we need to have a Rest Service which should do context based routing.In the payload there will be Action tag, based on the Action tag we need to invoke corresponding Business service, if you have any sample service like this please send it to me.
    As I am quite new to Rest services.It will be helpful if I get a sample service.
    Thanks In Advance

    http://prsync.com/oracle/restful-services-with-oracle-service-bus-6243/
    http://blogs.oracle.com/jamesbayer/2008/07/using_rest_with_oracle_service.html
    http://blogs.oracle.com/jeffdavies/2009/06/restful_services_with_oracle_s_1.html
    Regards,
    Anuj
    Edited by: Anuj Dwivedi, TCS on Aug 17, 2010 3:02 PM

  • Conditioned Routing in OSB

    Hi All,
    I have a scenario that, From ReqCS i have to call a contract proxy service. In that i used route node and routing option to route to Provider connector services. But i have to use an condition and if it satisfies i'l route to the ProvCS else i'l give an error response. But am not able to use if condition under route option. I have three operations in it under operational branch. Plz help me
    Regards
    Prabhu

    You can use Conditional Branch Node in message flow -
    http://download.oracle.com/docs/cd/E17904_01/doc.1111/e15867/proxy_messageflow.htm#CHDEEHIF
    Regards,
    Anuj

  • How to Confiure Route Node to do HTTP Post?

    Hi All,
    I am trying to create a messge flow that could do HTTP POST.
    I have a business service that can do HTTP POST.
    In the Messge flow of the proxy service, I created Route node.
    With in the route node, I have created an Assign request action to assign to content to $body variable.
    The problem here is content of the body variable should have <soap:Body> as the top level element otherwise it throws an exception.
    I don't want to use service callout because service call outs are synchornous. How can we solve this issue with route node?
    Thanks in adavance for the response.

    In the assign to $body xquery either use:
    <soap-env:Body>
    {$payload}
    </soap-env:Body>
    or
    <soap-env:Body>
    <ns1:myOperation>
    {$payload}
    </ns1:myOperation>
    </soap-env:Body>
    where soap-env is a predefined prefix and you have defined ns1.
    Also if you your services mix soap1.1 and soap1.2 you can get a similar error.
    For example if your proxy is soap1.1 and you assign a soap1.2 body in the main pipeline (and vice-versa) then you will get that error. In that case you would need to create the soap1.2 body inside the route node. Otherwise you can do it anywhere in the pipeline.

  • Routing Node in JMS

    Hi,
    I am configuring some JMS scenarios. For establishing connection with JMS system the client provided me with IP address and port for the JMS systems.
    Alongwith the above information the client also gave me Routing Node details for each of the JMS-system. Do we use this Routing Node information anywhere in SAP PI?
    Thank you,
    Pankaj.

    Hi,
    Ok. I was confused after searching on google. So it means that though Routing Node is a part of JMS communication it is not used/ required in SAP PI.
    Thank you,
    Pankaj.

  • Your End Node is Connected To the Gateway Through a Mesh Router Node

    Dears,
    If we Have a Network of 32 Nodes ( 1 Gateway and 4 Mesh Routers and 28 End Nodes) I need To Know if It is Possible To Know that Your End Node is Connected To the Gateway through Which Mesh Router Node Programatically and When it is Self Heiling  ?, is It Possible To Know this Information ?
    BR
    Ahmed Abdulbaky
    InnoVision Systems

    Hey Matt,
    With regards to using more than 8 nodes per parent, this may be possible and I've seen systems where this seemed to work. However, the hardware is only tested and supported for up to 8 end nodes per parent.
    With regard to 8 end nodes being stranded when using a router and gateway, this shouldn't be occurring. Depending on your network topology, there are other possible reasons for this behavior. The following article discusses the basics of the WSN topology:
    Wireless Sensor Network Topologies and Mesh Networking
    http://zone.ni.com/devzone/cda/tut/p/id/11211
    When the node disconnects, is it the same node, a similar rotation of nodes, or random nodes that are being stranded? When the node becomes stranded, what's it signal strength? Are each of your nodes set for the same update rate in the project? These answers may provide clues as to what is causing this behavior. Hope this helps!
    --Ryan S.

  • Error in dynamic Routing in OSB

    I am doing dynamic routing in the proxy service by setting the URL in the Routing Options component in OSB. It's throwing Null Pointer Exception when I am using a URL like this:
    http://hqcsas095:8080/ShowImage/servlet/DisplayImage?dlNumber=1114
    The desination machine is even not getting a request.
    If I remove ?dlNumber=1114 from the URL, then destination machine is getting request. Looks like something is wrong with ? character in the URL but I cannot avoid that. I have to pass paramters.
    Thanks for your help.

    As Hisaak mentioned, try routing option if you want to set URI dynamically. To use the dynamic route action, you need the fully qualified name of the service in Oracle Service Bus as described in http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1081507
    Thanks
    Manoj

  • Doubt Regading Admin Node

    Hi,
    One of my friend was saying that, In Multi Node Installations, wherever CM Services are running, Admin Node better to be there on that machine. we can have DB, CM on one machine and other ADMIN, FORMS and web services on another machine. In what perspectice he told, i id not understand. is it might be Performance perspective?
    what do you say friends?
    Edited by: oraDBA2 on Jan 1, 2009 1:37 PM

    It really does not matter anymore on which node (of a multi-node install) the admin server resides on. The concept of admin server is becoming obsolete since all of the ad utilities (adadmin, adpatch etc) can be run on all nodes. Pl see page 1-23 of the R12 Concepts manual at http://download.oracle.com/docs/cd/B40089_10/current/acrobat/120oacg.pdf.
    HTH
    Srini

  • Doubt regarding dump based OSB backup

    Hi All,
    Whenever I do a dump based backup, I can see the files are not backed up sequentially in fact they are backed up across volumes as parts.
    For example let's say I have a volume of size 100G and then a dataset(containing directories and files) 150G and when I backup this dataset it will occupy two volumes. So when I check the files or directories location in the volumes, parts of files/directories are present in both the volumes.
    for ex:
    Name:          
    file05
    Backup ID:     
    0
    Mode & protection:  -rw-r--r--
    Last modified: 
    2014/05/19.12:56:22
    Size:            
    40
    Backup ID:     
    0
    Backup date & time: 2014/05/21.15:40:53
    Volume ID:     
    VOL000030
    Volume tag:    
    000100
    Current location:   iec-SL500
    File number:   
    1
    File section:  
    1
    Requested level:
    0
    NDMP backup type:   dump
    Client:        
    susiec-7320-010.in.oracle.com
    Device:        
    tape1
    Program version:
    10.4.0.3.0
    Encryption:    
    off
    Volume creation:
    2014/05/21.09:01:52
    Position:      
    000000550033B400
    Backup ID:     
    1
    Mode & protection:  -rw-r--r--
    Last modified: 
    2014/05/19.12:56:22
    Size:            
    40
    Backup ID:     
    1
    Backup date & time: 2014/05/21.15:40:53
    Volume ID:     
    VOL000031
    Volume tag:    
    000101
    Current location:   iec-SL500
    File number:   
    1
    File section:  
    2
    Requested level:
    0
    NDMP backup type:   dump
    Client:        
    susiec-7320-010.in.oracle.com
    Device:        
    tape1
    Program version:
    10.4.0.3.0
    Encryption:    
    off
    Volume creation:
    2014/05/21.09:01:52
    Position:      
    000000550033B400
    Is there a way that I can make sure that the volumes are filled sequentially?
    -Srikanth

    To try to put this more clearly:
    A given version of exp can read its, and any older, version of database, but writes its output in its version format. It can work with its, and older, versions of the database, but not newer ones.
    A given version of imp can read its, and any older, version of export file format. It can work with its, and older, versions of the database, but not newer ones.
    (I think there is some limit to how far back this compatibility goes, but this has been true for me whenever I've tried it).
    Thus to move data from 9.2.0 to 9.0.2, you would want to export using the 9.0.2 export utility and import using the 9.0.2 utility. To move from 9.0.2, you could export using either version of exp, but you'd want to import using 9.2.0.

  • What is the difference between Routing and Call OSB regarding preformance?

    Hi excuse my ignorance, I am new to OSB and would like to know the difference in the performance of a service using the Service Callout or Routting, which would be the fastest to run?
    would like to know this to know what the best to use if I have a situation that you can use either one.
    Thanks!

    service call out .. you call a service in a SYNCHRONOUS way (pipeline blocks and waits for service response).
    we cannot use request-only wsdl operation through service callout.It is single threaded.
    route ... it's the last node of the proxy, it's not in the pipeline, you pass all processing to another (business or proxy) service . Route node can be seen as an action which defines where a Request thread stops and Response thread begins, in addition to what ever it does. It is know that by-design, request and response pipelines of a OSB proxy will be in different threads.
    route node can be (request-response and request only)
    you can have multiple ServiceCallouts but only one route node.
    Service callout under high load can cause stuck thread issues, so it has to be used wisely depending upon your requirement.
    Hope this helps.
    Regards,
    Karan

  • How to use "Routing Table" option in Proxy service in OSB ?

    Hi,
    I have created Business and Proxy services in my OSB console. I have used "Custom Query" option while creating the Database Adapter and I'm passing one input parameter to the query. My input parameter is "Name".
    Based on the input values for this parameter, I need to pass a corresponding values to the query. For example, If I pass the following values to "Name" input parameter (India) I need to pass "Value1" to my query -
    India --> Value1
    China --> Value2
    America --> Value3
    To achieve this requirement, I have used "Routing Table" option. I have specified the values as follows -
    Expression - $body/fet:FetchCustDataInput/fet:Name
    Operator- '='
    Compare value - India
    Service - "My Webservice"
    Operaton- "My Service Operation"
    In the "Request Actions:" I have added the "Add an Action --> Messaging Processing --> Replace" and provided the following values -
    Replace <XPath> = $body/fet:FetchCustDataInput/fet:Name
    in Variable = "Name"
    with Expression = xs:string('Value1')
    and selected "Replace node contents" option.
    No validation errors I faced. I have created the Routing table in Proxy service. But when I try to execute the proxy service in my Test Console, I get the following error message -
    "The invocation resulted in an error: Unknown error while processing message for service ProxyService OSBQueryService/FetchByCustomQuery/FetchByCustomQueryPS."
    I have even enabled "Direct call" and "Include Tracing" options as well. The message under "Tracing" give "(echoing request)
    Routed Service. No Service has been invoked, the request is echoed.".
    Can anyone please help me to resolve this issue.
    Thanks in Advance,
    Udaya

    Did you put any loggers in the proxy at request pipeline prior to route node ? Can you trace if the request has entered request pipeline aleast.
    If not just check the transport headers under the request window in the test console. There should be a text box for entering username/password which should be left blank. I have faced this unknown exception from test console in some browsers where an incorrect username/password used to get populated here. Check this ..
    Edited by: atheek1 on Jul 22, 2010 2:02 AM

  • Need help on OSB problem , need to transform and route

    Hi,
    I am new to OSB and i have a problem where i need to route service call to 7 different services based on one of the value of parameter of input request. After routing i need to transform the input parameter into stirct datatype output and of different structure. Need suggestion how to do it. I have read some tutorial about proxy services. i have WSDL of both input and output.
    Regards

    You can call 7 different services. AlSB supports one route node, but provides you with the facility of Service Callout.
    You can try Service Callout. To use Service Callout select Add An Action >> Communication >> Service callout.
    You can also try Routing Options if you don't have any Proxy Service or Business Service to call.
    Hope this helps!

Maybe you are looking for