OSB - Java Call out

Hi,
Will there be any performace issues if we use Java CallOut in OSB.
Edited by: 791951 on Nov 29, 2010 8:25 AM

I had some conversation on this topic with a couple of Oracle consultants and they said there is nothing to fear performance-wise using Java Callout in OSB.
See here http://www.javamonamour.org/2010/05/osb-and-java-callout-fierce-discussion.html for more details on the story,
and here http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/pojo.html for more on POJOs.

Similar Messages

  • OSB java call out with array parameters

    Hi all,
    I have a java call out with array parameters, follow the firm of java method:
    logBody2(String category, XmlObject headerXml, String[] level, XmlObject[] xml)
    The java call out have String[] and XmlObject[] arrays in intput, my question is how I can pass these arrays of values at java call out?
    Thk
    L.

    For array, comma-separated values should be passed. For e.g. -
    If input parameter is of type String[] then passed values should be comma-separated strings like - 'Anuj','Dwivedi'
    If input parameter is of type XmlObject[] then passed values should be comma-separated XmlObject like - <anuj/>,<dwivedi/>
    Regards,
    Anuj

  • Java call out in OSB 10g

    in java call out in OSB, is it possilble to pass java object or java collection (like list,arraylist) as argument to the java method and during configuration at OSB proxy service is it possible to fetch the value from java object from java call out .I have tried it and i am able pass string and xml object as argument and get string type only.please guide me.

    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/pojo.html
    "The input and return types for Java callouts are not restricted. However, any return types other than primitives, Strings, or XmlObjects can only be passed (unmodified) to other Java callouts. See Java Content in the body Variable for more information about storing and passing Java objects in the pipeline."

  • Accessing the SOAP fault received by OSB Service Call Out

    I have a proxy service with multiple OSB service call outs, which access a backend server via SOAP.
    If the backend server returns a fault, the proxy service' exception handling kicks in and the exception handling flow is triggered.
    That flow provides a variable 'fault', which holds the OSB fault information with the BEA fault code.
    The variable holding the service call out response (to which I assume the backend servers fault is written) is not available in the exception handling flow.
    I have multiple service call outs in my flow, all writing their response to different variables.
    Is there any way to access the fault received by the service call out? Is there any variable available in the exception flow, to which that information is written?

    Is there any way to access the fault received by the service call out?Please refer -
    Re: Error Handling OSB
    Regards,
    Anuj

  • Java Call out - Error

    Hi,
    I'm trying to call a Java Class method from BPEL and the Java Class is packaged into a JAR and copied the same into SCA-INF/lib folder of the SOA composite application.
    My Java Class is:
    package uk.co.utilities;
    public class Utils {
    public Utils() {
    public String sayHello(String Value) throws Exception{
    String result = "";
    try{
    result = "Hello !!!" + Value;
    }catch(Exception e){
    e.printStackTrace();
    return result;
    The BPEL snippet code for the Java Call out is:
    <bpelx:exec import="uk.co.utilities"/>
    <bpelx:exec name="javaInvoke" version="1.5" language="java">
    <![CDATA[Utils testUtils = new Utils();     
    String testResult = testUtils.sayHello("User");
    setVariableData("TempResult",testResult);]]>
    </bpelx:exec>
    I have tried to build the project,but getting the following error:
    Error(21,36): Failed to compile bpel generated classes.
    failure to compile the generated BPEL classes for BPEL process "bpelJavaMethod" of composite "default/prjJAVAMethod!1.0"
    The class path setting is incorrect.
    Ensure that the class path is set correctly. If this happens on the server side, verify that the custom classes or jars which this BPEL process is depending on are deployed correctly. Also verify that the run time is using the same release/version.
    It seems that the BPEL couldn't find the JAR method,but i have copied the JAR into SCA-INF/lib folder and added it to the " libraries and classpath " of the project.
    Please do help me.
    Thanks,
    Sri.

    Hi Sri,
    Can you check this out, will be helpful for you to find out where is the issue.
    http://yatanveersingh.blogspot.com/2011/08/how-to-call-java-method-inside-bpel.html
    -Yatan

  • OSB Service Call Out without soap envelope

    Can we do a service call out without any soap envelope wrapped.
    Example if my message is <Test>test</Test>
    it should not wrap it like
    <soapEnv:Body xmlns:soapEnv="http://schemas.xmlsoap.org/soap/envelope/"><Test>test</Test></soapEnv:Body>in request part of service call out.
    My calling service is WSDL based proxy and called service is ANY XML Proxy Service

    indeed, I have done my tests and it proved the same: whatever you post to a AnyXML service, OSB will first wrap it into a SOAP Envelope / Body and then pass it to the Message Flow.
    After all it makes sense, the Interface of a Proxy Service has nothing to do with its Implementation....
    a SOAP proxy service is implemented exactly like a AnyXML proxy service as far as the $body is concerned (maybe I have said an enormous BS!)
    Only $operation would not be populated - I would expect. Correct me if I am wrong.

  • OSB : Service Call out

    Hi,
    Can anyone tell me what is the basic difference between configure SOAP body and configure PAYLOAD in service call out option? Any examples / use case?
    Thanks,
    Bhaskar
    [I will mark the question as answered, once got the reply.]

    Hi Bhaskar,
    With Configure SOAP Body you use $body directly, with Configure Payload you can use different variables... Also, Configure Payload does NOT support SOAP-RPC encoded... I've never came across an use case where I had to use payload...
    There is a good table explaining what to use when here...
    http://docs.oracle.com/cd/E28280_01/dev.1111/e15866/ui_ref.htm#CACGDEAC
    Also, check these...
    http://docs.oracle.com/cd/E28280_01/admin.1111/e15867/proxy_actions.htm#OSBAG1124
    http://docs.oracle.com/cd/E28280_01/dev.1111/e15866/ui_ref.htm#i1291067
    Cheers,
    Vlad

  • OSB 3.0(ALSB 3.0) .Java Call out issue

    Hi,
    I have written a Java code that invokes a stored Procedure. I want to use this piece of code in my ALSB 3.0 through Proxy Service Action(Java Callout).This code works fins when I run it as a Standalone Program.
    But when I use this in Java Callout I face an issue.The code runs smoothly till the creation of the Callable Statement.*But after that the Statemant object turns out to be null.*
    I do not see how calling a java method from ALSB 3.) could cause this issue.
    Please help if any one is having any idea on this.
    Edited by: user9980672 on Apr 13, 2009 10:13 PM

    No, it does not take any Input as request.I try to get a standandrad method invocation.
    The code
    import java.sql.CallableStatement;
    import javax.sql.DataSource;
    import java.sql.Connection;
    import javax.naming.InitialContext;
    import javax.naming.Context;
    import java.util.Properties;
    public class TestJavaCallout {
         Context ctx=null;
         DataSource ds=null;
         Connection conn=null;
         CallableStatement stmt=null;
         String name="Test";
         public void callGenevaStoredProcedure()
              System.out.println("Test start");
              try
                   Class.forName("weblogic.jndi.WLInitialContextFactory");
                   Properties prop = new Properties();
              prop.setProperty(Context.INITIAL_CONTEXT_FACTORY,
              "weblogic.jndi.WLInitialContextFactory");
              prop.setProperty(Context.PROVIDER_URL, "t3://localhost:7051");
              prop.put(Context.SECURITY_PRINCIPAL, "weblogic");
              prop.put(Context.SECURITY_CREDENTIALS, "weblogic");
              ctx = new InitialContext(prop);
              ds=(DataSource)ctx.lookup(name);
              conn=ds.getConnection();
              stmt=conn.prepareCall("call TestCall()");
              if (null!=stmt)//Here the stmt is NULL          {
                   stmt.execute();
              System.out.println("Stmt is not null");}
              else
                   System.out.println("Stmt is null");
              catch(Exception e){
                   System.out.println("ErrorIn Catch121::"+e.getMessage());
                   e.printStackTrace();
    public class TestJavaCalloutCall
    public static void call()
    new TestJavaCallout().callGenevaStoredProcedure();
    Edited by: user9980672 on Apr 13, 2009 11:19 PM

  • How to add external library in class path folder for use in Java call-out?

    Hi,
    I am working with Java callout component in OSB 12c using Jdeveloper.
    Thing is Jar what i am using to perform conversion of json to xml that using external libraries.
    When i have give reference of my project jar to java callout it doen't found external libraries.
    Could you please tell me how to add external libraries in class path folder or How to use to add it through web-logic server ?
    Thanks,
    Pavan

    Hi,
    Thanks, I have solved issue.
    We can add on following path in windows pc:
    C:\Users\your_usename\AppData\Roaming\JDeveloper\system12.1.3.0.41.140521.1008\DefaultDomain\lib
    One you add your external lib here then do restart weblogic server instance.
    Now, you have that external lib or jar in use.
    Cool!

  • Route node and Service Call out in OSB

    In OSB for a composite Proxy service (PS) that has to call 3 external services in sequence- we make service call out for 1st and 2nd external services and for invoking the last external service we can use route node.
    Here technically PS is making web service calls to all the three external services. For the first two OSB uses service call outs and for the last one, route node is used.
    What is the difference in service callout and route node in invoking an external service?
    If route node is better in any ways why can't OSB come with route node type message flow action for all external service calls?
    Thanks

    HI there,
    I have the same scenario as yours, I have to call 3 external services using Service Callouts and i have no idea how to use service callouts, how to and what to configure in SOAP body OR Payload parameters.
    I have to call one service and then the response of the 1st service , i have to pass it as a request to the 2nd service, so on.
    Can u please share with me how i can do it and what will be the best approach for that.
    Thanks and Regards
    Piyush Kapoor

  • Change timeout in Service call out (OSB)

    I have a proxy service P1 that invoke a other Proxy Service P2 throught a service call out component.
    The proxy service P2 route to a business service (biz). This business service timeout is 10 s.
    It's possible change the timeout in service call out in OSB? How do it?
    I need change the P1 proxy service to invoke the P2 with timeout of 1s instead of 10s (business service - biz).

    i assume you mean how you can change it on runtime from within the proxyservice flow, and not from the default configuration like vladodias mentioned
    i checked some settings in the transport headers but couldn't find anything to overrule this on runtime
    HttpOutboundPropertiesType has a connection-timeout element, but don't see a transport header option to overrule this when routing to a http transport bs service
    maybe you could use the *other option there and add some other http header timeout setting which will be interpreted by the server which hosts the server...but this is all just a bit of guessing                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Java call in OSB.

    I am sorry if this seems like a basic question but I am new to OSB and middleware.
    I have a Java class that transforms a CSV to XML that I need to call from OSB.
    OSB needs to pick up the csv file from a folder, pass the file name into the java class, then notify another process that the xmls have been created.
    Something like that.
    Any help would be appreciated.

    Create a Proxy Service like this:
    Service Type      Messaging Service
    Request Message Type      
    Text           
    Response Message Type      
    None           
    Protocol      file
    Endpoint URI      file:///c:/temp
    Get All Headers      No Headers      
    File Mask      *.txt
    Polling Interval      60
    Read Limit      10
    Sort By Arrival      false
    Scan SubDirectories      false
    Pass By Reference      false
    Post Read Action      delete
    Stage Directory      file:///temp/stage
    Error Directory      file:///temp/error
    Request encoding      utf-8
    Message Handling Configuration      
    Transaction Required      Disabled
    Same Transaction For Response      Disabled
    Content Streaming      Disabled
    (they are almost all default values)
    When you log $body, you will see that it contains your file.
    Just pass $body/* to a Java callout and do your transformation to XML.
    MFL is an optional, but since you want to reuse your Java code, just do the Java Callout.
    I am sure that if you google (or search on youtube) for
    OSB java Callout
    you will find plenty of tutorials.
    Just define a Java static method
    public static void processFileContent(String fileContent)
    If you need to return your XML to OSB for further processing, you should return XmlObject rather than void.
    I can teach you how to transform a XML String into a XmlObject

  • OSB duplicated calls

    Hi,
    I’m using webservice over https from OSB (10gR3) to a third part and when I call them they always gets duplicated calls from us.
    In the log it looks like OSB only tries to send the document once (I have enabled message tracing) and only recives one response, but if I activate debug for ssl on weblogic it looks like it makes two calls.
    I have used SoupUI to set up my own Mock Service and call it from the same OSB business service. I have used both http and https in my Mock Service and I always only get one call to my Mock Service.
    I have no problem if I make the same call direct from SoupUI to this third part service.
    Any ideas?
    Here is the log from the named server (somewhat cut since this form only allows 30000 characters):
    ####<Jul 6, 2011 2:57:23 PM CEST> <Info> <OSB Kernel> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1309957043255> <BEA-398202> <
    [OSB Tracing] Outbound request was sent.
    Service Ref = xxx/v1/businessservice/refund
    URI = https://xxx
    Request metadata =
        <xml-fragment>
          <tran:headers xsi:type="http:HttpRequestHeaders" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <http:Content-Type>text/xml; charset=utf-8</http:Content-Type>
            <http:SOAPAction>"urn:refund"</http:SOAPAction>
          </tran:headers>
          <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
        </xml-fragment>
    Payload =
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    </soap:Header><soapenv:Body><v1:refund xmlns:v1="https://xxx">
        <v1:shopName>xxx</v1:shopName>
        <v1:userName>xxx</v1:userName>
        <v1:password>xxx</v1:password>
        <v1:verifyID>xxx</v1:verifyID>
        <v1:amount>xxx</v1:amount>
        <!--Optional:-->
        <v1:extra>xxx</v1:extra>
    </v1:refund></soapenv:Body></soapenv:Envelope>
    >
    ####<Jul 6, 2011 2:57:23 PM CEST> <Info> <Security> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1309957043256> <BEA-090888> <SSL client running within the server does not have a certificate; it will use the servers certificate.>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043256> <BEA-000000> <SSLContextManager: reusing SSL context of channel DefaultSecure>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043256> <BEA-000000> <SSLContextManager: loading server SSL identity>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043256> <BEA-000000> <Reusing cached identity certs for keystore /opt/osbutv/wls/keystores/osbutv_Identity.jks, and alias osbutv>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043257> <BEA-000000> <SSLSetup: loading trusted CA certificates>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043260> <BEA-000000> <clientInfo has new style certificate and key>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043368> <BEA-000000> <Filtering JSSE SSLSocket>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043369> <BEA-000000> <SSLIOContextTable.addContext(ctx): 1933455503>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043369> <BEA-000000> <SSLSocket will  be Muxing>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043369> <BEA-000000> <write SSL_20_RECORD>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043374> <BEA-000000> <1585806395 SSL3/TLS MAC>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043374> <BEA-000000> <1585806395 received HANDSHAKE>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043374> <BEA-000000> <HANDSHAKEMESSAGE: ServerHello>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043375> <BEA-000000> <1585806395 SSL3/TLS MAC>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043375> <BEA-000000> <1585806395 received HANDSHAKE>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043375> <BEA-000000> <HANDSHAKEMESSAGE: Certificate>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043376> <BEA-000000> <Validating certificate 0 in the chain: Serial number: 152521643120410351437514410813256266768
    Issuer:C=US, O=Thawte, Inc., CN=Thawte SSL CA
    Subject:C=SE, ST=Stockholm, L=Stockholm, O=DebiTech AB, CN=xxx.xxx.se
    Not Valid Before:Thu Nov 11 01:00:00 CET 2010
    Not Valid After:Thu Dec 13 00:59:59 CET 2012
    Signature Algorithm:SHA1withRSA
    >
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043379> <BEA-000000> <weblogic user specified trustmanager validation status 0>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043379> <BEA-000000> <SSLTrustValidator returns: 0>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043379> <BEA-000000> <Trust status (0): NONE> 
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043379> <BEA-000000> <Performing hostname validation checks: xxx.xxx.se>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043379> <BEA-000000> <1585806395 SSL3/TLS MAC>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043379> <BEA-000000> <1585806395 received HANDSHAKE>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043379> <BEA-000000> <HANDSHAKEMESSAGE: ServerHelloDone>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043388> <BEA-000000> <HANDSHAKEMESSAGE: Finished>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043388> <BEA-000000> <SSLIOContextTable.findContext(sock): 631521323>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043388> <BEA-000000> <SSLIOContextTable.findContext(sock): 631521323>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043388> <BEA-000000> <activateNoRegister()>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043388> <BEA-000000> <SSLFilter.activate(): activated: 725533627 178870817>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043511> <BEA-000000> <1748707005 read(offset=0, length=4080)>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043511> <BEA-000000> <1585806395 SSL3/TLS MAC>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043511> <BEA-000000> <1585806395 received APPLICATION_DATA: databufferLen 0, contentLength 1900>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043511> <BEA-000000> <1585806395 SSL3/TLS MAC>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043511> <BEA-000000> <1585806395 received APPLICATION_DATA: databufferLen 0, contentLength 5>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043511> <BEA-000000> <1748707005 read databufferLen 5>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043511> <BEA-000000> <1748707005 read A returns 5>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043511> <BEA-000000> <1748707005 read(offset=1905, length=2175)>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043511> <BEA-000000> <1585806395 SSL3/TLS MAC>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043511> <BEA-000000> <1585806395 received ALERT>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043511> <BEA-000000> <NEW ALERT with Severity: WARNING, Type: 0
    java.lang.Exception: New alert stack
         at com.certicom.tls.record.alert.Alert.<init>(Unknown Source)
         at com.certicom.tls.record.alert.AlertHandler.handleAlertMessages(Unknown Source)
         at com.certicom.tls.record.MessageInterpreter.interpretContent(Unknown Source)
         at com.certicom.tls.record.MessageInterpreter.decryptMessage(Unknown Source)
         at com.certicom.tls.record.ReadHandler.processRecord(Unknown Source)
         at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
         at com.certicom.tls.record.ReadHandler.read(Unknown Source)
         at com.certicom.io.InputSSLIOStreamWrapper.read(Unknown Source)
         at weblogic.socket.SSLFilter.isMessageComplete(SSLFilter.java:202)
         at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:912)
         at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:859)
         at weblogic.socket.DevPollSocketMuxer.processSockets(DevPollSocketMuxer.java:120)
         at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
         at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
    >
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043512> <BEA-000000> <Alert received from peer, notifying peer we received it: com.certicom.tls.record.alert.Alert@59be2086>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043512> <BEA-000000> <CLOSE_NOTIFY received from peer, closing connection: >
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043512> <BEA-000000> <close(): 1748707005>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043512> <BEA-000000> <NEW ALERT with Severity: WARNING, Type: 0
    java.lang.Exception: New alert stack
         at com.certicom.tls.record.alert.Alert.<init>(Unknown Source)
         at com.certicom.tls.interfaceimpl.TLSConnectionImpl.closeWriteHandler(Unknown Source)
         at com.certicom.tls.interfaceimpl.TLSConnectionImpl.close(Unknown Source)
         at javax.net.ssl.impl.SSLSocketImpl.close(Unknown Source)
         at com.certicom.tls.record.alert.AlertHandler.handle(Unknown Source)
         at com.certicom.tls.record.alert.AlertHandler.handleAlertMessages(Unknown Source)
         at com.certicom.tls.record.MessageInterpreter.interpretContent(Unknown Source)
         at com.certicom.tls.record.MessageInterpreter.decryptMessage(Unknown Source)
         at com.certicom.tls.record.ReadHandler.processRecord(Unknown Source)
         at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
         at com.certicom.tls.record.ReadHandler.read(Unknown Source)
         at com.certicom.io.InputSSLIOStreamWrapper.read(Unknown Source)
         at weblogic.socket.SSLFilter.isMessageComplete(SSLFilter.java:202)
         at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:912)
         at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:859)
         at weblogic.socket.DevPollSocketMuxer.processSockets(DevPollSocketMuxer.java:120)
         at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
         at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
    >
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043512> <BEA-000000> <write ALERT, offset = 0, length = 2>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043512> <BEA-000000> <close(): 1748707005>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043513> <BEA-000000> <SSLIOContextTable.removeContext(ctx): 1933455503> 
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043513> <BEA-000000> <1748707005 closed by last read, readRecord returned 0>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043513> <BEA-000000> <close(): 1748707005>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1309957043513> <BEA-000000> <SSLIOContextTable.removeContext(ctx): 1933455503> 
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043513> <BEA-000000> <close(): 1748707005>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043513> <BEA-000000> <SSLIOContextTable.removeContext(ctx): 1933455503>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043629> <BEA-000000> <Filtering JSSE SSLSocket>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043635> <BEA-000000> <644832249 received HANDSHAKE>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043635> <BEA-000000> <HANDSHAKEMESSAGE: ServerHello>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043635> <BEA-000000> <644832249 SSL3/TLS MAC> 
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043635> <BEA-000000> <644832249 received HANDSHAKE>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043635> <BEA-000000> <HANDSHAKEMESSAGE: Certificate>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043636> <BEA-000000> <Validating certificate 0 in the chain: Serial number: 152521643120410351437514410813256266768
    Issuer:C=US, O=Thawte, Inc., CN=Thawte SSL CA
    Subject:C=SE, ST=Stockholm, L=Stockholm, O=DebiTech AB, CN=xxx.xxx.se
    Not Valid Before:Thu Nov 11 01:00:00 CET 2010
    Not Valid After:Thu Dec 13 00:59:59 CET 2012
    Signature Algorithm:SHA1withRSA
    >
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043638> <BEA-000000> <weblogic user specified trustmanager validation status 0>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043638> <BEA-000000> <SSLTrustValidator returns: 0>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043638> <BEA-000000> <Trust status (0): NONE> 
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043638> <BEA-000000> <Performing hostname validation checks: secure.incab.se>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043639> <BEA-000000> <644832249 SSL3/TLS MAC> 
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043639> <BEA-000000> <644832249 received HANDSHAKE>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043639> <BEA-000000> <HANDSHAKEMESSAGE: ServerHelloDone>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043646> <BEA-000000> <HANDSHAKEMESSAGE: Finished>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043768> <BEA-000000> <644832249 received APPLICATION_DATA: databufferLen 0, contentLength 5>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043769> <BEA-000000> <569879470 read databufferLen 5>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043769> <BEA-000000> <569879470 read A returns 5>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043769> <BEA-000000> <NEW ALERT with Severity: WARNING, Type: 0
    java.lang.Exception: New alert stack
         at com.certicom.tls.record.alert.Alert.<init>(Unknown Source)
         at com.certicom.tls.interfaceimpl.TLSConnectionImpl.closeWriteHandler(Unknown Source)
         at com.certicom.tls.interfaceimpl.TLSConnectionImpl.close(Unknown Source)
         at javax.net.ssl.impl.SSLSocketImpl.close(Unknown Source)
         at weblogic.net.http.HttpClient.closeServer(HttpClient.java:492)
         at weblogic.net.http.HttpClient.finished(HttpClient.java:274)
         at weblogic.net.http.KeepAliveStream.close(KeepAliveStream.java:126)
         at weblogic.net.http.KeepAliveStream.justRead(KeepAliveStream.java:38)
         at weblogic.net.http.KeepAliveStream.read(KeepAliveStream.java:77)
         at com.bea.wli.sb.transports.http.FullyConsumedInputStream.read(FullyConsumedInputStream.java:28)
         at com.bea.wli.sb.sources.BufferedSingleUseInputStream.peek(BufferedSingleUseInputStream.java:160)
         at com.bea.wli.sb.sources.StreamSource.peek(StreamSource.java:95)
         at com.bea.wli.sb.transports.MessageTracer.appendPayload(MessageTracer.java:453)
         at com.bea.wli.sb.transports.MessageTracer.trace(MessageTracer.java:77)
         at com.bea.wli.sb.transports.MessageTracer.traceOutboundResponse(MessageTracer.java:282)
         at com.bea.wli.sb.transports.Util$3.invoke(Util.java:245)
         at $Proxy84.getResponsePayload(Unknown Source)
         at com.bea.wli.sb.test.service.ServiceTransportListener.onReceiveResponse(ServiceTransportListener.java:128)
         at com.bea.wli.sb.transports.LoadBalanceFailoverListener.onReceiveResponse(LoadBalanceFailoverListener.java:233)
         at com.bea.wli.sb.transports.http.HttpOutboundMessageContext$RetrieveHttpResponseWork.handleResponse(HttpOutboundMessageContext.java:902)
         at weblogic.net.http.AsyncResponseHandler$MuxableSocketHTTPAsyncResponse$RunnableCallback.run(AsyncResponseHandler.java:531)
         at weblogic.work.ContextWrap.run(ContextWrap.java:41)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    >
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043769> <BEA-000000> <write ALERT, offset = 0, length = 2>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043769> <BEA-000000> <close(): 569879470>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Debug> <SecuritySSL> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1309957043769> <BEA-000000> <SSLIOContextTable.removeContext(ctx): 1081805524>
    ####<Jul 6, 2011 2:57:23 PM CEST> <Info> <OSB Kernel> <ux98.yyy.se> <OsbServer1B1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1309957043770> <BEA-398203> <
    [OSB Tracing] Outbound response was received.
    Service Ref = XXXOSB/v1/businessservice/refund
    URI = https://xxx
    Message ID = 8346891062911905034--a770f8a.130ff24ddbd.-7d05
    Response metadata =
    <xml-fragment>
       <tran:headers xsi:type="http:HttpResponseHeaders" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <tran:user-header name="P3P" value="CP=&quot;NOI IVAa OUR NOR UNI&quot;"/>
         <tran:user-header name="X-Server-Name" value="frontend1"/>
         <http:Connection>close</http:Connection>
         <http:Content-Type>text/xml;charset=utf-8</http:Content-Type>
         <http:Date>Wed, 06 Jul 2011 12:57:23 GMT</http:Date>
         <http:Server>Apache</http:Server>
         <http:Transfer-Encoding>chunked</http:Transfer-Encoding>
       </tran:headers>
       <tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">0</tran:response-code>
       <tran:response-message xmlns:tran="http://www.bea.com/wli/sb/transports">OK</tran:response-message>
       <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
       <http:http-response-code xmlns:http="http://www.bea.com/wli/sb/transports/http">200</http:http-response-code>
    </xml-fragment>
    Payload =
    <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:refundResponse xmlns:ns="https://xxx"><ns:return type="com.verifyeasy.server.ReturnData"><ns:aCSUrl xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><ns:acquirerAddress xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><ns:acquirerAuthCode></ns:acquirerAuthCode><ns:acquirerAuthResponseCode></ns:acquirerAuthResponseCode><ns:acquirerCity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><ns:acquirerConsumerLimit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><ns:acquirerErrorDescription xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><ns:acquirerFirstName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><ns:acquirerLastName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><ns:acquirerMerchantLimit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><ns:acquirerZipCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><ns:amount>10</ns:amount><ns:errorMsg></ns:errorMsg><ns:infoCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><ns:infoDescription xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><ns:pAReqMsg xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><ns:resultCode>102</ns:resultCode><ns:resultText>refund_OK</ns:resultText><ns:verifyID>122935024</ns:verifyID></ns:return></ns:refundResponse></soapenv:Body></soapenv:Envelope>
    >

    Hi,
    we had the same problem and we were able to resolve it with the above advice with a small difference.
    we were calling our business service with a service call out and applying routing options had no affect in this situation. we changed the call out to a routing node and the routing options had the desired effect.
    also, we are using osb 11g so this i'snt specific to 10g.
    does anyone know of the patch number that should be applied to resolve this (if there is one)?
    cheers
    toby

  • Oracle 10gR2 WebService Call-In & Call-Out via PL/SQL (Step-by-Step Guide)

    Hi Everyone,
    This guide is for those of you who tried to Call-In and Call-Out WebService via Oracle 10gR2 using PL/SQL but failed a couple of times, re-installed a couple of times and retry, got it to work but don't know what made it work scenarios.
    Hope this helps ;-)
    Thanks,
    Henry Wu
    Instructions on how to use Oracle10gR2 Webservice Call-Out feature (Oracle JAX-RPC DII - Dynamic Invocation (DII) APIs)
    PREREQUISITE
    =================================================================
    1. Download Oracle Database 10g Release 2 (10.2.0.1.0) (ZIP, ~655MB)
    http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html
    http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
    1.1 Choose Enterprise Edition
    2. Download 10.1.3.1 Callout Utility for 10g (R1 +R2) RDBMS (ZIP, ~13MB)
    http://download.oracle.com/technology/sample_code/tech/java/jsp/dbws-callout-utility-10131.zip
    2.1 Extract to C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131
    3. Download OC4J Standalone - Oracle Containers for J2EE (OC4J) 10g Release 3 (10.1.3.3) (ZIP, ~93MB; Pure Java—runs on all certified platforms)
    http://www.oracle.com/technology/software/products/ias/index.html (Download Site)
    http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
    3.1 Extract to C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
    STEP-BY-STEP PROCEDURES
    =================================================================
    1. Prepare the database
    1.1 Connect to SYS account (or any account that can connect as SYSDBA)
    1.2 alter system set shared_pool_size=96M scope=both
    1.3 alter system set java_pool_size=80M scope=both
    1.4 ALTER USER SCOTT ACCOUNT UNLOCK;
    1.5 ALTER USER SCOTT IDENTIFIED BY "tiger";
    1.6 ALTER USER SCOTT QUOTA UNLIMITED ON USERS;
    1.7 GRANT PUBLIC TO SCOTT;
    1.8 GRANT Create Public Synonym TO SCOTT;
    2. Load Oracle SOAP client to SCOTT (for Oracle 10g Release 2 Database)
    2.1 Commands
    2.1.1 Open command prompt (cmd.exe)
    2.1.2 loadjava -u scott/tiger -r -v -f -genmissing -s -grant public C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\webservices\lib\soap.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\lib\dms.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\jlib\javax-ssl-1_1.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\servlet.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\mail.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\activation.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\http_client.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\ejb.jar
    2.1.3 It will take around 3 minutes and you will see "something" like the following when it completes (count may not be exact) :
    Classes Loaded: 909
    Resources Loaded: 75
    Sources Loaded: 0
    Published Interfaces: 0
    Classes generated: 0
    Classes skipped: 0
    Synonyms Created: 984
    Errors: 0
    2.1.3 Close this command prompt
    3. Load Oracle JAX-RPC client to SYS (for Oracle 10g Release 2 Database)
    3.1 Commands
    3.1.1 Open command prompt (cmd.exe)
    3.1.2 loadjava -u sys/oracle -r -v -f -genmissing -s -grant public C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\dbwsclientws.jar C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\dbwsclientdb102.jar
    3.1.2.1 It will take around 15 minutes and you will see "something" like following when it completes (count may not be exact) :
    Classes Loaded: 4027
    Resources Loaded: 81
    Sources Loaded: 0
    Published Interfaces: 0
    Classes generated: 61
    Classes skipped: 0
    Synonyms Created: 4108
    Errors: 0
    3.1.3 Close this command prompt
    4. Execute UTL_DBWS packages to SYS (for Oracle 10g Release 2 Database)
    4.1 Commands
    4.1.1 Connect to SYS account only
    4.1.2 Execute the following (in TOAD you should execute them as Script, press the "thunder" button)
    4.2.1 @"C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\utl_dbws_decl.sql"
    4.2.2 @"C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\utl_dbws_body.sql"
    4.2.3 CREATE PUBLIC SYNONYM utl_dbws FOR sys.utl_dbws;
    5. Call-out a free Web Service using SCOTT
    5.1 Commands
    5.1.1 Connect to user SCOTT with password of TIGER
    5.1.2 Copy and Paste the following "Anonymous Block" (sample #1) and execute it :
    5.1.2.1 It sould return "PL/SQL DII client return ===> Redwood City"
    declare
    service_ utl_dbws.SERVICE;
    call_ utl_dbws.CALL;
    service_qname utl_dbws.QNAME;
    port_qname utl_dbws.QNAME;
    operation_qname utl_dbws.QNAME;
    string_type_qname utl_dbws.QNAME;
    retx ANYDATA;
    retx_string VARCHAR2(1000);
    retx_double number;
    retx_len number;
    params utl_dbws.ANYDATA_LIST;
    l_input_params utl_dbws.anydata_list;
    l_result ANYDATA;
    l_namespace VARCHAR2(1000);
    begin
    -- open internet explorer and navigate to http://webservices.imacination.com/distance/Distance.jws?wsdl
    -- search for 'targetNamespace' in the wsdl
    l_namespace := 'http://webservices.imacination.com/distance/Distance.jws';
    -- search for 'service name' in the wsdl
    service_qname := utl_dbws.to_qname(l_namespace, 'DistanceService');
    -- this is just the actual wsdl url
    service_ := utl_dbws.create_service(HTTPURITYPE('http://webservices.imacination.com/distance/Distance.jws?wsdl'), service_qname);
    -- search for 'portType name' in the wsdl
    port_qname := utl_dbws.to_qname(l_namespace, 'Distance');
    -- search for 'operation name' in the wsdl
    -- there will be a lot, we will choose 'getCity'
    operation_qname := utl_dbws.to_qname(l_namespace, 'getCity');
    -- bind things together
    call_ := utl_dbws.create_call(service_, port_qname, operation_qname);
    -- default is 'FALSE', so we make it 'TRUE'
    utl_dbws.set_property(call_, 'SOAPACTION_USE', 'TRUE');
    -- search for 'operation soapAction' under <wsdl:operation name="getCity">
    -- it is blank, so we make it ''
    utl_dbws.set_property(call_, 'SOAPACTION_URI', '');
    -- search for 'encodingstyle' under <wsdl:operation name="getCity">
    utl_dbws.set_property(call_, 'ENCODINGSTYLE_URI', 'http://schemas.xmlsoap.org/soap/encoding/');
    -- search for 'binding style'
    utl_dbws.set_property(call_, 'OPERATION_STYLE', 'rpc');
    -- search for 'xmlns:xs' to know the value of the first parameter
    -- under <wsdl:message name="getCityResponse"> you will see the line <wsdl:part name="getCityReturn" type="xsd:string" />
    -- thus the return type is 'string", removing 'xsd:'
    string_type_qname := utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'string');
    -- in the line <wsdl:operation name="getCity" parameterOrder="zip">
    -- the parameterOrder is 'zip', thus we put in 'zip'
    -- the 'ParameterMode.IN' is used to specify that we will be passing an "In Parameter" to the web service
    -- the 'ParameterMode.IN' is a constant variable in the sys.utl_dbws package
    utl_dbws.add_parameter(call_, 'zip', string_type_qname, 'ParameterMode.IN');
    utl_dbws.set_return_type(call_, string_type_qname);
    -- supply the In Parameter for the web service
    params(0) := ANYDATA.convertvarchar('94065');
    -- invoke the web service
    retx := utl_dbws.invoke(call_, params);
    -- access the returned value and output it to the screen
    retx_string := retx.accessvarchar2;
    dbms_output.put_line('PL/SQL DII client return ===> ' || retx_string);
    -- release the web service call
    utl_dbws.release_service(service_);
    end;
    5.1.3 Copy and Paste the following "Anonymous Block" (sample #2) and execute it :
    5.1.3.1 It should return "PL/SQL DII client return ===> twelve thousand three hundred and forty five"
    declare
    service_ utl_dbws.SERVICE;
    call_ utl_dbws.CALL;
    service_qname utl_dbws.QNAME;
    port_qname utl_dbws.QNAME;
    operation_qname utl_dbws.QNAME;
    string_type_qname utl_dbws.QNAME;
    retx ANYDATA;
    retx_string VARCHAR2(1000);
    retx_double number;
    retx_len number;
    params utl_dbws.ANYDATA_LIST;
    l_input_params utl_dbws.anydata_list;
    l_result ANYDATA;
    l_namespace VARCHAR2(1000);
    begin
    -- open internet explorer and navigate to http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL
    -- search for 'targetNamespace' in the wsdl
    l_namespace := 'http://www.dataaccess.com/webservicesserver/';
    -- search for 'service name' in the wsdl
    service_qname := utl_dbws.to_qname(l_namespace, 'NumberConversion');
    -- this is just the actual wsdl url
    service_ := utl_dbws.create_service(HTTPURITYPE('http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL'), service_qname);
    -- search for 'portType name' in the wsdl
    port_qname := utl_dbws.to_qname(l_namespace, 'NumberConversionSoap');
    -- search for 'operation name' in the wsdl
    -- there will be a lot, we will choose 'NumberToWords'
    operation_qname := utl_dbws.to_qname(l_namespace, 'NumberToWords');
    -- bind things together
    call_ := utl_dbws.create_call(service_, port_qname, operation_qname);
    -- default is 'FALSE', so we make it 'TRUE'
    utl_dbws.set_property(call_, 'SOAPACTION_USE', 'TRUE');
    -- search for 'operation soapAction' under <operation name="NumberToWords">
    -- it is blank, so we make it ''
    utl_dbws.set_property(call_, 'SOAPACTION_URI', '');
    -- search for 'encodingstyle'
    -- cannot find xml tag 'encodingstyle', so we just use the following as the generic encoding style
    utl_dbws.set_property(call_, 'ENCODINGSTYLE_URI', 'http://schemas.xmlsoap.org/soap/encoding/');
    -- search for 'binding style'
    -- although 'document' was used, it produced an error, thus we will use 'rpc'
    -- this value is generally only 'document' or 'rpc'
    utl_dbws.set_property(call_, 'OPERATION_STYLE', 'rpc');
    -- search for 'xmlns:xs' to know the value of the first parameter
    -- under <xs:element name="NumberToWords"> you will see the line <xs:element name="ubiNum" type="xs:unsignedLong" />
    -- thus the return type is 'unsignedlong', removing 'xs:'
    -- however, upon testing, using 'unsignedlong' produced an error, while 'string' did not, so we will use 'string'
    string_type_qname := utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'string');
    -- under <xs:element name="NumberToWords"> you will see the line <xs:element name="ubiNum" type="xs:unsignedLong" />
    -- the element name is 'ubiNum', thus we put in 'ubiNum'
    -- the 'ParameterMode.IN' is used to specify that we will be passing an "In Parameter" to the web service
    -- the 'ParameterMode.IN' is a constant variable in the utl_dbws package
    utl_dbws.add_parameter(call_, 'ubiNum', string_type_qname, 'ParameterMode.IN');
    utl_dbws.set_return_type(call_, string_type_qname);
    -- supply the In Parameter for the web service
    params(0) := ANYDATA.convertvarchar('12345');
    -- invoke the web service
    retx := utl_dbws.invoke(call_, params);
    -- access the returned value and output it to the screen
    retx_string := retx.accessvarchar2;
    dbms_output.put_line('PL/SQL DII client return ===> ' || retx_string);
    -- release the web service call
    utl_dbws.release_service(service_);
    end;
    NOTES AND REFERENCES
    =================================================================
    This detailed step-by-step guide was produced with the following guide http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm
    I could still not load Oracle JAX-RPC client to SCOTT (step 4) as it produces an error. See the following for more details :
    http://forums.oracle.com/forums/thread.jspa?threadID=633219&tstart=0
    Also, I could not consume some of the other free Web Services out there for reasons I don't know, hope someone can help clarify. See the following for more details :
    http://forums.oracle.com/forums/thread.jspa?threadID=630733&tstart=0
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    Instructions on how to use Oracle10gR2 Webservice Call-In feature
    PREREQUISITE
    =================================================================
    1. Download Oracle Database 10g Release 2 (10.2.0.1.0) (ZIP, ~655MB)
    http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html
    http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
    1.1 Choose Enterprise Edition
    2. Download OC4J Standalone - Oracle Containers for J2EE (OC4J) 10g Release 3 (10.1.3.3) (ZIP, ~93MB; Pure Java—runs on all certified platforms)
    http://www.oracle.com/technology/software/products/ias/index.html (Download Site)
    http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
    2.1 Extract to C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
    STEP-BY-STEP PROCEDURES
    =================================================================
    1. Connect to SYS account and create user STORE
    CREATE USER store IDENTIFIED BY store;
    GRANT connect, resource TO store;
    2. Connect to Oracle using the user STORE and password STORE
    CONNECT store/store;
    3. Execute the following objects for this excercise
    CREATE SEQUENCE order_sq;
    CREATE TABLE product_types (
    product_type_id INTEGER
    CONSTRAINT product_types_pk PRIMARY KEY,
    name VARCHAR2(10) NOT NULL
    CREATE TABLE products (
    product_id INTEGER
    CONSTRAINT products_pk PRIMARY KEY,
    product_type_id INTEGER
    CONSTRAINT products_fk_product_types
    REFERENCES product_types(product_type_id),
    name VARCHAR2(30) NOT NULL,
    description VARCHAR2(50),
    price NUMBER(5, 2)
    CREATE TABLE customers (
    customer_id INTEGER
    CONSTRAINT customers_pk PRIMARY KEY,
    first_name VARCHAR2(10) NOT NULL,
    last_name VARCHAR2(10) NOT NULL,
    dob DATE,
    phone VARCHAR2(12)
    CREATE TABLE orders (
    order_id INTEGER
    CONSTRAINT orders_pk PRIMARY KEY,
    product_id INTEGER
    CONSTRAINT purchases_fk_products
    REFERENCES products(product_id),
    customer_id INTEGER
    CONSTRAINT purchases_fk_customers
    REFERENCES customers(customer_id),
    quantity INTEGER NOT NULL
    INSERT INTO customers (
    customer_id, first_name, last_name, dob, phone
    ) VALUES (
    1, 'John', 'Brown', '01-JAN-1965', '800-555-1211'
    INSERT INTO product_types (
    product_type_id, name
    ) VALUES (
    1, 'Book'
    INSERT INTO products (
    product_id, product_type_id, name, description, price
    ) VALUES (
    1, 1, 'Modern Science', 'A description of modern science', 19.95
    COMMIT;
    CREATE OR REPLACE PACKAGE dbfunc AS
    FUNCTION place_order (
    p_product_id INTEGER,
    p_customer_id INTEGER,
    p_quantity INTEGER
    RETURN VARCHAR2;
    END dbfunc;
    CREATE OR REPLACE PACKAGE BODY dbfunc AS
    FUNCTION place_order (
    p_product_id INTEGER,
    p_customer_id INTEGER,
    p_quantity INTEGER
    RETURN VARCHAR2 IS
    v_customer_count INTEGER;
    v_product_count INTEGER;
    v_order_id INTEGER;
    BEGIN
    -- count the number of products with the
    -- supplied p_product_id (should be 1 if the product exists)
    SELECT COUNT(*)
    INTO v_product_count
    FROM products
    WHERE product_id = p_product_id;
    IF v_product_count = 0 THEN
    RETURN 'No such product';
    END IF;
    -- count the number of customers with the
    -- supplied p_customer_id (should be 1)
    SELECT COUNT(*)
    INTO v_customer_count
    FROM customers
    WHERE customer_id = p_customer_id;
    IF v_customer_count = 0 THEN
    RETURN 'No such customer';
    END IF;
    -- get the next value from orders_sq
    SELECT order_sq.nextval
    INTO v_order_id
    FROM dual;
    -- place the order
    INSERT INTO orders (
    order_id, product_id, customer_id, quantity
    ) VALUES (
    v_order_id, p_product_id, p_customer_id, p_quantity
    COMMIT;
    RETURN 'Order placed with id of ' || v_order_id;
    EXCEPTION
    WHEN OTHERS THEN
    ROLLBACK;
    RETURN 'Order not placed';
    END place_order;
    END dbfunc;
    4. Install and Configure OC4J
    4.1 Change Directory
    4.1.1 Open command prompt (cmd.exe)
    4.1.2 CD C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\bin
    4.2 Configure Environment variables (type in command prompt)
    4.2.1 set JAVA_HOME=C:\oracle\product\10.2.0\db_1\jdk
    4.2.2 set ORACLE_HOME=C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
    4.3 Starting OC4J for the first time
    4.3.1 oc4j -start
    4.3.2 If this is not your first time to "start" oc4j, go to step 4.3.4
    4.3.3 Set oc4jadmin password (use the password "oracle" w/o the quotation marks)
    08/03/21 17:13:54 Set OC4J administrator's password (password text will not be displayed as it is entered)
    Enter password:
    Confirm password:
    Confirm password: The password for OC4J administrator "oc4jadmin" has been set.
    08/03/21 17:14:01 The OC4J administrator "oc4jadmin" account is activated.
    4.3.4 OC4J has started if you see the message :
    08/03/21 17:14:16 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    4.3.5 Leave this command prompt open
    4.4 Configure Data Source
    4.4.1 Open a new command prompt via the cmd.exe command
    4.4.2 type "hostname" and then press enter
    4.4.3 Keep this command prompt open for later use
    4.4.4 Open Windows Explorer and navigate to the folder C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\config
    4.4.5 Open the file data-sources.xml
    4.4.6 Modify and Save the file so that it will look something like the following :
    4.4.6.1 Note that "hpv2710us" is my hostname found in step 4.4.2
    4.4.6.2 Note that "ORCLDEV" is the name of my Oracle Instance. (Default installation uses ORCL only)
    <connection-pool name="Example Connection Pool">
    <connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
    user="store"
    password="store"
    url="jdbc:oracle:thin:@//hpv2710us:1521/ORCLDEV">
    </connection-factory>
    </connection-pool>
    4.4.7 Close the text editor
    4.4.8 Close the Windows Explorer
    4.4.9 Close this command prompt (type exit)
    5. Publishing a PL/SQL Package as a Database Web Service
    5.1 Create the config.xml file
    5.1.1 Open Notepad.exe
    5.1.2 Copy and Paste the following :
    5.1.2.1 Note that "hpv2710us" is my hostname found in step 4.4.2
    5.1.2.2 Note that "ORCLDEV" is the name of my Oracle Instance. (Default installation uses ORCL only)
    <web-service>
    <display-name>PLSQL Web Service</display-name>
    <description>PLSQL Sample</description>
    <destination-path>./dbfunc.ear</destination-path>
    <temporary-directory>/tmp</temporary-directory>
    <context>/plsqlsample</context>
    <stateless-stored-procedure-java-service>
    <jar-generation>
    <schema>store/store</schema>
    <db-url>jdbc:oracle:thin:@hpv2710us:1521:ORCLDEV</db-url>
    <prefix>db.func.place.order</prefix>
    <db-pkg-name>dbfunc</db-pkg-name>
    </jar-generation>
    <uri>/dbfunc</uri>
    <database-JNDI-name>jdbc/OracleDS</database-JNDI-name>
    </stateless-stored-procedure-java-service>
    <wsdl-gen>
    <wsdl-dir>wsdl</wsdl-dir>
    <option name="force">true</option>
    <option name="httpServerURL">http://localhost:8888</option>
    </wsdl-gen>
    <proxy-gen>
    <proxy-dir>proxy</proxy-dir>
    <option name="include-source">true</option>
    </proxy-gen>
    </web-service>
    5.1.3 Save file as config.xml in the directory C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\config
    5.1.3.1 Note it should be config.xml and not config.txt
    5.1.4 Close the text editor
    5.2 Publish dbfunc Oracle Package as a Web Service
    5.2.1 Open a new command prompt via the cmd.exe command
    5.2.2 CD C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home
    5.2.3 mkdir ear
    5.2.4 CD ear
    5.2.5 set ORACLE_HOME=C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
    5.2.6 set CLASSPATH=.;%ORACLE_HOME%\webservices\lib\wsdl.jar;%ORACLE_HOME%\lib\xmlparserv2.jar;%ORACLE_HOME%\soap\lib\soap.jar
    5.2.7 java -jar %ORACLE_HOME%\webservices\lib\WebServicesAssembler.jar -config C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\config\config.xml
    Please wait ...
    STORE.DBFUNC
    5.2.8 java -jar %ORACLE_HOME%\j2ee\home\admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin oracle -deploy -file C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\ear\dbfunc.ear -deploymentName dbfunc
    08/03/21 17:46:23 Notification ==>Application Deployer for dbfunc COMPLETES. Operation time: 296 msecs
    5.2.9 java -jar %ORACLE_HOME%\j2ee\home\admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin oracle -bindWebApp -appname dbfunc -webModuleName dbfunc_web
    5.2.10 java -jar %ORACLE_HOME%\j2ee\home\admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin oracle -bindAllWebApps -appname dbfunc
    5.2.11 Close this command prompt (type exit)
    6. Test dbfunc Web Service
    6.1 Restart OC4J
    6.1.1 Open the command prompt you used to start OC4J in step 4.1.1/4.3.1
    6.1.2 In the keyboard, hit Ctrl+C
    6.1.2.1 Type "Y" and then hit Enter
    08/03/21 18:02:51 Shutting down OC4J...
    Terminate batch job (Y/N)? Y
    6.1.2.2 Note that the command prompt should still be open
    6.1.2.2.1 If you accidentally closed the command prompt just do the following
    6.1.2.2.1.1 Do 4.1.1 to 4.2.2 and then proceed to 6.1.3
    6.1.3 oc4j -start
    Starting OC4J from C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home...
    08/03/21 18:07:57 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    6.1.4 Leave this command prompt open
    6.2 Use the Web Service to "Order an Item"
    6.2.1 Connect to Oracle using the user STORE and password STORE
    6.2.2 select * from orders
    6.2.2.1 Zero row should return
    6.2.3 Open Internet Explorer
    6.2.4 Navigate to http://localhost:8888/plsqlsample/dbfunc
    6.2.5 Input the following :
    6.2.5.1 param0 value: 1
    6.2.5.2 param1 value: 1
    6.2.5.3 param2 value: 10
    6.2.6 Click the Invoke button
    6.2.7 A pop-up window will appear having the following contents :
    <?xml version="1.0" encoding="UTF-8" ?>
    - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <SOAP-ENV:Body>
    - <ns1:placeOrderResponse xmlns:ns1="http://db.func.place.order/dbfunc.wsdl" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <return xsi:type="xsd:string">Order placed with id of 1</return>
    </ns1:placeOrderResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    6.2.8 Go back to SQLPLUS or Toad and execute "select * from orders" again
    6.2.8.1 There should be one row
    ORDER_ID, PRODUCT_ID, CUSTOMER_ID, QUANTITY
    1, 1, 1, 10
    NOTES AND REFERENCES
    =================================================================
    This detailed step-by-step guide was produced with the following article by Jason Price http://www.oracle.com/technology/pub/articles/price_10gws.html

    Success!!!
    I had to grant this permissions:
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.lang.RuntimePermission', 'getClassLoader', '' );
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.lang.RuntimePermission', 'accessClassInPackage.sun.util.calendar', '' );
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.lang.RuntimePermission', 'setFactory', '' )
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.util.PropertyPermission', 'HTTPClient.socket.idleTimeout', 'write' );
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.net.SocketPermission', 'localhost', 'resolve' );
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.net.SocketPermission', '127.0.0.1:8084', 'connect,resolve' );
    As I wrote earlier, WS_TEST is my user into which I load JAX-RPC client. Note that, if you load JAX-RPC client into user another than SYS, you have NOT to use -s -grant public option (wassam wrote about this too). Another thing is that I (finally) didn't load OC4J. To consume WebService I use utl_dbws.invoke(call_Handle CALL, request SYS.XMLTYPE) function.
    voytec001

  • "ORA-29532: Java call terminated by uncaught Java exception

    Dear Oracle:
    I am trying to establish an HTTPS connection from a Java stored
    procedure that is wrapped in a PL/SQL procedure and loaded into a
    Package. We are running on Oracle 8.1.7.
    My Java code compiles and runs fine when run stand-alone outside
    Oracle; I can establish the connection to a secure server and talk to
    the server. However when I load this Java class (using the loadjava
    utility) this class can no longer run and I get a the following
    exception:
    "ORA-29532: Java call terminated by uncaught Java exception:
    javax.net.ssl.SSLException: SSL handshake failed:
    X509CertChainIncompleteErr"
    I have tried loading the JSSE from Sun and I still get the same error.
    Searching in the Discussing Forums I found the following link (which
    describes a procedure that logs into the UPS secure server site and
    grabs some XML) http://osi.oracle.com/~mbpierma/SSL_Java_DB.html .
    This code works ok if we try to connect to UPS server. However this
    code doesn't work if we try to log in to a different server (such as
    ???). If I modify this code slightly and try to log to any other
    sever server I get the same error as the one above. Investigation
    lead us to understand that the certificate at the UPS web site is a
    self-signed certificate -- not one generated by a major 'recognized'
    authority such as Verisign or Thawte.
    Further research pointed me to the following URL
    http://www.znow.com/sales/oracle/network.816/a76932/appf_ora.htm#619367
    This URL has the documentation for JAVA SSL for 8.1.6 which I figure
    I could read and try to make it work in 8.1.7.
    I looked at your Secure Hello World example, however the code is
    missing the most critical parts of the whole example, it does not
    specify where the certificate or any of the security settings come
    from (see the attached JavaCertExample.txt file).
    So, my questions are the following:
    1) What should I do to avoid the error mentioned above?
    2) Do you have a sample piece of code that describes how to make a
    HTTPS connection using a Java stored procedure?
    3) Can I make the HTTPS connection using a URL class and not using
    sockets directly?
    4) Do I need to load the JSEE provided by Sun?
    5) Will the solution be different for Oracle 9i?
    // SecureHelloClient.java
    import java.net.*;
    import java.io.*;
    import java.util.*;
    import javax.net.ssl.*;
    import javax.security.cert.X509Certificate;
    import oracle.security.ssl.OracleSSLCredential;
    import oracle.security.ssl.OracleSSLSocketFactory;
    import oracle.security.ssl.OracleSSLProtocolVersion;
    import oracle.security.ssl.OracleSSLSession;
    public class SecureHelloClient
    public static void main(String argv[])
    String hostName = "localhost";
    if(argv.length != 0)
    String hostName = argv[0];
    // Set the SSLSocketFactoryImpl class as follows:
    java.util.Properties prop = System.getProperties();
    prop.put("SSLSocketFactoryImplClass",
    "oracle.security.ssl.OracleSSLSocketFactoryImpl");
    try
    // Get the default socket factory
    OracleSSLSocketFactory sSocFactory
    = (OracleSSLSocketFactory)SSLSocketFactory.getDefault();
    sSocFactory.setSSLProtocolVersion(OracleSSLProtocolVersion.SSL_Version_3_0);
    OracleSSLCredential sslCredObj = new OracleSSLCredential();
    // Where did these values come from? caCert, userCert, trustedCert,
    // Set the certificate chain and private key if the
    // server requires client authentication
    sslCredObj.addCertChain(caCert)
    sslCredObj.addCertchain(userCert)
    sslCredObj.setPrivateKey(userPvtKey, userPassword)
    // Populate credential object
    sslCredObj.addTrustedCert(trustedCert);
    sSocFactory.setSSLCredentials(sslCredObj);
    // Create the socket using factory
    SSLSocket jsslSoc =
    (SSLSocket)sSocFactory.createSocket(hostName, 8443);
    String [] ciphers = jsslSoc.getSupportedCipherSuites() ;
    // Select the ciphers you want and put them.
    // Here we will put all availabel ciphers
    jsslSoc.setEnabledCipherSuites(ciphers);
    // We are creating socket in client mode
    jsslSoc.setUseClientMode(true);
    // Do SSL handshake
    jsslSoc.startHandshake();
    // Print negotiated cipher
    System.out.println("Negotiated Cipher Suite: "
    +jsslSoc.getSession().getCipherSuite());
    System.out.println("");
    X509Certificate[] peerCerts
    = ((javax.net.ssl.SSLSocket)jsslSoc).getSession().getPeerCertificateChain();
    if (peerCerts != null)
    System.out.println("Printing server information:");
    for(int i =0; i ? peerCerts.length; i++)
    System.out.println("Peer Certificate ["+i+"] Information:");
    System.out.println("- Subject: " + peerCerts.getSubjectDN().getName());
    System.out.println("- Issuer: " + peerCerts[i].getIssuerDN().getName());
    System.out.println("- Version: " + peerCerts[i].getVersion());
    System.out.println("- Start Time: " + peerCerts[i].getNotBefore().toString());
    System.out.println("- End Time: " + peerCerts[i].getNotAfter().toString());
    System.out.println("- Signature Algorithm: " + peerCerts[i].getSigAlgName());
    System.out.println("- Serial Number: " + peerCerts[i].getSerialNumber());
    else
    System.out.println("Failed to get peer certificates");
    // Now do data exchange with client
    OutputStream out = jsslSoc.getOutputStream();
    InputStream in = jsslSoc.getInputStream();
    String inputLine, outputLine;
    byte [] msg = new byte[1024];
    outputLine = "HELLO";
    out.write(outputLine.getBytes());
    int readLen = in.read(msg, 0, msg.length);
    if(readLen > 0)
    inputLine = new String(msg, 0, readLen);
    System.out.println("");
    System.out.println("Server Message:");
    System.out.println(inputLine );
    else
    System.out.println("Can't read data from client");
    // Close all sockets and streams
    out.close();
    in.close();
    jsslSoc.close();
    catch(SSLException e)
    System.out.println("SSL exception caught:");
    e.printStackTrace();
    catch(IOException e)
    System.out.println("IO exception caught:");
    e.printStackTrace();
    catch(Exception e)
    System.out.println("Exception caught:");
    e.printStackTrace();

    Hi,
    I have the same problem.
    Is some ORACLE guru that can help us ?
    We need to communicate with some servlet
    via POST method of https (SSL3)
    and with using private certificate on the client site.
    We need furthermore allow using of some proxy.
    Client site is realized as set of stored procedures within ORACLE 8.1.7
    In this time I am able to communicate with server without SSL and certificate
    using package utl_tcp
    (but with this solution without certificate is our customer not satisfied -:))
    ORACLE help us please !
    Pavel Pospisil
    [email protected]

Maybe you are looking for

  • Importing AVCHD

    Just bought a Canon HF R10 and imported into iMovie. Been shooting at the highest quality (FXP, or something like that), and still struggling to get a quality DVD burned, but my first question is about the import. 1. Our use is home movies which will

  • How do i backup my Photos Library?

    I am using Yosemite with the latest update that included the new Photos App.  I currently have it set to be syncing into my iCloud, but would like to make a local backup to a hard disk as well.  Can anyone help with an easy process for this that can

  • Changes to text and swatch file

    After creating a text frame for a photo caption I copied and pasted to the text frame from the caption used in the photo's file name rather than type it directly in the text frame.  The result that was added to the text frame was blurred letters that

  • InDesign won't launch for main user account

    I upgraded to a new Mac Pro and copied over my old user and computer, all except the Applications folder. I reinstalled InDesign and it worked once, then crashed. It would not open after that, and I have since reinstalled. Still will not open. It bou

  • HT3775 How import my DVD to the iphoto and imovie ?

    Dear May I know how import my DVD to the iphoto and imovie ? I've a DVD movie , I want import it to iphoto and imovie , but it doesn't work and my laptop doesn't support it. It show" You may need to install additional software to open this type of fi