OSB Business service not returning error payload

Hello,
I have some RESTful services in the OSB 10.3. On an HTTP error, the business service reads the error code (for example http error code 500) and it returns it to the proxy service. But the message of the error seems not to be read at all. How can I do that?
Thanks!

I don't get any error message. I'l rephrase:
I work with REST (Any XML service). My BusinessService calls an external RESTful webservice, and this external webservice returns an HTTP packet like this (more or less):
PACKET BEGIN:
HTTP/1.1 500 Internal Server Error
Date: Wed, 29 Sep 2010 13:37:50 GMT
Content-Length: 0
Content-Type: text/xml; charset=UTF-8
<?xml version="1.0" encoding="UTF-8"?><Error><Message>There was a blablabla error on our side. Sorry.</Message></Error>
PACKET END.
I am able to propagate such an HTTP error code by using an insert in the ErrorHandler, but I am not able to propagate the XML message that is being returned to me. It is not found anywhere, I checked all he variables $body, $fault, etc.
Does the OSB BusinessService read this payload at all or should I implement a custom callout procedure because of this?
Edited by: user4507278 on Sep 30, 2010 5:35 AM

Similar Messages

  • OSB Business Service not found

    Hello,
    I'm creating a business service with sbconsole. The enpoint uri is http://localhost:7001/SalesOrders/Order.
    I activate the changes with the change control activate button.
    I'm checking with IE the link and I am getting Error 404--Not Found.
    What am I missing?

    Hi,
    Can you try opening this in your browser http://localhost:7001/SalesOrders/Order?wsdl
    I have an wsdl, and I used it to create a business service
    Are you able to run your Business Service successfully.
    I used the business service to create a proxy service. When I invoke the proxy service, I'm getting BEA-380002 error code, reason Not Found. The routing node of the proxy service can not find the proxy service.
    In your proxy service,under route node please cross check that you are calling the Business Service you created only ?? Or some other service.
    Regards,
    Karan
    Oracle Fusion Middleware Blog

  • OSB  Business service not getting created

    Dear team,
    We created a db adaptor which invokes a DB procedure with  input paramter as tabletype .
    Db procedure and tabletype are in same schema .
    We are trying a generate a Business service based on jca file. We are getting error
    "Error while retrieving information from JCA file".
    Can you please suggest

    1. What instrument did you use for creating Business Service?
    2. How did you create the Business Service step by step?
    3. Can you please attach JCA, WSDL, XSD for Db procedure?

  • OSB 11g: Business Service not getting reply back from distributed queue

    Here is the scenario:
    OSB Domain A has a Business service that does a JMS send to a distributed JMS queue hosted on another WLS domain.
    It expects a response from a distributed queue sitting on this same remote WLS domain.
    The remote WLS domain is configured as a Foreign JNDI Provider in the OSB Domain with the request and response queues defined. Testing this business service, we see that messages are being posted to the remote request queue fine, and that the message are being picked up and processed. The response was sent to the response queue, but the message just sits there, the OSB business service did not pick it up. I can see 16 active Consumers on the response queue, presumably from the OSB business service?
    Using CorrelationID.
    URI for request/response queues are using the locally defined JNDI name for the queues and connection factories from the Foreign JNDI Provider definition:
    - URI for request queue: jms:///[RemoteXAConnectionFactoryX]/[LocalJNDINameForRequestQueue]
    - URI for response queue: jms:///[RemoteXAConnectionFactoryX]/[LocalJNDINameForResponseQueue]
    Completely stumped at the moment...anybody has any ideas?
    Thanks,
    Melvin

    Hi,
    I am also facing the similar kind of issue as below. After placing the message in to request Queue, I need that message Id as response to that Business service. Please provide the solution for the below issue. Thanks in advance.
    Thanks,
    bharath.

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

  • 503 Service not available error while testing web service in SOAMANAGER

    Hi guys,
    We have created a web service in ABAP and want to test it in soamanager.
    When trying to test it using the    "Open Web Service navigator for selected binding" link in web service administration page    we get the error page--
    503 Service not available
    Error: -6
    Version: 7000
    Component: J2EE Server
    Date/Time: Thu Jul 30 10:40:50 2009 
    Module: http_j2ee.c
    Line: 820
    Server: cmphr_HRC_10
    Error Tag:
    Detail: Cannot reach external Application Server on localhost:51000
    we have enabled the wsdl service in SICF and also the APP SOA MANAGER service.
    Can anyone please help.
    Thanks in advance.
    Regards
    Prince

    Hi,
    Detail: Cannot reach external Application Server on localhost:51000
    51000 is the port when the j2ee engine runs. As you dont have java stack am afraid this would not work.
    Regards,
    Vamshi.

  • Cron service not available error

    A production issue appeared today at one of our customer
    sites.... and I am unable to login to CFadmin. I stop and restart
    the services, but still the same issue appears. See below.
    Anyone have any thoughts? Ideas? Has anyone ever seen this
    before??
    Error Occurred While Processing Request
    The Cron service is not available.
    This exception is usually caused by service startup failure.
    Please check your server configuration.
    The error occurred in Application.cfm: line 78
    -1 : Unable to display error's location in a CFML template.
    Please try the following:
    Check the ColdFusion documentation to verify that you are
    using the correct syntax.
    Search the Knowledge Base to find a solution to your problem.
    Browser Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2;
    SV1; .NET CLR 1.1.4322)
    Remote Address 127.0.0.1
    Referrer
    Date/Time 25-Apr-06 12:57 PM
    Stack Trace (click to expand)
    at
    cfApplication2ecfm105811000.runPage(C:\blackstone_final\cfusion\wwwroot\CFIDE\administrat or\Application.cfm:78)
    coldfusion.server.ServiceFactory$ServiceNotAvailableException:
    The Cron service is not available.
    at
    coldfusion.server.ServiceFactory.getCronService(ServiceFactory.java:118)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
    Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
    Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at
    coldfusion.runtime.java.JavaProxy.invoke(JavaProxy.java:74)
    at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1627)
    at
    cfApplication2ecfm105811000.runPage(C:\blackstone_final\cfusion\wwwroot\CFIDE\administrat or\Application.cfm:78)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152)
    at
    coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:343)
    at
    coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
    at
    coldfusion.filter.CfincludeFilter.include(CfincludeFilter.java:33)
    at
    coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:157)
    at
    coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:51)
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
    at
    coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:50)
    at
    coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:52)
    at
    coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:2 8)
    at
    coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at
    coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at
    coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at coldfusion.CfmServlet.service(CfmServlet.java:105)
    at
    coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:78)
    at
    jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
    at
    jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at
    jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:257)
    at
    jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:527)
    at
    jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:204)
    at
    jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:349)
    at
    jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:457)
    at
    jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:295)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

    I'm receiving the exact same error as the original post. We tried every suggestion on this forum and still get the 'cron service not available' error. I've also checked and we don't have a neo-cron.xml file. We are using Coldfusion 8.
    The Cron service is not available.
    This exception is usually caused by service startup failure. Check your server configuration.
    The error occurred in Application.cfm: line 84
    Called from Application.cfm: line 4
    Called from Application.cfm: line 1
    -1: Unable to display error's location in a CFML template.
    Any help will be appreciated. Thanks.
    Crystal

  • 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 is not timing out on Connection/Read timeout

    I have a weird problem with my business service in OSB. I have set the read timeout value as 1 sec and Connection timeout value as 1 sec. The response from backend is taking more than 2 seconds or even 3 seconds but still my business service is not timing out..! My service is still listening to the response from backend even if it comes after 3 seconds. I expect it to timeout after 2 seconds. Any ideas?
    Business Service Configurations:
    Service Type: Any type
    Protocol: http
    Retry count : 0
    Retry Application Errors: No
    Read Timeout: 0
    Connection Timeout: 0
    HTTP Request Method: POST
    Result Caching: No
    Let me know if you need any more information. Thanks in Advance.
    Regards
    Kaleem

    AbhishekJ wrote:
    Maximum possible successful response time of the service will be less than Read TO + Connection TO.
    Alas, this is not true.
    Maximum possible response time is infinity.
    There are two reasons for that.
    1. Read timeout is not counted as time from the successful connection establishing to the current moment. It is measured as time from the last received byte to now. Imagine a backend service that sends a single byte in a data packet every 500ms. Despite you have read timeout set to 1, the receiving of 3K message will take 25 minutes, and yet your Biz service will not timeout.
    2. In HTTPS, handshake is handled by a separate library which has its own quirks. Specifically, if the key exchange is broken at particular point of handshake, the library re-establishes the connection and does it few times; in my experiements, the largest I could delay the eventual fault was about 3 minutes.
    Having said that, in the OP message the configuration is Read=0, Connect=0, so I wonder why the timeout is expected.

  • Service Account details are not going through header(OSB Business service)

    Hi
    I have an issue with service account. Assume I have a proxy service A, Business Service B, Proxy service C.
    A invokes B and B invokes C (A --> B --> C). All calls are through http protocol.
    I created a service account with userid and password details and attached it to the Business service B(Static for basic authentication).
    Added log activity in proxy service C for context variable $header to verify whether userid and password are coming through request header or not.
    I executed proxy service A from sbconsole but I couldn't see userid and password details of created service account in the logs. Only nemespace are logged in the file.
    <soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"></soap:Header>>
    Can someone please help me why service account details are not going through business service request. Am I missing any steps?
    Thanks in advance
    KK
    Edited by: 966531 on Oct 23, 2012 4:23 AM

    Basic authentication information is stored under transport headers (check $inbound) whereas $header is populated for message headers (for e.g. - SOAP headers), so you should be checking $inbound instead of $header
    Regards,
    Anuj

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

Maybe you are looking for