Proxy business services in osb

In osb if i want to get data from a client then what is the procedure
I am using a business service whose endpointuri is a proxy service (protocol http)
And this business service is inturn called by my local proxy service
Is this procedure correct ?
if not then what is the correct procedure how many proxy and business services do i need to get data from my client
Thanks,
Rahul

How many Proxy Services and Business Services to use depends on the use case.
For example, if your client will initiate a transaction when it has some data to send to another system then you will have to configure following flow:
First system (wants to send some data)--> Proxy Service(to receive data from Client) --> Business Service (to call the second system) --> second system web service API
Another scenario in which you need to get some data from the second system when requested by the first system (query scenario) the above flow would still remain the same.
Addition of another Proxy service depends on specific use case and scope of re-usability etc. For example if you want to fetch data from a system and that query can be reused in various processes or can also be called from various client applications then you can create a wrapper Proxy above the Business service and call this Proxy Service instead of calling the business service from your Proxy.
Domain structure also is a deciding factor, for example if you want to call a Proxy in one domain from another domain you can use a Business Service in the requesting domain.

Similar Messages

  • Best practices for Calling Multiple Business Services in OSB

    Hi All,
    I have a requirement where I need to call multiple business services in OSB. We are presently calling them sequentially in a proxy pipeline. I was wondering if we could accomplish the same task in a better way. Each of the business services are mutually exclusive.
    Thanks in Advance,
    Rudraksh

    Hi Eric,
    Thanks for the response. We figured that it is possible to call multiple services with Split Join. However, we ran into the issue you described. We had a blocking call and had to wait until each of the services returned a response.
    However, we needed a Async model for our design and felt that this might not be a right fit.
    We are now looking at implementing the publish option with QoS configured as this fits our usecase better. Thanks for the help again.
    Rudraksh

  • Proxy & business Services creation using XML

    Hi,
    can we create a proxy service & business service in OSB using an xml? usually we use to create using a WSDL defined by a webservice. can we create it using XML ? If so can anyone provide the doc or link for that.
    thanks

    You may create XSD from XML and then create WSDL from XSD using JDev. Using that WSDL you may create proxy or business service in OSB.
    Regards,
    Anuj

  • Comment out proxy/bussiness services in OSB

    How can I comment some of the proxy/bussiness services in OSB?

    I suppose you mean enable/disable.
    There's an option for that in a proxy's operational settings (state = enabled).
    For a business service simply don't expose it with a proxy service, or disable the proxy services that might route to it.
    Hope that helps.

  • Provide authenticated username as parameter to a business service in OSB 12c

    Dear OSB/OSB experts,
    I have the following issue:
    1. I have a web service that would accept username as a parameter in the SOAP request in order to do some internal authorization checks (filtering database rows, tables, etc.)
    2. I want to connect that web service as business service in OSB 12c
    3. The proxy service should NOT accept username as parameter
    4. The proxy service should be protected via OWSM policy for authentication (either against the WLS authentication providers or through SAML tokens validation)
    Based on the above is there any mechanism in the implementation of the proxy service to get the authenticated username from the security context and provide it as a parameter to the business service?
    The authentication policy could use SAML tokens between two WLS domains - one will be running the WLS where proxy service clients will be running and the other - for the SOA 12c.
    Many thanks in advance,
    Anatoli

    HI,
    u can use Conditional Branching
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1061670
    Split join would be used in case u need to split your request and call your Business Service in Serial/parallel & then gather resposnes from multiple callouts to have single response
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/userguide/splitjoin.html#wp1137258
    Abhinav

  • Dynamic csf-key to Business service of OSB?

    We have created single Business Service which is getting called from one proxy service to execute different Web Service end points.
    For different end point execution I want to pass different authentication parameters.
    Currently we have configured User Id and Password through single csf-key through policy.
    Since csf-key is secured option to pass authentication parameters to end point,  is it possible to configure dynamic csf-key to Business service of OSB?

    Create a business service using file transport and type "Text".
    Obtain the file name and assign to $body in ur proxy service stage and publish to the business service u just created.

  • Need some clarification in WSDL based Proxy & Business Services

    Hi,
    Whenever we configure a Proxy service or Business service based on a WSDL, we use to select Port option instead of Binding when selecting our WSDL for the proxy/business service. Now my ques is why we go for a port instead of binding? what is the difference between them?
    My ques may seem very basic but i have this doubt for long time so i am postin this.
    Thanks,
    Arun

    Hi Arun,
    In my opinion that is not such a big deal, and in most of the cases you can choose any of the options...
    I usually prefer port because it keeps the service name... If you are proxying someone else's service it is better to keep it in a way that the service consumer doesn't notice the difference...
    I'm guessing there are cases out there where the service consumer client requires that the binding operations be unchanged... But I've never came across with one of them...
    Hope that clarifies...
    Cheers,
    Vlad

  • Using a uddi key to create a business service in OSB

    I want to be able to use a service registry key when creating a business service in OSB. I've found documentation on how to do this in Oracle ESB, but not in OSB.
    From the documentation for OSB, I can only find a way to synchronize the business services imported from the service registry (when i search through the imported services there is no mention of the uddi key that i can see). I can choose to auto-import when setting up the registry, but I'm not sure exactly what this behavior does.
    From the console documentation (http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/consolehelp/uddi.html)
    "You can use the Auto-Import Status page to synchronize changes to a service with those present in the registry. Upon any changes to a service in the registry, Oracle Service Bus provides notification of the change on the Auto-Import Status page which lists all out-of-sync services. You can then synchronize the service in the Oracle Service Bus Console with the corresponding service in the UDDI registry."
    This setting seems to automatically update the endpoint of the business service wihtout that administrator having to do anything, but what is actually being done? Is the service bus updating the endpoint as soon as it has been notified of a change or when i view/call the service is the endpoint being looked up?
    Am I missing something??
    Edited by: user498458 on Apr 27, 2009 11:30 AM

    I took your advice and re factored the Receive class so it had all the functionality I needed except two methods which would then be overridden in the derived classes. What I had a hard time understanding is once an object of class say SpecialReceive extends Receive it can be referred to as Receive yet still maintain that it's a SpecialReceive.
    What I mean is if I give a Receive object to some method and this method has no idea that this object is actually SpecialReceive and it calls a method say run() which gets overridden by the SpecialReceive. I thought that since this method has no idea what type of Receive this object is it will execute Receive's run(). But it actually does know what type of class it is and it executes the right run() method (the one that SpecialReceive overrides).
    After I realized this there is no more need for casting.
    Thanks everyone for your contributions.

  • Problem in creating JMS business service in OSB

    Hi all
    I am creating a JMS business service in osb:request /response is TEXT
    It write to "*QueueSend*"-which is my URI endpoint
    I have a MDB which read from "*QueueSend*" and write to "*QueueReceive*"
    i have given the *"Response Endpoint*" in jms business service to point to "*QueueReceive*"
    When i send the msg, it write to QueueSend and mdb writes it to QueueReceive but JMS business service doesn't read from QueueReceive,it just wait a long .......
    What is the problem??
    Thanks
    Rohan

    Hi Rohan,
    Are you able to see consumers on "QueueReceive"?
    If no, then your BS is not listening on this queue. Check the end-point again. Check server logs to know if any error occured while BS tried to connect with Queue. Restart your server which has this queue and then the OSB, and try again.
    Regards,
    Anuj

  • Having multiple Stored procedure in a single Business Service in OSB

    Hi,
    Please let me know is it possible to have multiple Stored Procedure inside one business service in OSB.
    Regards,
    Abdul

    Hello Abdul,
    It is not possible to serve multiple stored procedures/functions with one business service because one business service can be based on one adapter only and one DB adapter can interface one DB component only. You may have one stored procedure which internally makes call to all other procedures as per your requirement and from OSB, call this single stored procedure using one business service.
    Regards,
    Anuj

  • How to keep data integrity with the two business service in OSB 10.3.1.0

    How to keep data integrity with the two business service in OSB 10.3.1.0
    In our customer system, customer want to keep data integerity between two businness service. I thinks this is XA transaction issue.
    Basing customer requirment, I created a testcase but I can't keep data integerity, For detail information, please refer the attached docs.

    Can you please explain what you meant my data integrity in your use case?
    Manoj

  • Regarding JMS-Queue/Topic in Proxy and Business service in OSB

    Hi
    I have one query regarding to the JMS-Queue/Topic.
    I am published the message to the JMS-Queue/Topic.
    ----My Business-service configuration is---
    General----Any xml
    Tranport--jms://localhost:7001/MyConnectionFactory/RequestQueue
    Response--None
    I call this Business-service in proxy-service of Routing message was published successfully to thee Queue.
    I try to dequeue the message from that queue for this
    --- I take another proxy with---
    General----Any xml
    Tranport--jms://localhost:7001/MyConnectionFactory/RequestQueue
    In meassage flow
    Routing--second busines-service)
    --- Second business-service configuration is---
    General----Any xml
    Tranport-File (C://temp)
    Issue is when I publish the message to Queue,the message is also found in the file  i.e C:temp. I don't now why  this come to the file.*
    Any suggestions
    Thanks
    Mani

    Either I did not get an idea, but in your JMS proxy you are routing to File :)
    If you don't want file, why route to 2nd BS ?

  • Calling Secured Business Service from OSB

    Hi,
    I am trying to call a Service which is secured.
    the Request SOAP message is like :
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ns="urn:crmondemand/ws/activity/10/2004"
    xmlns:act="urn:/crmondemand/xml/activity"
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    *<soapenv:Header>*
    *     *<wsse:Security>**
    *          *<wsse:UsernameToken>**
    *               *<wsse:Username>USERX</wsse:Username>**
    *               *<wsse:Password type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">PASSWORD</wsse:Password>**
    **          </wsse:UsernameToken>**
    *     </wsse:Security>*
    *</soapenv:Header>*
    <soapenv:Body>
    ========================
    ========================
    </soapenv:Body>
    </soapenv:Envelope>
    I have created a business service and attached the service to Proxy service.
    I am new to OSB.I am unable to change the header data.In the forums i found couple of responses pointing to create
    Policy file or creating service account which were not clear to me.Dear expert , please guide me what exactly need to be done in this case.
    Thanks in advance,
    Regards,
    Chandra

    hi,
    Finally i have done it with the help of documentation.
    solution is :
    In the service configuration --> Policy -->select OWSM policy bindings (your domain should be configured with OWSM extention))
    select predefined oracle/wss_username_token_client_policy from in the OWSM configuration window
    next login to the em console: http://localhost:7001/em
    In the left hand side pane Go to Weblogic Domain -> select <your domain name>
    In the central pallete Weblogic Domain drop down goto secutiry --> Credentials.
    Here create a map with name : oracle.wsm.security (if not exists)
    Create a key by selecting the map as :oracle.wsm.security
    Key name : Sample_KEY
    Type : password
    Username: The username you are expecting in the soap header
    Password: The password you are expecting in the soap header
    Now go back to your service configuration -> Policy -> select the policy that you have added.
    there you can see the properties button enabled.click on it...
    there for the default_value = basic_credentials give the over_ride value as Sample_KEY (the key name you have mapped to the map)
    Regards,
    Chandra sekhar kommalapati

  • FILE NAME HAS TO PASS TO BUSINESS SERVICE in OSB

    I have a scenario where i have to get the name of the file , which my file adapter is going to poll.
    Proxyservice----->file Adapter artifacts.(Created a Proxyservice on OSB)
    i have to get the file name by using the jac:Header.
    How can i send the file name to businessservice in a body , businessservice will be a file write (body)

    Create a business service using file transport and type "Text".
    Obtain the file name and assign to $body in ur proxy service stage and publish to the business service u just created.

  • Proxy restful services via osb

    Hi,
    I would like to proxy my rest services via OSB for monitoring purpose. I did configure a simple GET call to use OSB proxy, I did it by creating a business service and point the URI to use the absolute URL of the rest Services (i.e. http://localhost:port/myRestMethod) and then created a proxy service pointing to my business service. Is this the correct way of doing it? Also I have the following questions:
    1. is there a way to make the URI for the rest service dynamic?
    2. How should I configure a post?
    I would appreciate any kind of help or if you can point me to some kind of documentation or example. I am very new to OSB and don't have much knowledge about it.
    Thanks
    Regards
    M.

    You can set the headers of the request quit similar to the ones you use for the get and delete parts. If you want to POST or PUT JSON/Xml/Text to your rest service you have to fill the $body variable with the contents of the request you want to send. When you use a proxy service I would suggest adding a route to block at the end of the PS. The route block contains a route to the business service you want to call.
    When you send the $body in the request pipeline to the business service the $body variable gets updated when the business services receives a response.
    What I usually do is add reporting blocks to your request and response pipelines that contain the $body and $header vars. That way it's easy to see what requests you are sending and what kind of responses you are retrieving.
    Good luck!

Maybe you are looking for