OSB callout libraries

We are using API from REST/JAXB libraries in our Java callout code.
Are there options other than the following
Putting in server's classpath or $Domain_DIr\lib
We have a callout jar that we wanted to add classes from the libraries and re-package
The first option would not be feasible as many applications share the server and there could be version conflicts and maintainance issues.
Second option is cumbersome even when done through a build tool like ANT.  Plus it could pull out all the static methods and there would 
        a clutter of callout static methods along with the zillion libraries static methods.
Any help would be appreciated.
Thanks.

Hello,
the developers guide for OSB  “24.3 Best Practices for Java Callouts and POJOs” recommends to use the system class path to manage large/complicated jars  with all dependent jars. When the callout is small and simple it can be packaged as resource in the osb project.
Regards
Markus

Similar Messages

  • How to Create a connection pool in OSB java callout

    Dear Team,
    In our project, we need read some data from DB, and do corresponding operation. currently, we need setup the connection first, execute the SQL, and close the connection.
    But the concurrency of call is very high, is there a way to create a connection pool, then we can use the connection pool to get the connection and execute the SQL, then return the connection to the pool.
    if connection pool is not available, is there any way to create the connection outside the java callout, that we can just execute the SQL in java callout.
    The OSB version is 11.1.1.6.0
    Thanks.
    Best Regards,
    Raysen Jia
    Edited by: Raysen Jia on Oct 16, 2012 8:44 AM

    Hi Team,
    Thanks for your help.
    What I need is not only the db connection, may be other kind of things, such as read configuration from file...
    If I write the code in java callout with static java method to create and close the connection, each time when request come in, OSB will create a new connection (or read the file), I think it's not the best practice to do this kind of work.
    I think the weblogic is running in JVM, is there any way we can define variables or new object in the JVM directly?

  • How to Handle Multiple Thread in JAVA Callout with OSB 11g

    Hi Team,
    With My OSB 11g, I want create a static Thread when Java callout.
    Java code as below.
         private static Thread thread;
    static {
              * lazy load thread and with thread-safe ensure
              if(thread == null){
                   synchronized (HornetQConnectionHelper.class) {
                        thread = new ConnectionRecoveryThread();
                        // Daemon thread, JVM level, Won't be interrupted, Safe!
                        thread.setDaemon(true);
                        thread.start();
    When this class was first called in OSB, the thread start run. while when I redeploy it, the old Thread is still running, if call the class again, it will create a new Thread. The two threads will run at the same time.
    Any body know how do configure it, so that there is only one static Thread in the Weblogic JVM.
    Thanks.
    Best Regards,
    Raysen Jia

    Hi Raysen Jia,
    Create a weblogic startup class... See the references bellow...
    Hope this is helpful...
    http://jagadesh4java.blogspot.com.au/2010/05/working-with-weblogic-startup-shutdown.html
    http://docs.oracle.com/cd/E23943_01/upgrade.1111/e10126/basic_upgrade.htm#FUPAS464
    Cheers,
    Vlad

  • OSB - Problem using the Service Callout control in a proxy service

    Greetings,
    Using a Service Callout control in a proxy service requires to check one of the following two options: Configure SOAP Body or Configure Payload Document. Both require to write SOAP code and to assign it to variables that will be used in the Service Callout control. I found quite inconsistent to have to write SOAP code in order to use a tool which is supoposed to avoid writing Java code. In this case I largely prefer to write Java code and doing things manually. Is there any other way to use this control ?
    Many thanks in advance,
    Nicolas

    I'll try to explain again, however it seems very clear. I'm using a Service Callout control in order to call a JAX-WS web service. This web service is using a "document" style, of course. Consequently, all its operations (messages) are document-centric and they have only one parameter: the document. In order to use tha Service Callout control, one has to construct the <siap:body> element, to assign it to a variable and to provide the name of this variable in the Request Body test field of the Service Callout Properties dialog. Accortdingly, one needs to assign something like:
    <soap:Body xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <osb:myOperation xmlns:osb="http://www.simplex_software/fr/">
    <osb: .../>
    <osb:myOperation>
    </soap>
    Now, for those who have understood what I'm talking about, here come the question ? Is that the only way to use the Service Callout control ? If yes, this control is useless. If no, what is the other way to use the control in the given context while avoiding providing a <sopa:body> written manually ?

  • Including library dependency for Java Callout in OSB Proxy

    Hi,
    I have a simple question for which a simple answer is eluding me:
    I have developed a simple Java Callout for us in a proxy message flow and that Java class has a dependency on the Commons IO library but for the life of me I can see how I can ensure the proxy is deployed with the library in the classpath because when I perform a simple publish and test the service I get the exception:
    <8/06/2009 10:22:27 AM NZST> <Error> <OSB Transform> <BEA-382515> <Callout to java method "public static void com.oracle.mtm.tools.Archiver.archive(byte[],java.lang.String)" resulted in exception: null
    java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at etc...
    java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils
         at etc...
    i.e. the Commons IO (e.g. org/apache/commons/io/FileUtils) is not in the classpath.
    There must be a simple way of declaring this dependency or something and have the library loaded but I can't find it.
    Any help much appreciated!

    Well I managed to answer my own question in the end. It's simply a matter of selecting jar dependencies from other jars which can be done by double clicking ("opening") the jar within the OSB Conf project which opens a jar dependencies dialogue box. As expected it's easy when you know how...

  • How to do service callout with the incoming JMS message in OSB 11g

    Hello All,
    I have a specific requirement for which I am creating a kind of POC where I need some help in OSB, however am new to OSB.
    My Environment:
    1> I have a request queue (deployed on a WLS domain) - WFReq_WS
    2> I have a response queue (deployed on a WLS domain) - WFRes_WS
    3> I have created a ProxyService (request/response type) in OSB 11g which is simply mapping the incoming message in WFReq_WS to WFRes_WS
    4> I have a WebService (it is currently a simple hello WebService for testing) which takes a string and returns the same string with an added 'Hi' in front of it (e.g. If you send Jack, it will return 'Hi Jack')
    My Requirement:
    1> I have to do some mechanism in OSB, by which while mapping the message from WFReq_WS to WFRes_WS (through the proxy service I have), it will pick the JMS message (which will be a string/text) and will make a service callout to the Webservice I mentioned using the message as the input parameter of the WebService.
    2>Now when the response of the WebService will come, OSB should send this response as the message in the response queue (WFRes_WS) I mentioned above.
    To simplify the requirement using an example:
    A> I will send a text/String message (say Jack) to the request queue (WFReq_WS)
    B> OSB should pick the message (Jack) and make a service callout to the webservice
    C> webservice will return 'Hi Jack'
    D> OSB should send this to the response queue (WFRes_WS)
    I know the above might look very basic question to the PROs, but please elaborate (step by step) what need to be done, since I do not know OSB.
    Thanks a lot for your help !

    Your example points A and D are easily done by having a "Proxy Service" which has the following details:
    Service Type = Messaging Service
    Request and Response type = Text
    Protocol = jms
    Endpoint URI = your request queue (format like 'jms://localhost:7013/weblogic.jms.XAConnectionFactory/QueueJNDIName')
    Checkmark "response" so that the proxy service automatically delivers the response to another queue - your response queue
    Response URI = jms://localhost:7013/weblogic.jms.XAConnectionFactory/QueueResponse
    Now since your "Hello" webservice is (probably) a SOAP xml service you need to "convert" your text based JMS message to xml before sending it on to the "Hello" service.
    Your JMS proxy can do that by just doing a "Assign <whom>{$body/text()}</whom>" to a variable (lets call it 'reqHello')
    Now your JMS proxy should actually call the Hello service and since your JMS proxy is text and the Hello service is SOAP you cannot just "pass" on to the Hello service in a "Route to". Instead you can do a Service Callout where you can specify your "reqHello" variable as payload and a "respHello" as response variable.
    Now you have the "<whom>Hi jack</whom>" in the response variable and since the JMS response needs to be text format you can "extract" the text value into the body variable of the JMS proxy (use "replace /* in body with $respHello/text()" - replace node contents)
    The actual Hello service is a simple "SOAP" based Proxy Service. Add a pipeline and add a stage in the reponse pipeline. Do a ...
    Assign fn:concat("Hi ",$body/whom/text()) to $whomVar
    Replace whom in body with $whomVar (replace node contents)

  • Java Callout with Collections in OSB

    I need return a collection (List) in Java Callout Action, i recive only this content in any variable:
    <con:java-content ref="jcid:15906698:135e486b745:-7f91" xmlns:con="http://www.bea.com/wli/sb/context"/>
    how i do for read or convert to list in OSB message flow ?
    my escenary is, excecute un method in java callout, this method recive a colection and return a collection. i cant view estructur in message flow. only view <con:java-content.....
    can any help me?
    I need your help.
    Regards
    [email protected]

    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/eclipsehelp/ui_ref.html#sj_uiSplitJoinJavaCalloutProperties
    try returning an Array, it seems more supported than a List :o)

  • OSB gives confusing volume information when moving tapes between libraries

    Hi,
    We have an SL500 tape library as our main backup device. We also added an SL24 to the OSB domain for testing prior to installation elsewhere. We have an RMAN-FULL-MF media family, which at some point in the past had unexpired media in both libraries.
    As part of the process of decommissioning the SL24 prior to shipment, I unloaded the volumes from the SL24 and imported them into the SL500. However, I may not have run the necessary OSB commands, such that OSB has up-to-date information as to where the physical media is located.
    Our DBA has tried to delete some old database backups, and this has failed because the backup pieces cannot be found. However, we have a volume in the SL500, RMAN-FULL-MF-000007 which appear to contains the backup pieces (see 'lspiece' output below), but OSB thinks the volume is still in the SL24.
    When I do an inventory of the SL500 I get:
    lsvol -L SL500
    Inventory of library SL500:
    in 1: volume OSB-CATALOG-MF-000085, barcode 000001, 408693760 kb remaining, expires 2008/10/02.07:01
    in 2: volume CLIENTS-INCR-MF-000042, barcode 000000, 405070848 kb remaining, expires 2008/10/14.03:01
    in 3: unlabeled, barcode 000002
    in 4: volume RMAN-ARCH-MF-000006, barcode 000003, 387257344 kb remaining, content manages reuse
    in 5: volume RMAN-ARCH-MF-000003, barcode 000004, 358014976 kb remaining, content manages reuse
    in 6: volume RMAN-FULL-MF-000005, barcode 000005, 353155072 kb remaining, content manages reuse
    in 7: volume OSB-CATALOG-MF-000087, barcode 000006, 408693760 kb remaining, expires 2008/10/04.07:01
    in 8: volume RMAN-FULL-MF-000006, barcode 000007, 361881600 kb remaining, content manages reuse
    in 9: volume CLIENTS-INCR-MF-000044, barcode 000010, 407601152 kb remaining, expires 2008/10/20.02:02
    in 10: volume OSB-CATALOG-MF-000084, barcode 000011, 408794112 kb remaining, expired
    in 11: volume CLIENTS-INCR-MF-000039, barcode 000012, 406033408 kb remaining, expires 2008/10/10.03:02
    in 12: volume CLIENTS-INCR-MF-000036, barcode 000013, 405890048 kb remaining, expires 2008/10/03.03:02
    in 13: volume OSB-CATALOG-MF-000086, barcode 000014, 408708096 kb remaining, expires 2008/10/03.07:02
    in 14: volume CLIENTS-INCR-MF-000038, barcode 000009, 407687168 kb remaining, expires 2008/10/04.04:04
    in 15: volume CLIENTS-INCR-MF-000043, barcode 000008, 407586816 kb remaining, expires 2008/10/17.03:03
    in 16: volume CLIENTS-INCR-MF-000037, barcode 000015, 409627648 kb remaining, expires 2008/10/03.03:02
    in 17: volume CLIENTS-FULL-MF-000028, barcode 000016, 337067008 kb remaining, expires 2008/10/05.04:18
    in 18: volume CLIENTS-FULL-MF-000029, barcode 000017, 318909440 kb remaining, expires 2008/10/05.05:08
    in 19: volume CLIENTS-INCR-MF-000041, barcode 000018, 408406016 kb remaining, expires 2008/10/11.05:09
    in 20: unlabeled, barcode 000019
    in 21: volume CLIENTS-FULL-MF-000031, barcode 000020, 312597504 kb remaining, expires 2008/10/12.05:04
    in 22: volume CLIENTS-FULL-MF-000033, barcode 000021, 389140480 kb remaining, expires 2008/10/19.05:08
    in 23: volume CLIENTS-FULL-MF-000034, barcode 000022, 392922112 kb remaining, expires 2008/10/19.05:08
    in 24: volume CLIENTS-INCR-MF-000035, barcode 000023, 409815040 kb remaining, expires 2008/10/02.05:06
    in 25: volume CLIENTS-FULL-MF-000032, barcode 000024, 356518912 kb remaining, expires 2008/10/19.02:02
    in 26: volume CLIENTS-INCR-MF-000040, barcode 000025, 409699328 kb remaining, expires 2008/10/11.04:04
    in 27: volume CLIENTS-FULL-MF-000030, barcode 000026, 375496704 kb remaining, expires 2008/10/12.04:18
    in 28: volume CLIENTS-INCR-MF-000034, barcode 000027, 408218624 kb remaining, expired
    in 29: unlabeled, barcode 000028
    in 30: unlabeled, barcode 000029
    in 31: volume RMAN-ARCH-MF-000004, barcode 000056, content manages reuse
    in 32: unlabeled, barcode 000059
    in 33: volume RMAN-ARCH-MF-000005, barcode 000055, content manages reuse
    in 34: volume RMAN-FULL-MF-000007, barcode 000057, content manages reuse
    in 35: unlabeled, barcode 000058
    in 49: unlabeled, barcode CLNU00
    in 50: unlabeled, barcode CLNU01
    This shows the relevant volume. However, when I do an 'lsvol' by media family, I get:
    lsvol -f RMAN-FULL-MF
    VOID OOID Seq Volume ID Barcode Family Created Attributes
    166 166 1 RMAN-FULL-MF-000005 000005 RMAN-FULL-MF 07/06.03:20 never closes; content manages reuse
    167 167 1 RMAN-FULL-MF-000006 000007 RMAN-FULL-MF 07/06.03:23 never closes; content manages reuse
    324 324 1 RMAN-FULL-MF-000007 000057 RMAN-FULL-MF 08/31.02:27 never closes; content manages reuse
    288 288 1 RMAN-FULL-MF-000007 000057L3 RMAN-FULL-MF 08/31.02:27 never closes; content manages reuse
    The volume RMAN-FULL-MF-000007 appears twice! The long version of this command gives:
    lsvol -lf RMAN-FULL-MF
    Volume OID: 166
    Volume ID: RMAN-FULL-MF-000005
    Barcode: 000005
    Volume sequence: 1
    Media family: RMAN-FULL-MF
    Current location: SL500
    Label host: ldvbspa01
    Created: 2008/07/06.03:20
    Closes: never
    Expires: never; content manages reuse
    Space remaining: 336.8 GB
    Original OID: 166
    Volume OID: 167
    Volume ID: RMAN-FULL-MF-000006
    Barcode: 000007
    Volume sequence: 1
    Media family: RMAN-FULL-MF
    Current location: SL500
    Label host: ldvbspa01
    Created: 2008/07/06.03:23
    Closes: never
    Expires: never; content manages reuse
    Space remaining: 345.1 GB
    Original OID: 167
    Volume OID: 324
    Volume ID: RMAN-FULL-MF-000007
    Barcode: 000057
    Volume sequence: 1
    Media family: RMAN-FULL-MF
    Current location: SL500
    Label host: ldvbsm01
    Created: 2008/08/31.02:27
    Closes: never
    Expires: never; content manages reuse
    Original OID: 324
    Volume OID: 288
    Volume ID: RMAN-FULL-MF-000007
    Barcode: 000057L3
    Volume sequence: 1
    Media family: RMAN-FULL-MF
    Label host: ldvbsm01
    Created: 2008/08/31.02:27
    Closes: never
    Expires: never; content manages reuse
    Space remaining: 390.1 GB
    Original OID: 288
    I ran the 'lspiece' command to get information about the specific backup pieces in question and I get:
    lspiece -l -S 7ujpclm8_1_2
    Error: can't read location SL24(DELETED) - UUID not found
    Warning: can't obtain section and volume data for piece OID 2058 - UUID not found
    Backup piece OID: 2058
    Database: ukldmoms
    Database ID: 3307807331
    Content: full
    Copy number: 0
    Created: 2008/08/31.02:27
    Host: ldvbsm01
    Piece name: 7ujpclm8_1_2
    BSOID: 3378
    Volume ID: RMAN-FULL-MF-000007
    File: 1
    Sect: 1
    lspiece -l -S 7vjpcn5b_1_2
    Error: can't read location SL24(DELETED) - UUID not found
    Warning: can't obtain section and volume data for piece OID 2059 - UUID not found
    Backup piece OID: 2059
    Database: ukldmoms
    Database ID: 3307807331
    Content: full
    Copy number: 0
    Created: 2008/08/31.02:31
    Host: ldvbsm01
    Piece name: 7vjpcn5b_1_2
    BSOID: 3379
    Volume ID: RMAN-FULL-MF-000007
    File: 2
    Sect: 1
    This appears to indicate that OSB still thinks the volume is in the SL24, which has now been removed from the domain.
    Does anyone know what I can do to get OSB to recognise that the volume is now in the SL500? Do I need to run the 'obtar' command with the -G option to re-catalogue the tape?
    Ultimately I like to see some documentation on how to transfer tapes between libraries in the same domain, and also between domains, with specifc commands to run.
    Thanks.

    Hi,
    Not quite as straightforward as you suggest, but we have made progress.
    The volume has to have a rotation policy before the 'chvol' command will run, which seems logical. So I created a policy for movement of tapes between the SL24 and SL500, and created and ran the media movement job. However, I then tried to remove the rotation policy, but could not because it was associated with the volume just moved.
    I then tried a 'chvol -R "" RMAN-FULL-MF-000007' which returned an error:
    "Error: can't relocate volume RMAN-FULL-MF-000007, volume has no rotation policy"
    Which was the effect I wanted really - the removal of the association of the volume with the policy. I was then able to remove the rotation policy.
    Also, 'lsvol -f RMAN-FULL-MF' still shows this volume listed twice.
    The upshot of all this is that OSB now appears to show the volume in the right location and our DBA was able to delete the obsolete backups via RMAN.

  • OSB Java Callout, no methods shown when selecting jar

    Hi,
    I'm trying to invoke a Java method in OSB. I've already done this before with a simple static method. What this time is diffrent is that now my jar contains dependency to another jar, like Xerces.
    After I've imported my jar, and I'm trying to select a method, there is no method for me to select. I've tried doing it in either osb console, and OEPE.
    I suspect that the reason for this is the fact that there are imports in the jar. The things I've tried:
    * putting all the imported jars in classpath in MANIFEST file in the jar,
    * importing the imported libraries to osb as well,
    * putting imported jars in the lib directory of the domain (and restart),
    * adding all the imported jars to the servers classpath
    but to no avail.
    Or it could not be related to the imports at all.
    Method signature:
    public static String prepareEnvelope(String envelope) throws TransformerException, SAXException, IOException
    Help? Suggestions?
    Edit: OSB console doesn't seem to see this method either:
    package myPackage;
    public class Test {
         public static String test(String arg) {
              return "kitten";
    What's going on?
    Edited by: Veronica on Dec 13, 2012 2:59 AM

    I seem to have resolved my own problem. I complied the Java project using Eclipse and Java 1.6. After I've changed the "compiler compliance" from 1.7 to 1.6, my project is being shown in OSB.
    Yay

  • ServiceBus java callout - how to pack the JAR file with libraries?

    Hello
    I want to use a Java Callout from a Service Bus flow.
    What is the correct way to pack the JAR file with its nessecary libraries?
    I tried different methods to pack my JAR, but yet, as though the Java runs perfectly from the Workshop (Eclipse) , when I am trying to use the exported Jar on the ServiceBus flow, it fails with an ClassNotFoundException.
    I would really appreciate your advice here.
    Thanks
    Koby

    Well.. Looking inside my exported JAR file, I got all of the files there inside, including the jar file containing the library.
    What I'm trying to do is run a simple java program that connect through SSH and therefore use an SSH library.
    On the workshop I got it as an imported library JAR. And it works perfectly there.
    Any idea?
    Here's the complete error I get:
    <BEA-382515> <Callout to java method "public static java.lang.String sshpackage.SshProg.remoteScriptInvoke(java.lang.String,java.lang.String,java.lang.String,java.lang.String)" resulted in exception: null
    java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at stages.transform.runtime.JavaCalloutRuntimeStep$1.run(JavaCalloutRuntimeStep.java:158)
    Truncated. see log file for complete stacktrace
    java.lang.NoClassDefFoundError: ch/ethz/ssh2/Connection
    at sshpackage.SshProg.remoteScriptInvoke(SshProg.java:29)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    Truncated. see log file for complete stacktrace
    java.lang.ClassNotFoundException: ch.ethz.ssh2.Connection
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:283)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:256)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at com.bea.wli.sb.resources.archive.HookedJarClassLoader.loadClass(HookedJarClassLoader.java:251)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    Truncated. see log file for complete stacktrace
    Edited by: kobyssh on 04:12 01/02/2010

  • Getting "OSB Service Callout action received SOAP Fault response" on trying to invoke a service using service callout

    I'm trying to invoke a search service using service callout . However on trying to test it , I'm getting this response
    <con:fault  xmlns:con="http://www.bea.com/wli/sb/context">
    <con:errorCode>BEA-382500</con:errorCode>
    <con:reason>
    OSB Service Callout action received SOAP Fault response
    </con:reason>
    <con:details>
    <con1:ReceivedFaultDetail  xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config">
    <con1:faultcode  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">soapenv:Client</con1:faultcode>
    <con1:faultstring>Cannot find dispatch method for {}</con1:faultstring>
    <con1:http-response-code>500</con1:http-response-code>
    </con1:ReceivedFaultDetail>
    Please help in resolving this error.
    Thanks,
    Rohit

    you are calling wrong  the Service.
    ¿what kind of service do you have? RPC? Document?
    ir your target service its document, I recommend this:
    1. Test target service with OSB
    2. copy XML request and XML response from the test.
    3. use XML request format that you got at Step 2 in your source service and using it at your "Service Callout".

  • OSB Service callout losing fault info xml structure

    Hi there
    I have a proxy service (getAccount) that being called via service callout by getBilling.proxy service.
    getAccount throws a fault message that I want to catch in getBilling.
    But the original fault from getAccount somehow get lost the xml structure in the detail node. The "<" sign change into "&lt;"
    Am I missing something here. How the xml structure get lost in the detail node ?
    Here's the output:
    <soapenv:Body>
      <soapenv:Fault>
      <faultcode>soapenv:Server</faultcode>
      <faultstring>BEA-382502: OSB Service Callout action received an error response</faultstring>
      <detail>
         <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
         <con:errorCode>BEA-382502</con:errorCode>
         <con:reason>OSB Service Callout action received an error response</con:reason>
        <con:details>
           <con1:ErrorResponseDetail xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config">
           <con1:detail>
              &lt;ipms:fault xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ipms="http://www.indosat.com/ipms">
              &lt;ipms:faultcode>IPMS-5000&lt;/ipms:faultcode>
              &lt;ipms:faultstring>Account Not Found&lt;/ipms:faultstring>
              &lt;ipms:faultlocation>
              &lt;ipms:faultsource>/billing-stream/proxy/getAccount&lt;/ipms:faultsource>
             &lt;ipms:faultnode>RouteTo_getAccountByMsisdn_db&lt;/ipms:faultnode>
        &lt;ipms:faultpath>response-pipeline&lt;/ipms:faultpath>
      &lt;/ipms:faultlocation>
      &lt;ipms:detail>
        &lt;con:errorCode xmlns:con="http://www.bea.com/wli/sb/context">IPMS-5000&lt;/con:errorCode>
        &lt;con:reason xmlns:con="http://www.bea.com/wli/sb/context">Account Not Found&lt;/con:reason>
        &lt;con:location xmlns:con="http://www.bea.com/wli/sb/context">
          &lt;con:node>RouteTo_getAccountByMsisdn_db&lt;/con:node>
          &lt;con:path>response-pipeline&lt;/con:path>
        &lt;/con:location>
      &lt;/ipms:detail>
    &lt;/ipms:fault>
      </con1:detail>
      </con1:ErrorResponseDetail>
      </con:details>
      <con:location>
      <con:node>PipelinePairNode1</con:node>
      <con:pipeline>PipelinePairNode1_request</con:pipeline>
      <con:stage>stage1</con:stage>
      <con:path>request-pipeline</con:path>
      </con:location>
      </con:fault>
      </detail>
      </soapenv:Fault>
    </soapenv:Body>

    What's the content-type in the HTTP 500 response from the backend service? (not OSB proxy, but the original source of the fault)
    I suspect it is text/plain or just missing. OSB doesn't know it is XML, and so it escapes it.
    Vlad

  • OSB Service Callouts - HTTP Threads

    Hi All,
    We are having issues with OSB service callouts calling the business services from the Proxy Services. Due to excessive usage of Service Callouts, the proxy services are hanging out in the OSB server. From the Proxy services,we could able to successfully invoke the business services ( SOA Composistes , EJB Webservices etc ) and the webservices are taking few milliseconds to process the requests,but the response is not reaching the OSB Proxy Service. Ideally the behaviour is not happening for all requests, but for few messages. We have set up a dedicated Worker manager ( 10 Min Threads ) in the Admin Console and mapped the Worker manager to the business services ( dispatch policy ),but with no luck. We have followed the below link and its not working.
    http://allthingsmdw.blogspot.co.uk/2012/09/osb-service-callouts-and-oql-part-3.html
    Request to help us incase if you happen to see this behavior earlier.
    Thanks,
    Phani

    Hi Phani,
    It is a known issue with ALSB/OSB. There is a documentation in oracle as well regarding that "ALSB/OSB - Proxy Service Callout Causes Stuck Threads Under High Load [ID 861724.1]".
    Symptoms
    Stuck threads when calling a proxy service with a service callout /publish under high load. Proxy services using only ROUTE work without problems.
    Cause
    The service callout instantiates a new thread.
    As the proxy services are running in the default thread pool there will be no thread available for the callout under high load because all threads are blocked by the proxy services waiting for the response.
    This is expected behavior when using a service callout action and can be resolved by correct thread tuning.
    Solution
    A separate Workmanager needs to be configured for the Proxy service. This can be done by using the Dispatch Policy for specific proxy services (JMS, WS ..).
    For detailed information go to the OSB transport specific documentation and look for Dispatch Policy.
    There you will also see the link to the WLS Workmanager documentation.
    Please create a Workmanager using <max-threads-constraint> to limit the number of parallel executing proxies.
    Using this configuration the proxy will not block threads in the default queue.
    The service callout will still use the threads from the default thread pool.
    Hope this helps.
    Regards,
    Karan
    http://learn-oraclesoa.blogspot.com/

  • OSB: send dateTime do Java Callout method

    Hi,
    I have a method in Java that receives a parameter of type java.util.Date and I want to invoke that method in an OSB Java Callout Activity.
    I receive in the OSB 11g service input an element of type xs:dateTime and I want to send it to the Java method this element. But it always result in exception: argument type mismatch java.lang.IllegalArgumentException: argument type mismatch.
    Is there a way to pass this element to Java Callout without having to pass first a string and then convert to java.util.Date?

    bad news
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/eclipsehelp/ui_ref.html#wp1290279
    java.util.Date is not supported

  • Service Callout Action in OSB

    Hi ,
    Good morning to all
    I have issue on osb service callout.
    1. i developed a synchronous service using bpel after that i invoke that service in osb as business service. my aim by using service callout action to call that service and get response.
    but the problem is how pass the osb input request to bpel input request and also how to transform the bpel response data to osb response data...
    Thanks and regards
    venky

    Venky,
    the problem is how pass the osb input request to bpel input request and also how to transform the bpel response data to osb response data...You can transform the OSB request structure to bpel service request structure using Xquery/Xslt transformations either by using replace action or assign action ( replacing the $body as per Bpel request format ) before sending the request to Bpel in service call out.
    And in similar manner after getting the response from Bpel service use Xquery/Xslt transformation & using replace action to transform bpel response back to OSB response format.
    Regards,
    Abhinav Gupta
    Edited by: Abhinav on Dec 5, 2012 11:49 AM

Maybe you are looking for