Error on content write: Socket closed

Since a week or so we are getting the following stack trace on our WebCenter Portal (11.1.1.6.3). There are several content presenters on it, and so far I've not found out yet where the problem originates from. Has anyone experienced the same, or perhaps any pointers?
<Aug 24, 2012 3:10:13 PM CEST> <Error> <oracle.webcenter.content.internal.http.HttpServiceImpl> <WCS-11001> <Error on content write: Socket closed
oracle.webcenter.content.internal.http.InternalServerErrorException: Aug 24, 2012 3:10:13 PM oracle.webcenter.content.internal.http.HttpServiceExceptionFactory getException
ALL: Error on content write: Socket closed
at oracle.webcenter.content.internal.http.HttpServiceExceptionFactory.getException(HttpServiceExceptionFactory.java:191)
at oracle.webcenter.content.internal.http.HttpServiceExceptionFactory.createInternalServerError(HttpServiceExceptionFactory.java:707)
at oracle.webcenter.content.internal.http.HttpServiceExceptionFactory.createInternalServerError(HttpServiceExceptionFactory.java:685)
at oracle.webcenter.content.internal.http.HttpServiceExceptionFactory.createInternalServerError(HttpServiceExceptionFactory.java:664)
at oracle.webcenter.content.internal.http.Entity.sendResponse(Entity.java:205)
at oracle.webcenter.content.internal.http.HttpServiceImpl.doGetOrHead(HttpServiceImpl.java:322)
at oracle.webcenter.content.internal.http.HttpServiceImpl.service(HttpServiceImpl.java:179)
at oracle.webcenter.content.http.GetHandlerServlet.service(GetHandlerServlet.java:225)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.share.http.ServletADFFilter.doFilter(ServletADFFilter.java:62)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.wcps.client.PersonalizationFilter.doFilter(PersonalizationFilter.java:75)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.webcenter.content.integration.servlets.ContentServletFilter.doFilter(ContentServletFilter.java:168)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.share.http.ServletADFFilter.doFilter(ServletADFFilter.java:62)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
>

We have a content presenter which loads a video file from the content server. It looks like the socket is unexpectedly closed at some point if the video is paused or stopped for some reason.

Similar Messages

  • How to handle write errors in non blocking sockets

    Hi,
    I'm using sockets registered with a Selector for read operations. I've seen code examples that put the SocketChannel in non blocking mode before registering it with the selector, and in fact not doing so would cause an IllegalBlockingModeException to be thrown.
    My problem is that I can't handle write errors. The call to write() returns inmediately without throwing any exception. Even worse, when the network timeout expires the selector wakes up and I get an exception on read(). So I can't tell the difference between a real read error and a write error.
    What can I do? Is there a magic method I haven't heard about?
    Thanks

    ejp wrote:
    OK, so what happens is this: you write from your ByteBuffer; if there is room in the socket send buffer, the data is transferred and the transfer count is returned. (If there isn''t, the write returns zero and nothing has happened.) Your application code then continues. Meanwhile TCP is trying to send the data in the send buffer and get an ACK from the peer. If the peer is down as per your test, eventually those write attempts will time out. You will then get a connection reset exception on the next read or write.
    Even worse, when the network timeout expires the selector wakes upCorrect, to tell you there is an error condition pending. This is good, not bad.You're right. This way my program can know that something happened.
    But I still don't understand what the difference between a failed write() and a failed read() is. I mean, the error condition may appear during a send attempt, or it may appear after sending. In both cases I get an error when trying to read. How can my program know if data have been received by the other end?
    Do I have to implement ACK messages in the application level protocol??? It'd be nice if TCP could do this for me...

  • Socket Closed error please help us finding a fix for the same

    Hi everyone,
    I have a web application deployed on Weblogic 10.3.4.0. In the application there is hyperlink to download a resouce (say an PDF document). Upon clicking the link, IE shows the Open/Save/Cancel dialog box. If the Open/Save/Cancel dialog box is not acted upon by the user within 1 min after it pops up, Weblogic is closing the socket. This causes IE to only download a part of the file say 784 KB or something. Whereas the entire file maybe 1MB in size. Please help in fixing this issue ASAP.
    Thanks in Advance
    java.net.SocketException: Socket closed
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:99)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at weblogic.servlet.internal.ChunkOutput.writeChunkTransfer(ChunkOutput.java:525)
    at weblogic.servlet.internal.ChunkOutput.writeChunks(ChunkOutput.java:504)
    at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:382)
    at weblogic.servlet.internal.CharsetChunkOutput.flush(CharsetChunkOutput.java:249)
    at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java:469)
    at weblogic.servlet.internal.CharsetChunkOutput.implWrite(CharsetChunkOutput.java:396)
    at weblogic.servlet.internal.CharsetChunkOutput.write(CharsetChunkOutput.java:198)
    at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:139)
    at weblogic.servlet.internal.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:169)
    at com.teja.systemi.util.AroundData.copyStream(AroundData.java:311)
    at com.teja.systemi.client.servlet.servant.Newdownloadsingle.producePageData(Newdownloadsingle.java:108)
    at com.teja.systemi.client.servlet.servant.BaseViewController.serve(BaseViewController.java:542)
    at com.teja.systemi.client.servlet.FrontController.doRequest(FrontController.java:226)
    at com.teja.systemi.client.servlet.FrontController.doPost(FrontController.java:128)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Edited by: 910597 on Jan 27, 2012 2:15 AM

    What do you mean by "moo" ?
    Huh? You don't know about the moo? Are you livin' in a barn or sumthin'
    Sorry, corny joke.
    Seriously--if you haven't heard about the moo, then check out the MacBook forums. Nearly every third or fourth post is about the mooing problem.
    My own MacBook moos, but it's not so bad that it makes me upset. I understand, though, that others have it much worse.
    Black Macbook; Mini 1.5GHz (Late 2005); Mini 1.4GHz; PB G4 1GHz; PB Lombard; PB 2400; PMac G3; Blueberry iMac; iPod nano 4GB; and a talking Bill King bobblehead doll--Holy Toledo!

  • New root certificates cause socket closed error

    We have planning 9.3.1 services with ldap authentication. When we replaced our root certificates in dev we began getting errors. Mostly everything works, but after some inactivity a good log in will be flagged as an invalid user and throw the following exceptions:
    2010-03-29 07:43:48,141 [[ORB=_it_orb_id_1,Pool=1]::id-3] WARN com.hyperion.css.spi.impl.ldap.LDAPProvider.authenticate(Unknown Source) - javax.naming.ServiceUnavailableException: ldaps.lirr.org:636; socket closed; remaining name ''
    2010-03-29 07:43:48,141 [[ORB=_it_orb_id_1,Pool=1]::id-3] WARN com.hyperion.css.CSSAPIImpl.authenticate(Unknown Source) - com.hyperion.css.CSSAuthenticationException: Failed to authenticate user tlbarat against provider Novel1     Error Code: 2
    NestedException:
    javax.naming.ServiceUnavailableException: ldaps.lirr.org:636; socket closed; remaining name ''
    Does anyone know what we could be doing wrong? We changed to a load balanced virtual server. Could this have caused our issue? We tried setting java option -Dsun.net.inetaddr.ttl=0 but it didn't work. We need to move the change to prod next week. Any insight would be appreciated.

    The socket is being closed by the receiver, since it feels that the end of HTTP body stream has been reached. This could happen due to a number of reasons and cannot be directly discerened from your code.
    Does changing the buffer size help?
    Ironluca

  • SSRS Reporting manages goes down frequently. ERROR: The underlying connection was closed: An unexpected error occurred on a send.

    We have been experiencing issues with SSRS over the past 5 weeks, the service goes down frequently. And it comes up only on reboot of the server.
    We had also disabled the On Access scan in Mcafee.
    The service is in use for about two years, and the below error started occuring over the last few days. Please advise on this.
    ui!ReportManager_0-2!24e8!08/14/2014-18:13:45:: e ERROR: The underlying connection was closed: An unexpected error occurred on a send.
    ui!ReportManager_0-2!24e8!08/14/2014-18:13:45:: e ERROR: HTTP status code --> 500
    -------Details--------
    System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException:
    An existing connection was forcibly closed by the remote host
       at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
       at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
       --- End of inner exception stack trace ---
       at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
       at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
       at System.Net.ConnectStream.WriteHeaders(Boolean async)
       --- End of inner exception stack trace ---
       at Microsoft.SqlServer.ReportingServices2005.RSConnection.GetSecureMethods()
       at Microsoft.ReportingServices.UI.Global.RSWebServiceWrapper.GetSecureMethods()
       at Microsoft.SqlServer.ReportingServices2005.RSConnection.IsSecureMethod(String methodname)
       at Microsoft.SqlServer.ReportingServices2005.RSConnection.ValidateConnection()
       at Microsoft.ReportingServices.UI.Global.SecureAllAPI()
       at Microsoft.ReportingServices.UI.ReportingPage.EnsureHttpsLevel(HttpsLevel level)
       at Microsoft.ReportingServices.UI.ReportingPage.ReportingPage_Init(Object sender, EventArgs args)
       at System.EventHandler.Invoke(Object sender, EventArgs e)
       at System.Web.UI.Control.OnInit(EventArgs e)
       at System.Web.UI.Page.OnInit(EventArgs e)
       at System.Web.UI.Control.InitRecursive(Control namingContainer)
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    ui!ReportManager_0-2!24e8!08/14/2014-18:13:46:: e ERROR: Exception in ShowErrorPage: System.Threading.ThreadAbortException: Thread was being aborted.
       at System.Threading.Thread.AbortInternal()
       at System.Threading.Thread.Abort(Object stateInfo)
       at System.Web.HttpResponse.End()
       at System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm)
       at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg) at    at System.Threading.Thread.AbortInternal()
       at System.Threading.Thread.Abort(Object stateInfo)
       at System.Web.HttpResponse.End()
       at System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm)
       at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg)
    library!ReportServer_0-1!1c90!08/14/2014-18:13:51:: Call to ListParentsAction(/Data Sources).
    library!ReportServer_0-1!1c90!08/14/2014-18:13:51:: Call to ListParentsAction(/Data Sources).
    library!ReportServer_0-1!1c90!08/14/2014-18:13:51:: Call to ListChildrenAction(/Data Sources, False).
    webserver!ReportServer_0-1!1c90!08/14/2014-18:13:51:: i INFO: Processed folder '/Data Sources'
    library!ReportServer_0-1!68c!08/14/2014-18:13:56:: Call to GetItemTypeAction(/).
    library!ReportServer_0-1!68c!08/14/2014-18:13:56:: Call to ListParentsAction(/).
    library!ReportServer_0-1!68c!08/14/2014-18:13:56:: Call to ListChildrenAction(/, False).
    webserver!ReportServer_0-1!68c!08/14/2014-18:13:56:: i INFO: Processed folder '/'

    Hi SThiyag,
    Based on your error message, it may be related to the “SecureConnectionLevel” in the RSReportServer.config file. Please go to C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer, use Notepad to open the RSReportServer.config,
    modify <Add Key="SecureConnectionLevel" Value="0"/>, change the value into "1" or "2".
    (Note: Please backup the file before modify it.)
    Acceptable values are: 
    3 Most secure—Use SSL for absolutely everything.
    2 Secure—Use SSL for rendering and methods that pass credentials but don't insist on it for all SOAP calls.
    1 Basic Security—Accepts http but rejects any calls that might be involved in the passing of credentials.
    0 Least Secure—Don't use SSL at all
    Here is a blog for error message "The underlying connection was closed...", please refer to the link below:
    http://blogs.msdn.com/b/engelsr/archive/2005/11/29/the-underlying-connection-was-closed.aspx
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou

  • JCOM on WLS 8.1 - SocketException: Socket closed

    After creating my application and accessing it - if I don't use it for a while
    I get the following exception when I access it. Other than creating a timer to
    ping it every 10 seconds or so - is there some way to keep the socket open?
    - Mike Reiche
    java.net.SocketException: Socket closed
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:99)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:124)
    at com.linar.jintegra.RpcConnectionHandler.send(RpcConnectionHandler.java:272)
    at com.linar.jintegra.Rpc.invoke(Rpc.java:239)
    at com.linar.jintegra.RemObjectExporter.invoke(RemObjectExporter.java:346)
    at com.linar.jintegra.StdObjRef.invoke(StdObjRef.java:57)
    at com.linar.jintegra.Dispatch.vtblInvoke(Dispatch.java:763)
    at excel._ApplicationProxy.getDefaultFilePath(_ApplicationProxy.java:1938)
    at excel.Application.getDefaultFilePath(Application.java:2237)

    Has anyone gotten an answer on this error? I also get a Socket Closed IOException
    after a couple of minutes of not communicating to a remote DCOM application.
    I also have to restart Weblogic to get it to communicate again. Works great as
    long as I make a request every 10 or 20 seconds.
    Rick Holland
    >
    I am having this exact same problem. I have a support case opened with
    BEA about
    it, and will let you know if I come up with a solution...
    In my case, however, I am gonna have a very hard time sending BEA a repeatable
    testcase that demonstrates this problem, as I access a DCOM app that
    I cant redistribute.
    Would your code be something that you can share with BEA? If so, that
    would be
    of tremendous help.
    "Mike Reiche" <mreiche@no_spam.com> wrote:
    After creating my application and accessing it - if I don't use it for
    a while
    I get the following exception when I access it. Other than creating
    a timer to
    ping it every 10 seconds or so - is there some way to keep the socket
    open?
    - Mike Reiche
    java.net.SocketException: Socket closed
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:99)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:124)
    at com.linar.jintegra.RpcConnectionHandler.send(RpcConnectionHandler.java:272)
    at com.linar.jintegra.Rpc.invoke(Rpc.java:239)
    at com.linar.jintegra.RemObjectExporter.invoke(RemObjectExporter.java:346)
    at com.linar.jintegra.StdObjRef.invoke(StdObjRef.java:57)
    at com.linar.jintegra.Dispatch.vtblInvoke(Dispatch.java:763)
    at excel._ApplicationProxy.getDefaultFilePath(_ApplicationProxy.java:1938)
    at excel.Application.getDefaultFilePath(Application.java:2237)

  • InitialDirContext Throwing ServiceUnavailableException socket closed

    Any assistance is appreciated.
    Problems occurring when multiple DirContext instances are created. Attempting to make a SSL connection to Active Directory on port 636. A single successful context can be established in the below code. However, a second instantiation of InitialDirContext(env) results in a javax.naming.ServiceUnavailableException: [domain]:636; socket closed error. Multiple contexts are desired to establish a connection pool.
    A few items to note. Establishing four unsecure DirContext on port 389 works successfully. I can establish a DirContext on port 636, use the context, close the context then establish new contexts without a problem. A server certificate was imported to the C:\j2sdk1.4.2_11\jre\lib\security\cacerts file. Testing on a local computer. Below is sample code:
    public static void main(String[] args) {
        try {
            System.setProperty("javax.net.debug","all");
            // Set up the environment for creating the initial context
            Hashtable env = new Hashtable();
             env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
            env.put(Context.SECURITY_PRINCIPAL, "[USER DN]");
            env.put(Context.SECURITY_CREDENTIALS, "[PWD]");
            //NON SSL
            //env.put(Context.PROVIDER_URL, "ldap://[server]:389");
            //SSL
            env.put(Context.PROVIDER_URL, "ldap://[server]:636");
            env.put(Context.SECURITY_PROTOCOL, "ssl");
            env.put(Context.SECURITY_AUTHENTICATION, "simple");
            // Create the initial context
            DirContext ctx = null;
            DirContext ctx2 = null;
            DirContext ctx3 = null;
            DirContext ctx4 = null;
            try {
                //Works every time...
                ctx = new InitialDirContext(env);
            } catch (NamingException e) {
                e.printStackTrace();
            try {
            //Fails on port 636, works on port 389
            ctx2 = new InitialDirContext(env);
            } catch (NamingException e) {
                e.printStackTrace(); 
            try {
            //Works on port 636 (after 2nd attempt fails) and port 389
            ctx3 = new InitialDirContext(env);
            } catch (NamingException e) {
                e.printStackTrace();
            try {
            //Fails on port 636, works on port 389
            ctx4 = new InitialDirContext(env);
            } catch (NamingException e) {
                e.printStackTrace();
            Attributes attrs = ctx.getAttributes("[A USER DN]");
            System.out.println("Total attributes returned: " + attrs.size());
            try {
                ctx.close();
                ctx2.close();
                ctx3.close();
                ctx4.close();
            } catch (NamingException e) {
                e.printStackTrace();
        } catch (Exception ex) {
            ex.printStackTrace();
        System.exit(0);
    }The java debug statements at the second exception:
    Thread-1, WRITE: TLSv1 Handshake, length = 121
    Thread-1, received EOFException: ignored
    Thread-1, called closeInternal(false)
    Thread-1, SEND TLSv1 ALERT:  warning, description = close_notify
    Plaintext before ENCRYPTION:  len = 18
    0000: 01 00 0F 78 84 EE 16 24   F6 99 B0 83 52 14 FF 86  ...x...$....R...
    0010: 29 3C                                              )<
    Thread-1, WRITE: TLSv1 Alert, length = 18
    Thread-1, called close()
    Thread-1, called closeInternal(true)Again, any assistance is appreciated.

    Multiple contexts are desired to establish a connection pool.The JNDI LDAP provider already does connection pooling so you don't need multiple initial contexts at all.

  • Remote desktop connection manager on windows 8.1, can't connect to windows server 2012 R2, Socket closed

    remote desktop connection manager on windows 8.1, can't connect to windows server 2012 R2, Socket closed each time i try to open remote connection to the server,
    does remote desktop connection manager V2.2 not compatible with windows 8.1, and if so, is there are any other compatible versions
    or what's the problem,
    Mahmoud Sabry IT System Engineer

    this issue maybe will be fix by latest version, we still waiting for it
    maybe your issue can be fix using this methods
    https://social.technet.microsoft.com/Forums/windowsserver/en-US/61f218a5-5ef8-49da-a035-90cdd64fc9a0/problem-with-remote-desktop-connection-manager-error-3334?forum=winserverTS
    http://shawn.meunier.com/?p=1#comment-43

  • Write Channel Closed, possible SSL handshaking or trust failure

    Hi,
    I Have a problem while working with Two-way SSL. I get Write Channel Closed, possible
    SSL handshaking or trust failure error while contacting the server for invoking
    a webservice secured by SSL.
    I could figure out that the error is happening on client side while validating
    the server certificate.
    One more observation that i was able to find is, it works fine if the Server certificate
    and the client certificate are signed by the same (root) CA.
    I tried various options but couldn't find my luck. The BEA documentation in this
    regards is not at all sufficient.
    If i give strict checking false on my client end, the application works fine.
    But for my scenario i want strict checking to be happend (otherwise there is no
    point in going for SSL itself).
    I am using WLSSLAdapter on my client side. The client application is a standalone
    java class running out of weblogic (ideally running on JRun).
    The way i have coded in my java class is:
    String certificatePath = "C:/Cerificates/cert.pem";
              String caCertificatePath = "C:/Cerificates/clientca.pem";
              String targetURL = "https://localhost:443/feedservice/FeedService";
              //set weblogic ServiceFactory
              System.setProperty( "javax.xml.rpc.ServiceFactory",
              "weblogic.webservice.core.rpc.ServiceFactoryImpl" );
              System.setProperty("java.protocol.handler.pkgs","com.certicom.net.ssl");
              System.setProperty("https.cipherSuites","SHA1withRSA,MD5withRSA");
              SSLAdapterFactory sslFactory = SSLAdapterFactory.getDefaultFactory();
              WLSSLAdapter adapter = (WLSSLAdapter) sslFactory.getSSLAdapter();
              adapter.setProtocolVersion("SSL3");
              adapter.setStrictChecking(true);
              adapter.setVerbose(true);
              FileInputStream clientCredentialFile = new FileInputStream (certificatePath);
              String pwd = "password";
              System.out.println("Loding Certificate from ........"+certificatePath);
              adapter.loadLocalIdentity(clientCredentialFile, pwd.toCharArray());
              System.out.println("Loding CA Certificate from ........"+caCertificatePath);
              adapter.setTrustedCertificatesFile(caCertificatePath);
              // optionally set the Adapter factory to use this instance always.
              sslFactory.setDefaultAdapter(adapter);
              sslFactory.setUseDefaultAdapter(true);               
              // Webservice invocation code..
              call.setTargetEndpointAddress(targetURL);
              call.setProperty("weblogic.webservice.client.ssladapter",adapter);               
              Object result = call.invoke(new Object[]{"test.xml"});
    The error that i get :
    java.io.IOException: Write Channel Closed, possible SSL handshaking or trust failure
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown
    Source)
    at com.certicom.tls.record.ReadHandler.interpretContent(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown
    Source)
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown
    Source)
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:67)
    at java.io.BufferedOutputStream.write(BufferedOutputStream.java:106)
    at java.io.FilterOutputStream.write(FilterOutputStream.java:78)
    at weblogic.webservice.binding.soap.HttpClientBinding.writeToStream(HttpClientBinding.java:359)
    at weblogic.webservice.binding.soap.HttpClientBinding.send(HttpClientBinding.java:284)
    at weblogic.webservice.core.handler.ClientHandler.handleRequest(ClientHandler.java:34)
    at weblogic.webservice.core.HandlerChain.handleRequest(HandlerChain.java:131)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:421)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:363)
    at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:423)
    at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:292)
    at com.chase.userspace.aceclient.Client.main(Client.java:253)
    Exception in handler's handleRequest().
    Exception in thread "main" javax.xml.rpc.soap.SOAPFaultException: Write Channel
    Closed, possible SSL handshaking or trust fail
    ure
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:479)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:363)
    at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:423)
    at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:292)
    at com.chase.userspace.aceclient.Client.main(Client.java:253)
    Can someone give the working phone number of ....BEA CUSTOMER SUPPORT...

    The signature validation failure means your trusted CA certificate is not the issuer
    of the identity certificate. The identity certificate issuer name can match to
    the trusted CA certificate name, but the signature check really determines whether
    it is the issuer.
    Pavel.
    "Chandra Sekhar Rao" <[email protected]> wrote:
    >
    Hi payal,
    I have the issuer of the server identity certificate in the trust file
    on client
    side. The problem is with signature validation
    "Pavel" <[email protected]> wrote:
    It looks like your client does not trust the server certificate. Make
    sure the
    certificate you pass in adapter.setTrustedCertificatesFile(caCertificatePath);
    is the issuer of the server's identity certificate.
    Pavel.
    "Chandra Sekhar Rao" <[email protected]> wrote:
    Hi,
    I Have a problem while working with Two-way SSL. I get Write Channel
    Closed, possible
    SSL handshaking or trust failure error while contacting the server
    for
    invoking
    a webservice secured by SSL.
    I could figure out that the error is happening on client side whilevalidating
    the server certificate.
    One more observation that i was able to find is, it works fine if the
    Server certificate
    and the client certificate are signed by the same (root) CA.
    I tried various options but couldn't find my luck. The BEA documentation
    in this
    regards is not at all sufficient.
    If i give strict checking false on my client end, the application works
    fine.
    But for my scenario i want strict checking to be happend (otherwisethere
    is no
    point in going for SSL itself).
    I am using WLSSLAdapter on my client side. The client application is
    a standalone
    java class running out of weblogic (ideally running on JRun).
    The way i have coded in my java class is:
    String certificatePath = "C:/Cerificates/cert.pem";
              String caCertificatePath = "C:/Cerificates/clientca.pem";
              String targetURL = "https://localhost:443/feedservice/FeedService";
              //set weblogic ServiceFactory
              System.setProperty( "javax.xml.rpc.ServiceFactory",
              "weblogic.webservice.core.rpc.ServiceFactoryImpl" );
              System.setProperty("java.protocol.handler.pkgs","com.certicom.net.ssl");
              System.setProperty("https.cipherSuites","SHA1withRSA,MD5withRSA");
              SSLAdapterFactory sslFactory = SSLAdapterFactory.getDefaultFactory();
              WLSSLAdapter adapter = (WLSSLAdapter) sslFactory.getSSLAdapter();
              adapter.setProtocolVersion("SSL3");
              adapter.setStrictChecking(true);
              adapter.setVerbose(true);
              FileInputStream clientCredentialFile = new FileInputStream (certificatePath);
              String pwd = "password";
              System.out.println("Loding Certificate from ........"+certificatePath);
              adapter.loadLocalIdentity(clientCredentialFile, pwd.toCharArray());
              System.out.println("Loding CA Certificate from ........"+caCertificatePath);
              adapter.setTrustedCertificatesFile(caCertificatePath);
              // optionally set the Adapter factory to use this instance always.
              sslFactory.setDefaultAdapter(adapter);
              sslFactory.setUseDefaultAdapter(true);               
              // Webservice invocation code..
              call.setTargetEndpointAddress(targetURL);
              call.setProperty("weblogic.webservice.client.ssladapter",adapter);
              Object result = call.invoke(new Object[]{"test.xml"});
    The error that i get :
    java.io.IOException: Write Channel Closed, possible SSL handshakingor
    trust failure
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown
    Source)
    at com.certicom.tls.record.ReadHandler.interpretContent(Unknown
    Source)
    at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown
    Source)
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown
    Source)
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:67)
    at java.io.BufferedOutputStream.write(BufferedOutputStream.java:106)
    at java.io.FilterOutputStream.write(FilterOutputStream.java:78)
    at weblogic.webservice.binding.soap.HttpClientBinding.writeToStream(HttpClientBinding.java:359)
    at weblogic.webservice.binding.soap.HttpClientBinding.send(HttpClientBinding.java:284)
    at weblogic.webservice.core.handler.ClientHandler.handleRequest(ClientHandler.java:34)
    at weblogic.webservice.core.HandlerChain.handleRequest(HandlerChain.java:131)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:421)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:363)
    at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:423)
    at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:292)
    at com.chase.userspace.aceclient.Client.main(Client.java:253)
    Exception in handler's handleRequest().
    Exception in thread "main" javax.xml.rpc.soap.SOAPFaultException: Write
    Channel
    Closed, possible SSL handshaking or trust fail
    ure
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:479)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:363)
    at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:423)
    at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:292)
    at com.chase.userspace.aceclient.Client.main(Client.java:253)
    Can someone give the working phone number of ....BEA CUSTOMER SUPPORT...

  • "java.io.IOException: Write Channel Closed" starting AdminServer from WLST

    Hi,
    I am trying to start the admin server through WLST.
    Per "Oracle® Fusion Middleware WebLogic Scripting Tool Command Reference 11g Release 1 (10.3.2)" I tried it both ways - online and offline.
    When online
    wls:/nm/ClassicDomain> startServer('AdminServer','ClassicDomain','t3://10.110.90.156:7002','weblogic','<password>','/u0/app/oracle/product/middleware/user_projects/domains')
    I am getting
    Starting server AdminServer ...
    Traceback (innermost last):
    File "<console>", line 1, in ?
    File "<iostream>", line 412, in startServer
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEStarting server AdminServer ...
    Traceback (innermost last):
    File "<console>", line 1, in ?
    File "<iostream>", line 412, in startServer
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
    at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
    at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:276)
    at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
    at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
    at java.io.BufferedWriter.flush(BufferedWriter.java:236)
    at weblogic.nodemanager.common.DataFormat.writeCommand(DataFormat.java:243)
    at weblogic.nodemanager.client.NMServerClient.sendCmd(NMServerClient.java:320)
    at weblogic.nodemanager.client.NMServerClient.sendServer(NMServerClient.java:265)
    at weblogic.nodemanager.client.NMServerClient.start(NMServerClient.java:94)
    at weblogic.management.scripting.NodeManagerService.nmStart(NodeManagerService.java:368)
    at weblogic.management.scripting.LifeCycleHandler.startSvr(LifeCycleHandler.java:887)
    at weblogic.management.scripting.WLScriptContext.startSvr(WLScriptContext.java:384)
    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)
    java.io.IOException: java.io.IOException: Write Channel Closed
    and the node manager log shows:
    WARNING: Uncaught exception in server handlerjava.io.IOException: Bad properties data format
    java.io.IOException: Bad properties data format
    at weblogic.nodemanager.common.DataFormat.readProperties(DataFormat.java:44)
    at weblogic.nodemanager.server.Handler.handleStart(Handler.java:537)
    at weblogic.nodemanager.server.Handler.handleCommand(Handler.java:118)
    at weblogic.nodemanager.server.Handler.run(Handler.java:70)
    at java.lang.Thread.run(Thread.java:619)
    And if I try it offline
    wls:/offline> startServer('AdminServer','ClassicDomain','t3://10.110.90.156:7002','weblogic','<passwd>','/u0/app/oracle/product/middleware/user_projects/domains');
    I am getting a big stack below. Can anybody through an idea?
    Thank you
    Anatoliy
    Offline stack:
    Starting weblogic server ...
    WLST-WLS-1273604718586: <May 11, 2010 3:05:19 PM EDT> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with BEA JRockit(R) Version R27.6.5-32_o-121899-1.6.0_14-20091001-2113-linux-ia32 from BEA Systems, Inc.>
    WLST-WLS-1273604718586: <May 11, 2010 3:05:20 PM EDT> <Info> <Management> <BEA-140013> </u0/app/oracle/product/middleware/user_projects/domains/config/config.xml not found>
    WLST-WLS-1273604718586: <May 11, 2010 3:05:20 PM EDT> <Info> <Management> <BEA-141254> <Generating new domain directory in /u0/app/oracle/product/middleware/user_projects/domains>
    ...WLST-WLS-1273604718586: <May 11, 2010 3:05:27 PM EDT> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason:
    WLST-WLS-1273604718586:
    WLST-WLS-1273604718586: There are 1 nested errors:
    WLST-WLS-1273604718586:
    WLST-WLS-1273604718586: weblogic.management.ManagementException: Failure during domain creation
    WLST-WLS-1273604718586: at weblogic.management.internal.DomainDirectoryService.generateDomain(DomainDirectoryService.java:229)
    WLST-WLS-1273604718586: at weblogic.management.internal.DomainDirectoryService.ensureDomainExists(DomainDirectoryService.java:152)
    WLST-WLS-1273604718586: at weblogic.management.internal.DomainDirectoryService.start(DomainDirectoryService.java:72)
    WLST-WLS-1273604718586: at weblogic.t3.srvr.ServerServicesManager.startService(ServerServicesManager.java:461)
    WLST-WLS-1273604718586: at weblogic.t3.srvr.ServerServicesManager.startInStandbyState(ServerServicesManager.java:166)
    WLST-WLS-1273604718586: at weblogic.t3.srvr.T3Srvr.initializeStandby(T3Srvr.java:749)
    WLST-WLS-1273604718586: at weblogic.t3.srvr.T3Srvr.startup(T3Srvr.java:488)
    WLST-WLS-1273604718586: at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:446)
    WLST-WLS-1273604718586: at weblogic.Server.main(Server.java:67)
    WLST-WLS-1273604718586: Caused by: com.bea.plateng.domain.script.ScriptException: The domain location must have write permission.
    WLST-WLS-1273604718586: at com.bea.plateng.domain.script.ScriptExecutor.writeDomain(ScriptExecutor.java:723)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.script.ScriptParserClassic$StateMachine.processWrite(ScriptParserClassic.java:575)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.script.ScriptParserClassic$StateMachine.execute(ScriptParserClassic.java:431)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.script.ScriptParserClassic.parseAndRun(ScriptParserClassic.java:150)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.script.ScriptParserClassic.doExecute(ScriptParserClassic.java:112)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.script.ScriptParser.execute(ScriptParser.java:73)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.DomainInfoHelper.executeSilentScript(DomainInfoHelper.java:858)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.DomainInfoHelper.createDefaultDomain(DomainInfoHelper.java:1762)
    WLST-WLS-1273604718586: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    WLST-WLS-1273604718586: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    WLST-WLS-1273604718586: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    WLST-WLS-1273604718586: at java.lang.reflect.Method.invoke(Method.java:597)
    WLST-WLS-1273604718586: at weblogic.management.internal.DomainDirectoryService.generateDomain(DomainDirectoryService.java:224)
    WLST-WLS-1273604718586: ... 8 more
    WLST-WLS-1273604718586:
    WLST-WLS-1273604718586: >
    WLST-WLS-1273604718586: <May 11, 2010 3:05:27 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>
    WLST-WLS-1273604718586: <May 11, 2010 3:05:27 PM EDT> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>
    WLST-WLS-1273604718586: <May 11, 2010 3:05:27 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>
    WLST-WLS-1273604718586: Stopped draining WLST-WLS-1273604718586
    WLST-WLS-1273604718586: Stopped draining WLST-WLS-1273604718586 .............................................Could not connect to the server to verify that it has started. The error returned is: javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3://10.110.90.156:7002: Destination unreachable; nested exception is:
            java.net.ConnectException: Connection refused; No available router to destination] Traceback (innermost last):
    File "<console>", line 1, in ?
    File "<iostream>", line 432, in startServer
    File "<iostream>", line 618, in raiseWLSTException
    WLSTException: Error occured while performing startServer : Could not start the server, the process might have timed out or there is an Error starting the server. Please refer to the log files for more details.

    Hi,
    Thank you for the quick response.
    I tried that, I can connect so wls:/offline> nmConnect('weblogic','password','10.110.90.156','5556','ClassicDomain','/u0/app/oracle/product/middleware/user_projects/domains/ClassicDomain');
    Connecting to Node Manager ...
    Successfully Connected to Node Manager.
    wls:/nm/ClassicDomain>
    but on
    nmStart(serverName="AdminServer",domainDir="/u0/app/oracle/product/middleware/user_projects/domains/ClassicDomain")
    Starting server AdminServer ...
    Error Starting server AdminServer: weblogic.nodemanager.NMException: Exception while starting server 'AdminServer'
    wls:/nm/ClassicDomain> nmStart(serverName="AdminServer",domainDir="/u0/app/oracle/product/middleware/user_projects/domains/ClassicDomain")
    Starting server AdminServer ...
    Error Starting server AdminServer: weblogic.nodemanager.NMException: Exception while starting server 'AdminServer'
    wls:/nm/ClassicDomain>
    And the AdminServer log shows security authentication error. Wondering why since I am not entering password when I do nmStart?
    Do you have an idea?
    Thank you
    Anatoliy

  • Read web page content via Sockets

    Hey,
    I have to write a program that will read web page content, using sockets.
    I got that piece of code and it works for most pages:
    Socket socket = new Socket(address, 80);
              BufferedReader input =
                   new BufferedReader(
                        new InputStreamReader(socket.getInputStream()));
              PrintWriter output =
                   new PrintWriter(socket.getOutputStream(), true);
              output.println("GET " + pageName);
              String response = "";
              String curline  = input.readLine();
              int i=1;
              while(curline != null){
                 response += "\n" + curline;
                   curline   = input.readLine();
                   System.out.println(i + curline);
                   ++i;
              output.close();
              input.close();but not for the one it is supposed to work:
    http://portalwiedzy.onet.pl/tlumacz.html
    I could get it to work using this:
    URL url = new URL(host + query);
    URLConnection uc = url.openConnection();but I really have to use sockets.
    Any advice, people? :-)

    There's an RFC that goes over the HTTP protocol (or rather, several RFCs for the several versions of the protocol). You probably want to google for that and use it as a reference for this project.

  • JDBC Adaper "socket closed"

    Hello All,
      We are trying to update a database table in Oracle through SAP XI.
      Our scenario is IDOC to JDBC.
      We are facing a problem during the JDBC connectivity between XI and Oracle.
      <b>In adapter monitoring the error saying that Java.sql.SQLException: IO Exception: "socket closed".</b>
    We are using XI 3.0 with Oracle 9.2 and at the other end the Database system(where the updation is to be done) is based on Oracle 8.1
    The above process works when we try to update the database table (created on Oracle 8i) throgh JAVA Application.
    <b>When this updation occurs throgh XI it fails!!</b>
    Thanks in Adv.
    Rajesh Yallabandi

    Good day Yallabandi,
    Can other SQL statment works?
    <u>If not then:</u>
    Please check that you supplied the JDBC adapter with the right and most updated matching JDB\CODBC driver for your destination database.
    You also need to load the right jars to your Adapter framwork using the SDM tool.
    Follow the "How To Install and configure JDBC" guide
    supplied by SAP (get it on the service market place).
    Good luck.
    Nimrod Gisis
    Message was edited by: Nimrod Gisis

  • Socket closed exception

    Hi all,
    I am trying to execute an XI scenario in which i am sending data from sap R/3 system to a table in Oracle 8.0 system using JDBC adapter.
    The XI server has JDBC 9.0 driver.
    On sending the message, status shown on the XI server is successful, but no data is getting posted in the table.
    In XI runtime workbench, in component monitoring, the error shown with the JDBC driver is SOCKET CLOSED.
    Pls if anybody can help me with this problem.
    Its very urgent.
    Thanks in advance.
    Regards
    Neetu

    Hi,
    The error shown in the Adapter Monitor in Runtime Workbench is:
    Receiver Adapter v1027 for Party '', Service 'HURES':
    Configured at 16:35:07 2006-05-12
    Last message processing started 15:16:02 2006-05-13, Error: Transform error in xml processor class, rollback:
    ERROR:Processing request: Error when executing statement for table/stored proc. 'sap_promotion': java.sql.SQLException: Io exception: Socket closed
         at com.sap.aii.adapter.jdbc.xml2sql.service(xml2sql.java:175)
         at com.sap.aii.adapter.jdbc.XI2JDBC.onInternalMessage(XI2JDBC.java:266)
         at com.sap.aii.adapter.jdbc.SapAdapterServiceFrameImpl.callSapAdapter_i(SapAdapterServiceFrameImpl.java:170)
         at com.sap.aii.adapter.jdbc.SapAdapterServiceFrameImpl.callSapAdapter(SapAdapterServiceFrameImpl.java:146)
         at com.sap.aii.af.modules.CallAdapterWithMessageBean.process_receiver(CallAdapterWithMessageBean.java:206)
         at com.sap.aii.af.modules.CallAdapterWithMessageBean.process(CallAdapterWithMessageBean.java:161)
         at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl1.process(ModuleLocalLocalObjectImpl1.java:103)
         at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:221)
         at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103)
         at com.sap.aii.af.listener.AFWListenerBean.onMessage(AFWListenerBean.java:216)
         at com.sap.aii.af.listener.AFWListenerLocalObjectImpl0.onMessage(AFWListenerLocalObjectImpl0.java:103)
         at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:262)
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onDeliver(XIEventHandler.java:611)
         at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.invokeHandler(ReceiveConsumer.java:353)
         at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.onMessage(ReceiveConsumer.java:98)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:419)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
    Regards
    Neetu

  • JSSE causes OSB business services to receive Socket Closed

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

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

  • SQLException: Io exception: socket closed: Bad file number;

    Hi,
    My server application connects oracle 8i using thin driver.
    My code opens a connection and create a statement object:
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection connection = DriverManager.getConnection(url, username, password);
    connection.setAutoCommit(false);
    Statement statement = connection.createStatement();
    After a few hours it runs just fine I get the following error:
    java.sql.SQLException: Io exception: socket closed: Bad file number;
    The code line that couses this exception is:
    statement.executeQuery("my SQL query");
    after this there are more errors:
    ;java.sql.SQLException: Protocol violation;
    (in code line: connection.execCommit())
    and than a repeated exception of :
    java.sql.SQLException: Io exception: Broken pipe;
    Does anyone knows a solution? (is the problem in my code or in the oracle account?)
    Thank!!!

    Which package you are using? if you don't have
    classes12.zip, try again by including that package in
    the classpath. If you are already using classes12.zip
    then try by including nls_charset12.zip in the
    classpath.
    You can get these packages in Oracle (otn) website.
    SudhaThanks!
    I had classes12.zip in my classpath, but my classpath also had: classes111.zip
    so i removed classes111.zip from the classpath and as far as now,
    the problem did not occur again!
    (i also added nls_charset12.zip just to be sure)
    Lilach

Maybe you are looking for

  • How to delay a method to execute

    Hello, I need to write a program which displays some texts for several seconds, and then erase the texts. I developed it in a JTextArea. please see the demo code. I used a sleep method from a Thread class. But it delays the displaying texts rather th

  • Please help! I need to upgrade my Mac from 10.4.11 to Leopard.

    It's a PowerPC G4. Can I upgrade to 10.5.6 or do I need to upgrade to 10.5 first?  Thanks in advance for your assistance.

  • C4580 will only print 2 inches of a page in Excel 2007, Vista 64-bit OS

    My C4580 will only print 2 inches of a pages, (the left 2 inches) from Excel & Microsoft works. I've tried updating driver and reinstalling.  It work fine for my other computer which has Windows XP.  Please help.

  • Merging AIR Help Failing. I have tried everything?

    Hello, I have read through the other discussions, read through the help and watched I have vids from the evangelist but for some reason I am unable to get the project to merge. I have used the Tool Air Wizard and have created the XML file in the proj

  • Finding first child in a calculation script

    Hi all, in my calculation script i would like to find the first child for allocation, i searched in essbase technical reference but no way there is no function that can help me to find it, i give you an example of structure: May09 --------W090518 ---