OSB 10.3: proxy based on business service

Hello there,
the functionality to build a proxy based on a business service with Workshop10.3 seems to have "dissapeared" from ALSB 10 to OSB 10.3
Is it a bug or feature? (Or is it one of the "things will be different at Oracle now.")
As far as I can see it is nowhere documented.
thanks,
Barossa

This is still not documented and very confusing since the old docs are distributed with the downloads of the current OSB AND the "Definitive Guide to OSB" by Davies also tells you to do it with the Wizard. ;-)
Please document! But for this posting I would still be dazed and confused!!

Similar Messages

  • SOAP proxy for RESTful business service

    Hi,
    I have a requirement to consume a 3rd-party RESTful web service from within WebLogic Integration 9.2.3.
    My organisation also has an OSB 10.3 installation which is lucky since WLI 9.2.3 does not readily support RESTful service consumption.
    My plan is therefore to proxy the RESTful service via the OSB with a SOAP proxy service and consume the proxy from WLI.
    Can anyone provide guidance on how I might go about this?
    Cheers,
    Rob

    I want to give it a try :)
    1. Create a business service with the 3rd-party RESTful web service WSDL and point it to the URL where it is currently deployed/hosted.
    2. Create a Proxy Service to invoke the 3rd-party RESTful web service via the business service. (I think you will need to define a simple WSDL to be able to use this service from WLI)
    3. Then import the ProxyService WSDL in WLI and invoke the same via the WebServiceControl.
    I hope this works out well for you.
    Thanks,
    Patrick.

  • OSB: When does invokation from http Business Service result into an error

    Hi,
    I want to know when does invokation from http Business Service in OSB result into an error.
    I have a http based business service which is calling an external service on http url.
    I want to know when this business service is invoke/tested, what are the cases in which the invokation will result into an error.
    What does OSB read to cause the invokation an error.
    I am aware that it reads the http-response-code. If its not 200 or 0, it will result into an error.
    Want to validate this understanding and also want to know what are the other case that will cause this happen. Is it by any way dependent on body content?
    Please help. Please share any good links for the topics related to this.
    TIA.
    Regards,
    Ashish

    Hi,
    Some info here...
    http://svgonugu.wordpress.com/2011/06/15/fault-handling-in-osb/
    Cheers,
    Vlad

  • Osb 11 : How to configure tuxedo business services in a clustered domain.

    Hi,
    We have a platform with a clustered domain Osb ( 1 admin server and 2 managed servers dispatch on several physical servers) and two Tuxedo instances offering the same service exported in 2 different gateways on each Tuxedo instance.
    How to configure a business service with tuxedo transport working on this platform with failover and load balancing ?

    Thanks for the answer but it doesn't work.
    The fact is that we work on OSB 11, not directly in WebLogic.
    And Osb always modify the WTC configuration even if we modify it before in weblogic.
    To define a business service with multiple remote access points and apply a load balancing algorythm, Osb need an URI for each remote access point (not for each imported service).

  • OSB: Checking content type of a Business Service response

    Hi,
    I have a Proxy Service <-> Business Service configured as a pass-through only. (including http headers)
    The situation is: Sometimes, the service which my BS access send a fault response as a HTML instead of a fault soap envelop or something related with the provided xsd.
    My PS receives this and send back to the caller, but my customer needs a fault message. The service provider will not modify this behavior, so i need a way to check the content of the response to see if it's is an html and raise an exception.
    It's possible to do this ?

    Wow.
    First of all, ty for your really fast reply.
    Seconde: A valid fault response message is something like this:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="my.foo.namespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/" >
    <soapenv:Body>
    <soapenv:Fault>
    <faultcode>soapenv:Server</faultcode>
    <faultstring>Unknown processing error.</faultstring>
    <detail>
    <ImsException version="6.0" >
    <exception>
    <name>exception.NotAuthorizedException</name>
    <code>700</code>
    <description>
    <![CDATA[Foo is not authorized to perform task.]]></description>
    </exception>
    </ImsException>
    </detail>
    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>
    I need to validate the <detail> tag agains my xsd. To do this, how to build the xquery to select this tag ? I need to apply some function on the content to transform the detail string into a structured xml ? It's something like:
    soapenv:Envelope/soapenv:Body/soapenv:Fault/detail
    If you have some links with examples i will appreciate.
    Ty for your help.
    Edited by: GSanches on 10/06/2010 06:27

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

  • Soap proxy to jms business service response not available.

    Hi
    Please can anyone help me with this really urgent, help is greatly appreciated.
    We have one Proxy Service which takes in SOAP Request, and I have a route node in it which calls the biz service.
    Business service is a Messaging service built using jms queue and response URI is configured with jms out queue.
    If I run business service standalone it gets the message and response comes to out queue.
    if I run it through proxy service which routes to biz service, the message goes to biz service, and response goes to out queue, but I do not get response in http proxy.
    Please can someone help.
    thanks
    K.

    Basically the logic to consume msg requires full SOAP message as text, now when I use BS as Messaging Service it works fine because in test I put the full soap message as text. If I run it through Proxy it strips the header and sends only Body or if I base both my BS and PS using WSDL, then it attaches full soap message in multiple soap header and that causes the problem, so I have to remove extra header from message to have it processed correctly.
    this is my actual request:
    <SOAP-ENV:Envelope      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    the trace shows that request to BS is:
    <soapenv:Body      xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Envelope      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
    /SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    </soapenv:Body>
    so my message consumer has problem with extra soapenv:Body wrapper... any ideas will help.
    thanks
    K.

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

  • OSB: Calling MTOM business service from non-MTOM proxy

    Hi,
    it is very easy to call non-MTOM business service from MTOM enabled proxy service, but I don't know how to do it in an opposite way. I have web service proxy (http) with binary data in Base64 in a soap body element and I'd like to call a business service (web service over http again) using MTOM format to send binary data in binary format (and not in Base64 as it is in proxy). Is it possible to somehow decode binary data from Base64 in a proxy service and send them from this proxy to a business service using MTOM?

    I understand the flow you propose, but I don't know how to pass decoded data from Java callout back to message flow. As far as I know I can only return primitives, String and XmlObject, because anything else can't be processed in message flow.Yes you are correct.But you can also return DataSource in java callout. Please http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/pojo.html
    Now the working solution/POC --Tested on my local linux box
    package manoj.javacallout.binary;
    import java.io.BufferedReader;
    import java.io.ByteArrayOutputStream;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import javax.activation.DataSource;
    import javax.mail.util.ByteArrayDataSource;
    import com.sun.org.apache.xml.internal.security.utils.Base64;
    * TODO: I have use sun internal API for decoding for simplicity. You should modify this code with any base64 decoding library
    * Ideally should be using using http://commons.apache.org/downloads/download_codec.cgi
    * @author mneelapu
    public class Util {
         public static DataSource decodeBase64(DataSource ds) throws Exception {
         InputStream in=ds.getInputStream();
         BufferedReader bin = new BufferedReader(new InputStreamReader(in));
         byte[] decodedB64=Base64.decode(bin);
         ByteArrayDataSource decodedDS= new ByteArrayDataSource(decodedB64,"binary/octet-stream");
         return(decodedDS);
    Java Callout to decodeBase64
    Parameters
    javax.activation.DataSource=[ $body/* ]
    Result
    javax.activation.DataSource=response
    Now replace the $body with the decoded base64 response from java callout
    Replace [ node contents ] of [  undefined XPath  ]
    in [ body ] with [ $response ]
    Use $BEA_HOME/modules/javax.mail_1.4.jar for compiling.
    Let me know if this solves your problem.
    Thanks
    Manoj
    Edited by: mneelapu on Apr 20, 2009 3:23 PM

  • Is Response Required in Proxy Service and Business Service

    Hi All,
    I have made proxy service that is putting message on the Queue through a Business Service. Now I wanted to know what is the use of "Is Response Required" configuration parameter in Business as well Proxy Service. Also what is the significance of the JMSCorrelationID and JMSMessageID.
    Thanks,
    Anuj

    Hi Anuj,
    You can refer to the documentation for the information on "Is Response Required" in
    Proxy Service @ http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/interopjms/transport.html#wp1096236
    Business Service @ http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/interopjms/transport.html#wp1097863
    And for the significance of JMSCorrelationID and JMSMessageID please refer to link @ http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/interopjms/MsgIDPatternforJMS.html
    Please do reach out to me in case you need specific information.
    Thanks,
    Patrick

  • Custom hostname verifier not used when business services use a http proxy

    On OSB 10.3, we have a business services with an https end point. To access this end point, the business service used an http proxy.
    The certificate of the business endpoint is a wildcard certificate *.certificate.be . So we have a custom hostname verifier defined in the ssl configuration on the weblogic Server
    As we can see with the verbose mode at the jvm, the custom hostname verifier is not used when we use a http proxy in the business service. Osb use a ALSBHostnameVerifier and this one the defaulthostName
    <Mar 2, 2011 7:31:11 AM CET> <Debug> <AlsbTransports> <BEA-000000> <*** Connecting via proxy *** HTTP @ my.proxy.be/XXX.XXX.XXX.XXX:8080>
    [Loaded com.bea.wli.sb.transports.http.ALSBHostnameVerifier from file:/bea/osb_10.3/lib/sb-transports-main.jar]
    [Loaded weblogic.security.utils.SSLWLSHostnameVerifier$DefaultHostnameVerifier from file:/bea/wlserver_10.3/server/lib/weblogic.jar]
    Is there any way to force business service to used hostname verfifier defined in weblogic ssl server config?
    Thanks

    This is a known issue. Raise a case with support and ask a patch for bug#9182604
    Regards,
    Anuj

  • 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 - Response timer when business service call external webservice slowly.

    I am a new bie about OSB, i am developing and testing business service OSB call external webservice. When i test by business service on osb console then time response is 10s, but when i program by C# call external webservice then time response is 0,000026s.
    pls help me.

    I am a new bie about OSB, i am developing and testing business service OSB call external webservice. When i test by business service on osb console then time response is 10s, but when i program by C# call external webservice then time response is 0,000026s.
    pls help me.

  • OSB: Retrieve non XML Payload from a service that returns status code 500

    Hello,
    I'm using OSB 11g.
    I have a Business Service that invokes a REST based service (AnyXML). The service I'm calling may return a 500 status code and some JSON-encoded information in the response body containing the remote service error information.
    From a Proxy Service, I invoke the Biz Service using a standard Service Call Out. The Call Out works fine if the service doesn't return any error (status code 200).
    The problem starts when the service returns a 500 status error: it seems that there is no way to to get hold of the error information (string) that are in the response body. The $fault variable contains some info, but not the actual payload.
    I have also tried to "resume" the flow (using a resume action) but no luck.
    Is there a way to retrieve a NON-XML payload of a service even if the service returns a 500 status code?
    Thanks
    Luciano

    Hi,
    I have same problem, any idea?
    I created several Proxy Services between SOA (BPEL) and JDE. Proxy Service works correct, but if interface response has an error (fault) from JDE side, we get high level error message from OSB and we lost error information from endpoints. I want to get following error information from response body, which containing the remote service error information.
    e.g. <SOAP-ENV:Fault>:
    <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
    <faultcode>SOAP-ENV:Client</faultcode>
    <faultstring>[ISS.0088.9134] Exception occurred while processing the body of the message</faultstring>
    <faultactor>http://HOST/soap/default</faultactor>
    <detail xmlns:webM="http://www.webMethods.com/2001/10/soap/encoding">
    <webM:exception> </webM:exception>
    </detail>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Until now, I solved errorhandling for Proxy Service with single route node, but if I use Proxy Service for “Failover” and OSB connect to Endpoint 2, BPEL-instances with "fault" state get OSB error message and WSG-Response will be lost from $body of messages.--> error-propagation to client is NOT OK.
    Regards,
    Moh

  • RR business service on ALSB

    Hello,
    I created a business service on ALSB.
    It is defined as a JMS service that uses MQSeries queues for request-response interaction with the mainframe with as response correlation pattern "JMSMessageID".
    It works fine as long as the mainframe produces its responses within the specified response timeout.
    When the mainframe puts a response on the response queue after the time-out has expired, the message stays on the response queue forever, as the ALSB reads it, and performs a rollback, with as message like:
    <Warning> <WliSbTransports> <PC51460> <AdminServer> <[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0041427CE96A1767ADA0> <> <1216200008067> <BEA-381542> <JmsAsyncResponseMDB.onMessage() received a message with an unknown message Id ID:414d51204d51534e545455202020202017d76f48200e0918; marking TX for rollback...>
    How to handle this time-out problem?
    Thanks,
    Ronny

    Hi Ronny,
    we have the same problem you described.
    We are using OSB 10.3.1 and we implemented the same pattern request-respond RR.
    We are exposing a third-party system in a service oriented manner as web services.
    Those web services are proxy services that route to a common local proxy named CommonService.
    The CommonService proxy uses a business service CommonJmsRR that publishes into a JMS queue (named IN) the request and waits for the answer listening from another JMS queue (named OUT). On that business service we defined 'Is Response Required: ENABLED', 'Response Timeout: 60 secs' and we use JMSCorrelationID as Response Correlation Pattern.
    On WLS we defined the IN/OUT queues with a given 'time to live' threshold, so after the time-out has expired, the message will stay on the response queue for the time defined in the ‘time to live’ setting.
    On log file we see many many occurrences of this error even within the same sec:
    <BEA-381542> <JmsAsyncResponseMDB.onMessage() received a message with an unknown message Id 60f4746300000131647c888700000779; marking TX for rollback...>
    Did you solve this time-out problem?
    Thanks in advance
    ferp

Maybe you are looking for