OSB: Business Service URI modification

Hi,
i have WS-based proxy service that simply routes data to business service (also WS-based). There is only one instance of this proxy service and it uses one definition of business service.
The development model I have to respect involves many instances of this business service. While interface is always the same, endpoints slightly differ, but match certain pattern. For ease of maintenance I decided to have only one proxy service that uses Routing Options to override endpoint URI in runtime. So far, so good.
The problem is that I have to override URI completely and I have to construct new URI in the message flow from scratch. I don't see any possibility just to modify URI set in business service. This implies that I can't use customization feature for this URI when moving my configuration from test to production.
The feature I'm looking for should allow me to have one static part of URI and the second (dynamic) part that should be attached in the proxy service message flow. It would be great if I could somehow read URI from business service definition and slightly rearrange it. In that case it would be possible to make use of customization.
Any idea?

Thanks for your effort, guys, but could you be a little more specific? :-) I went through some documentation (here and here) and as far as I understand it, dynamic routing can help me to choose business service in runtime. But I have only one business service and I just would like to mangle its URI somehow.
Let's say I want to route message to my BS that has one URI set to "jms://localhost:7001/factory/my.queue.number." which is incomplete and is supposed to be completed in runtime. In message flow I want to route to this BS, but change the URI before to something like
jms://localhost:7001/factory/my.queue.number.ONE
jms://localhost:7001/factory/my.queue.number.TWO etc.
Tokens ONE, TWO, ... are based on message content.
I can't see from documentation how dynamic routing can be of any help in this case. I also know I can change URI in Routing Options, but this new URI must be absolute. But for using absolute URI I have to have it hard coded in message flow which will break customization.

Similar Messages

  • OSB Business Service Work Manager Doesnt Throttle

    Hi,
    I have a requrirement to throlle the number of concurrent requests going to an end point.
    So i have used OSB business service where in i am calling an end point webservice, and configured a work manager in console and selected it in the dispatch policy
    I deployed the workmanager on managed server. i specified max concurrent threads as 3.
    I tried to test it and see that throttling doesnt really work.. All the requests sent are being sent at once not 3 at a time.
    The expected behavior is first 3 sdhud go and then onc ethey complete next 3 similary next 3. But i dont see that behavior. Please let me know if i am doing any worng
    below is my work manager configuration
    Service Type Any XML Service
    Transport Configuration
    Protocol http
    Load Balancing Algorithm round-robin
    Endpoint URI <Specified the end point URI>
    Retry Count 0
    Retry Iteration Interval 0
    Retry Application Errors Yes
    HTTP Transport Configuration
    Read Timeout 0
    Connection Timeout 0
    HTTP Request Method POST
    Authentication None
    Proxy Server
    Follow HTTP redirects Disabled
    Use Chunked Streaming Mode Enabled
    Dispatch Policy WorkManagerTest
    Message Handling Configuration
    XOP/MTOM Support Disabled
    Page Attachments to Disk No
    Result Caching Not Supported
    Any suggestions on this?
    Edited by: 791951 on Mar 17, 2011 7:51 AM

    If you need to throttle the Business service, then you should configure the throttling parameters in the Business Service -> Operational Settings tab
    Choose your Business Service in the OSB Console -> Operational Settings
    Throttling -Check this box to enable the throttling. Maximum Concurrency to 3, and Throttling Queue to x number of messages you wish to hold in the throttling queue

  • OSB business service transforming a date column 1936 to 2036 ( 1950)

    Hello, I'v a database view with a normal date column "geburtsdatum".
    Data Dictionary:
    GEBURTSDATUM DATE
    Now with JDeveloper I create a db-adapter. This works fine.
    On OSB I do generate a business service on the just created jca file. Also this works fine.
    XSD for db adapter:
    <xs:element name="geburtsdatum" type="xs:dateTime" minOccurs="0" nillable="true"/>
    I can test this business service successfully, everything is fine, but not the date interpretation when birtdate <1950
    Sample geburtsdatum (birtdate): 29-JUL-1934
    DATABASE: 29.07.1934
    OSB Business Service: 29.07.2034
    Why or where happends this date conversion?
    This is very strange, anyone had the same problem?
    Any help would be appreciated.
    Thanks
    Best regards,
    Reto

    After all I found the solution. Again the problem has been caused on DB side.
    I'm using a view. On this view I had a DATE column with a decode. I think I did a clean TO_DATE casting, but it seems as the OSB DB Adapter did not interpret this correctly.
    (on database side with SQL I did not have any problems here)
    My solution was:
    Using a date returning function (which does my decoding) in my view :
    CREATE VIEW xyz AS
    SELECT ...
    , myPackage.removeMaxDate(n.geburtsdatum) as geburtsdatum
    FROM ...
    Regards,
    Reto

  • JSSE causes OSB business services to receive Socket Closed

    Using WL 10.3.3 & OSB 11gR1 on jrockit 1.6.0_45  Redhat:
    After enabling the "Use JSSE SSL" option in the managed servers's SSL tab ( because web service clients want to use SHA256 certificates ), OSB business services ( outbound to service providers ) fail with
    Exception - Body: <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <soap-env:Fault xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
    <faultcode>BEA-380000</faultcode>
    <faultstring>General runtime error: socket closed</faultstring>
    After a lot of debugging, I've found that the Connection Timeout option within the OSB HTTP transport is involved.
    OSB business services which use https AND have a non-zero value for HTTP transport's Connection timeout cause the Socket Closed error.
    Business services which do not use HTTPS or do not have a Connection Timeout do not receive the error.
    While setting the Connection Timeout to 0 allows the transaction to succeed, that leaves the OSB server vulnerable when the service provider host is not available.
    So I've reset the Connection Timeout values to 0, and added this JVM parameter to each OSB managed server
    -Dweblogic.http.client.defaultConnectTimeout=5000

    There are few BUGs reported for similar issues.
    OSB Server Showing "java.io.IOException: SSLEngine is closed" When Attempting to Connect to an External Web Service Using Two-Way SSL (Doc ID 1465618.1)

  • OSB business service and NTLM authentication

    Hi,
    Is there a solution to use OSB business service with http transport and this bs authenticates itself with NTLM
    thanks Edwin

    Hi Manoj,
    We want to connect our production esb to the ERP ( IFS) system and we want to do this with the OSB. The ERP system has a lot http services and they are all running on jboss. On this app server they have enabled ntlm so users can their account to fill in there project hours /administration.
    I got this working with a authenticator in a jdeveloper 11g web service proxy client. ( http://biemond.blogspot.com/2009/04/jax-ws-web-service-proxy-client-and.html )
    thanks Edwin

  • Using UDDI key in OSB business service

    Hi All,
    I want to know how to invoke a service published in Oracle service registry through dynamic lookup in OSB. I tried importing service published in OSR as a OSB business service through sb console. In that the business created had the actual service end point reference rather than the UDDI service key. Hence the changes done to the service endpoint in OSR wont get automatically propagated to the osb business service as there is no actual dynamic look up.

    You will need to setup the Target system's server certificate as trusted in Weblogic's keystore or the Root CA certificate which certified target system's server certificate as trusted CA in weblogic.
    Check this thread for more details:
    Callling an external service through HTTPS

  • How to Define MQ message expire time in OSB Business service.

    Hi,
    Please let me know the option in OSB business service to set the expiration time for MQ messages. Is it possible?
    Thanks,
    karthik.

    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/mqtransport/transport.html
    transport header "Expiry"
    i hope it works :o)

  • OSB Business Service jms target

    Dear all,
    I have a business service in OSB, accepting messages, and putting them in a jms queue in j2ee.
    My question is, if it is possible somehow to declare as Endpoint URI the cluster address, so that the messages are balanced between the jms servers deployed in each j2ee managed server. If I set the cluster address, which is the comma separated addresses of the members, the messages all end up to the jms server of the first address declared in the endpoint URI.
    The JMS connection factory accepting the messages from OSB has default targeting and is targeted to the J2EE cluster.
    The endpoint URI of the business service when set to the cluster address looks like so:
    jms://172.16.217.134:7701,172.16.217.135:7701/myJMSConnectionFactory/MyJMSQueue
    We also use an external load balancer IP, which does not work as expected. At times messages are processed only by one consumer and at times the balancing works properly. This is why we are looking for alternatives.
    Environment is 10.3.6. OSB and J2EE cluster have two managed servers each.
    Thank you
    Edited by: 926252 on Dec 5, 2012 4:24 AM

    Suppose if the source or the endsystem is in maintenance and is not availabel for the whole day.Now a days, it should be really a very rare scenario where a system goes down for an entire day for maintenance. 2-3 hours maintenance window is normal. If in your case, long maintenance windows are normal and frequent then I would suggest to change the design. Instead of polling remote system, let remote system push the files to OSB server (may be on JMS or any other persistent destination) and then even if remote system goes down it won't affect OSB.
    As far enabling and disabling proxy services are concerned, you may handle it through scripts or java API's -
    https://blogs.oracle.com/ateamsoab2b/entry/automatic_disabling_proxy_service_when
    http://orasoa.blogspot.in/2011/05/disable-and-enable-osb-proxy-services.html
    still no other choice?If most of the maintenance windows are scheduled then it is easy to handle the scenario with manual enable/disable of proxy services, but if mostly it is unscheduled then changing the solution design seems better option.
    Regards,
    Anuj

  • 10Gr3 OSB business service is unable enqueue to 11Gweblogic server

    Hi
    we have configured business ervice in 10GR3 OSB to send the message to the queue which is on 11G weblogic server(10.3.1) and always geting the error
    connection not found jms://remotIPaddress:7001/cnf/Qjndiname.
    any help regarding this would be great.
    Thanks,
    Narasimha.

    Hey these are my configuration steps:
    1.Created JMs module and targeted to wlsbJMSServer
    2.Created subdeploymnet
    3..Created CF and attached Subdeployment
    4.Created Queue and attached Subdeployment
    5.Created foreign server
    with these values
    JNDI Initial Context Factory:weblogic.jndi.WLInitialContextFactory
    JNDI Connection URL:t3://remoteIPaddress:7001
    JNDI Properties Credential:weblogic1
    attached the same Subdeployment
    under destinations:
    created foreign destion with my local jndi name(created in step4) and remote jndi name
    created foreign CF with my local CF jndi name(created in step3) and remote CF jndi name
    and in business service endpoint selected the jms transport and uri is
    jms://localhost:7001/jms.localCF/jms.LocalQJNDIname
    this is enquing to my local queue but not to the remote queue.
    pls help me out. its very urgent
    Edited by: user13154768 on Jul 14, 2010 3:43 AM

  • Is it possible to call a Web Application from OSB Business Service

    Hi,
    Is it possible to call a Web Application that has URL - http://host:port/parse.php using a business service in OSB?
    What I have seen is it is able to call the service but the data we are sending that is the string in the form of the URL encoded data is not going there. Any help would be appreciated.
    Regards,
    Anuj

    What I have seen is it is able to call the service but the data we are sending that is the string in the form of the URL encoded data is not going there. Any help would be appreciated.How did you configure your BS. My guess is some thing to do with what your BS is configured and what the Back-end is expecting? HTTP Get Vs HTTP Post
    Manoj

  • OSB - Business Service Import Problem

    Hi,
    When I import my OSB project (from an Oracle Service Bus Configuration .jar) for the first time, it imports my business service perfectly. However, in the second half when the project already exists on the workspace, new tags are added to the xml even though I have not made any changes in the business service.
    Thats my problem:
    First Import:
    <ser:coreEntry isProxy="false" isEnabled="true">
    After Second Import:
    <ser:coreEntry isProxy="false" isEnabled="true" isTracingEnabled="false">
    and a few other tags are added to the file:
    <ser:throttling enabled="false">
    <ser:capacity>0</ser:capacity>
    <ser:maxQueueLength>0</ser:maxQueueLength>
    <ser:timeToLive>0</ser:timeToLive>
    </ser:throttling>
    <tran:delay-interval-configuration isEnabled="false">
    <tran:delay-interval>0</tran:delay-interval>
    </tran:delay-interval-configuration>
    Any help on how to import the project without these new tags in my business service will be very welcome.
    Regards,
    Ricardo Azevedo

    you can influence the amount of info actually imported choosing to override operational settings, environment setting etc (I can't remember by heart and I am too lazy to start my server now and verify)
    Anyway unless this impacts your operations I would not be too worried that some defaults are explicitly stated in the xml. Surely if you import in Production a BS with "message tracing" on, this can affect seriously your performance.

  • OSB business service on jdev 11g generated db adapter

    Is it still possible to generate the db-adapter in jdev and import the resources in osb and create a business service with jca transport based on this wsdl?
    the documentation is only describing how to it should work based on a 10.1.3 generated db adapter.
    In the 11g the resources of the db-adapter are different (external jca property file etc).
    So..whats the way to go for this when using the 11g stack ?

    So..whats the way to go for this when using the 11g stack ?Current version of OSB (OSB 10.3.1) does not support 11g adapter stack. The next release of OSB will support 11g Adapters.
    Manoj

  • How to get specific OSB business service HTTP endpoint failover?

    I am trying to get the following behavior in an HTTP Business Service in OSB, and I'm not finding the answer (if it exists) in the docs.
    I have two backend endpoints, "production" and "backup." I want all request to go to the "production" endpoint unless it becomes unavailable. At which time all requests should go to the backup endpoint - without manual intervention. Automatic failback would be nice but not absolutely necessary. This is what the service provider is recommending for their operational concerns.
    Is there some way to accomplish this?
    The backup is available at most times, so we can't use round-robin load balancing to get this behavior.
    Is this what having a load balancing algorithm of "none" accomplishes? The docs state the order in this case is significant, but not why?
    Random-weighted does not work, as it does not allow a zero weight, which means some requests (even if small in proportion) may go to that backup even if the primary is available.

    I'm now seeing this in real operation, and I'm seeing something that puzzles me based on the discussion above, and also a behavior I'd like to change if I can.....
    First, the puzzlement - of about 6700 invocations over the space of a few hours, I see in the console 9 errors in the primary as configured above, and 9 messages handled successfully by the secondary. So, since the messages are coming on a fairly regular basis (a few per minute, spread over 3 OSB instances), and I have a 10 min retry interval, I would have expected to see a lot more messages handled by the secondary endpoint while OSB instance was waiting 10 min to retry the primary. What's going on here? Does this class of "failure" not take an endpoint "offline?"
    Second, behavior I want to change: the errors are apparently intermittent SSL HANDSHAKE_FAILUREs reported by the backend. Is there anyway to get the primary retried first, since we only want traffic to go to the backup if the primary is really offline?
    /Steve Elkind
    ####<Dec 22, 2009 10:45:14 PM EST> <Warning> <Security> <njxymh0099> <SS_ESB_mgd2> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1261539914730> <BEA-090497> <HANDSHAKE_FAILURE alert received from fobar-web02.inex.com - 207.235.231.231. Check both sides of the SSL configuration for mismatches in supported ciphers, supported protocol versions, trusted CAs, and hostname verification settings.>

  • How to set username/password in OSB Business Service

    Hi
    I need to call thirt party http service that utilizes Http Basic authentication i.e. username / password. If I call the same service through Oracle SOA I can either
    put the username/password inside composite.xml but that way the password is visible. So have set the usrname/password insid the console.
    Now want to use OSB to call the sam service. Created business service but where do I add the username/password. Is there a plac inside sbconsole I can set the username password.
    Thanks

    You must a "Service Account" available in OSB and assosciate it with the Business service you invoke.

  • OSB Business Service Scripted Automation Testing

    Hi,
    The dilemma I am facing is to create some sort of automated process of testing of Business Services created in OSB, perhaps via ANT and Phyton, to be used as verification after deployments by deployment team. I am trying to have the scripted process to run certain request payloads from specified location against business services and compare the results with expected responses stored in some directory and report the health of the business services, based on this comparison.
    I appreciate any help in advance.

    Thank you so much for your response Pierluigi, but one other dilemma I have is not to install any application on any of the domain and achieve this through some sort of perhaps ANT and/or Phyton script, since I am not allowed to install any thing on production servers.
    Thanks,
    Mani

Maybe you are looking for

  • Open sales order in VA05

    hi experts, i want to show in VA05 only pending Sales order ! when i m using Open sales order radio butten in VA05 it is showing also comlete sales order. can its possible if yes then How? Anu

  • How to change the color of specific row in ALV tree

    Hi, I m using method set_table_for_first_display of a class CL_GUI_ALV_TREE. The req is to change the color of specific row. Now can anybody tell me how to change the color of ALV tree. As in ALV tree and in this method 'set_table_for_first_display',

  • How can I create scripts from DBA studio??

    I just created about a bunch of tables, F&P keys, synonyms, etc using DBA studio. Now I'd like to extract that dictionary data to create scripts that I can run in the future to recreate the environment in production. How can I do this? THanks, Chris

  • NOKIA Lumia 625 display resolution problem

    My phone Nokia Lumia 625, with Windows 8.1, is changing it's resolution from normal. Therefore on my display appear icons and everything bigger. No possiblity to answe the phone and see who is calling, because of large image. All the apps working ok.

  • Error in co08 transaction

    Hi           When I try to create a production order from a sales order it is throwing a warning message " You cannot make an assignment to make-to-order stock" .How to clear this error Regards, PradeepM.