Problem with Embedded OC4J: Address already in use: JVM_Bind

When I try to run a Servlet in JDeveloper 10g it works fine. But when I stop the Embedded OC4J and try to run the Servlet again, the following message appears in the log:
[Starting OC4J using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
C:\oracle\ora10g\jdev\jdk\bin\javaw.exe -hotspot -classpath C:\oracle\ora10g\jdev\j2ee\home\oc4j.jar;C:\oracle\ora10g\jdev\jdev\lib\jdev-oc4j.jar -Xverify:none -Ddisable.checkForUpdate=true -Doracle.j2ee.dont.use.memory.archive=true -Doracle.j2ee.http.socket.timeout=500 -Doracle.dms.sensors=NONE -Doc4j.jms.usePersistenceLockFiles=false com.evermind.server.OC4JServer -config C:\oracle\ora10g\jdev\jdev\system9.0.5.0.0.1375\oc4j-config\server.xml
[waiting for the server to complete its initialization...]
03/10/23 14:23:01 Error starting ORMI-Server. Unable to bind socket: Address already in use: JVM_Bind
Process exited with exit code 7.
What could be causing this problem?
Thanks in advance!

Modify the config/rmi.xml file to have the host attribute in the tag as follows:
<rmi-server port="23791" host="server-ip-address">
</rmi-server>
After that, place the log4j-your-jdev-version.jar in appserverhome/j2ee/home/lib folder.
Restart the server. The bind problem would disappear.
Hope this solves your problem :-)
Ramesh

Similar Messages

  • Problem Address already in use: JVM_Bind with HSQLDB

    hi im using NetBeans5.0 and hsqldb1.8 with jdk1.4. after starting the database server frm code when my application launches and try to acess database it gives me error below. i tried using command "netstat" so that i can findout the alreasy used port and make it free for my application. but port im usiing oening port-8084 and shutdown port 9081, both are free. but still m getting this error.
    [Server@1a9876e]: [Thread[HSQLDB Server @1a9876e,5,main]]: run()/openServerSocket():
    java.net.BindException: Address already in use: JVM_Bind
            at java.net.PlainSocketImpl.socketBind(Native Method)
            at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:331)
            at java.net.ServerSocket.bind(ServerSocket.java:318)
            at java.net.ServerSocket.<init>(ServerSocket.java:185)
            at java.net.ServerSocket.<init>(ServerSocket.java:97)
            at org.hsqldb.HsqlSocketFactory.createServerSocket(Unknown Source)
            at org.hsqldb.Server.openServerSocket(Unknown Source)
            at org.hsqldb.Server.run(Unknown Source)
            at org.hsqldb.Server.access$000(Unknown Source)
            at org.hsqldb.Server$ServerThread.run(Unknown Source)Cananyone help me in this problem.

    sunlover1984 wrote:
    Sorry, to use such short forms in forums as i dont know much about this. i rarly use java forum. well, i removed the code that i gave u for server starting. but still it is giving me the same error. this time i put it in a java bean file.(Hint "u" is just another short form).
    Did you try the suggestion to put a log statement just before you start the server? Or put a breakpoint at that line and see how often it is reached.
    Because the only reason for this problem is that something is already listening at that port.
    And if there's really nothing listening before you start you application, then only your application itself can listen there already, so the logical conclusion for me would be that you're starting the Server twice.

  • Address already in use: JVM_Bind

    Hello,
    I have a application client-server, the socket client connects to the server. After awhile, the server pushes news connections back. In the part client appears:
    java.net.ConnectException: Connection refused: connect
    I detect the problem and try to reconnect the server, it gives: Address already in use: JVM_Bind
    Can I avoid the first one?
    Have I to close the clients before the server reconnects?
    Thank you.
    Regards.

    Is that one of those Windows built-in firewalls or a real one? With >firewall I was thinking of it getting overwhelmed by too many >connections.the firewall is in other computer.
    How many connections per second do you get? If there are hundreds >it could still be listen queue. The default length is 50 (unless the OS >forces it smaller) which should be enough for most situations.In this moment, there are 183 connections, one in ESTABLISHED and the rest in CLOSE_WAIT, but today it doesn't produce the error. Per second it must have few connections.
    Run "netstat -n". Are there tens of thousands of connections in >TIME_WAIT or something? Or just open sockets? Is there a related >error message in system log files (Unix) or Control panel -> >Admininstrative -> Event Viewer (Windows)? There aren't events in the viewer.
    The server gets no >exceptions (you are careful to log everything)? I'm thinking of running >out of file/socket descriptors or socket buffers or something.When in the client appears this error, in the server doesn't appear anything
    When you get the error does it start working after a while >automatically? I'm thinking if it is listen queue overflow that should >clear itself automatically.No, I have to close the program and open again. If the program detects it and intents close server socket and open directly, it produces Address already in use: JVM_Bind.
    When the socket "breaks" run "telnet localhost ThePortNumber" on >the server computer - does it connect? Run "netstat -n" on the server, >is there a LISTENING entry for the socket?I probe the next time
    I don't think server sockets suddenly somehow spontaneously break.Ok, it can reach the limit, but then mi question is how open again the server socket

  • Address already in use: JVM_Bind error in DOS

    Hello,
    I am writing a multi threaded client server (Both client and server are multi threaded) program.where I have set of clients performing secure file transfer amongst them self. Here there is a Indexing server who is keeping record of all the files contained by clients. A client will make a request for a file to the Indexing Server which intern return the port no. and address of the client having that file. Now this client will connect to another client (Which now will act as server) to get the file and public key .
    Now I am connecting to server by using fix port number.
    Socket client = new Socket("127.0.0.1",2345)
    Also since the request for file from another client can come therefor I am creating a thread to start listning port on client side by,
    serverSocket serversocket = new serverSocket(client.getLocalport);
    //provided that connection to server with port 2345 already made.
    but when I am running this program through "DOS" it is giving me an error Address already in use: JVM_Bind.
    //checked through netstat and found that localport for the client is bound to 2345 (That is obvious)
    But when I am running this program in unix I am getting no error.

    ServerSocket.setReuseAddress(true) does not work on vista. Why? The following code is OK on XP, but throw the above exception on vista.
         @Test
         public void test() throws Throwable {
              Thread t = new Thread() {
                   public void run() {
                        ServerSocket ss;
                        try {
                             ss = new ServerSocket( 11111 );
                             System.out.println( "In Thread: " + ss );
                             System.out.println( "In Thread: " + ss.accept() );
                        } catch (IOException e) {
                             e.printStackTrace();
              t.start();
              Socket cs = new Socket( (String)null, 11111 );
              System.out.println( cs );
              ServerSocket s = new ServerSocket();
              s.setReuseAddress( true );
              s.bind( new InetSocketAddress( cs.getLocalPort() ) );
              System.out.println( s );
         }

  • Error starting HTTP-Server: Address already in use: JVM_Bind

    Hello,
    I installed IAS 10.1.2.0.2. then I tried to start an application and get the following:
    D:\Oracle_Home_IAS\j2ee\home>java -jar oc4j.jar
    07/01/08 10:04:00 Error starting HTTP-Server: Address already in use: JVM_Bind
    07/01/08 10:04:01 Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)
    initialized
    07/01/08 10:04:01 !!! No valid java compiler found !!!
    07/01/08 10:04:01 javac.exe not found under D:\MDK\jre\1.4.2, please use a valid
    jdk or specify the location of your java compiler in server.xml using the <java
    -compiler .../> tag

    If I had to guess, you are starting HTTP Server on the same port as some other service.
    BTW, Oracle Express is not a supported platform for Mobile Server.

  • Problem with Embedded OC4J - Can find EJB class???

    I am getting the following error when starting my application within JDeveloper.
    05/06/22 16:11:35 Error instantiating application 'current-workspace-app' at file:/C:/developc/developc-oc4j-app.xml: Error initializing ejb-module; Exception Error loading class 'com.syncra.ct.server.AggregatesManagerBean': java.lang.ExceptionInInitializerError: java.lang.NullPointerException
    It never reaches breakpoints in the class. So, I assume that it can't find the class in the classpath. But, when I look at the developc-oc4j-app.xml file see the following:
    <ejb-module path="file:/C:/developc/Model/classes/"/>
    <web-module id="developc-ViewController-webapp" path="C:\developc\ViewController\public_html"/>
    and the ejb class is in the correct spot. Any help would be greatly appreciated. I am on JDeveloper 10.1.2.
    Thanks.

    I put a static method in the class to print out when it is loaded. And the class exists in the classpath. It is never making it to the class.
    Also, I do have both the JAVA_HOME and ORACLE_HOME environment variables set.
    The ejb definitions are:
    ejb-jar.xml
    <session>
    <ejb-name>ct.AggregatesManagerHome</ejb-name>
    <home>com.syncra.ct.server.api.AggregatesManagerHome</home>
    <remote>com.syncra.ct.server.api.AggregatesManager</remote>
    <ejb-class>com.syncra.ct.server.AggregatesManagerBean</ejb-class>
    <session-type>Stateful</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    orion-ejb-jar.xml
    <session-deployment name="ct.AggregatesManagerHome" location="ct.AggregatesManagerHome"/>
    Because JDeveloper forces me to split the code into Model and ViewController I am wondering if there is something special that needs to be done for OC4J to see everything. Any ideas?
    Nick

  • Ipv4 mapped addresses bind problem: address already in use.

    Hello. It's me again with another, may be newbie, question.
    This time I observe different behavior binding different type of ip addresses on tcp sockets. For instance
    - when I bind ipv4 mapped addresses, if there is a remaining old socket in TIME_WAIT state from a previous run
    I get the error 'Address already in use', event with SO_REUSEADDR set.
    - when I bind another type of ipv6 or just ipv4 addresses. if there if a remaining old socket in TIME_WAIT state from
    a previous run, the bind is successful (SO_REUSEADDR is set).
    How can be explained this behavior?
    Thanks a lot.
    Details
    =======
    I made a small program to test this. This program:
    - dump the addresses to be used in bind() and connect()
    - creates a LISTEN SOCKET calling
    - socket(AF_INET6, SOCK_STREAM, 0)
    - fcntl(F_SETFD, fcntl(F_GETFD) | FD_CLOEXEC)
    - fcntl(F_SETFL, fcntl(F_GETFL) | O_NONBLOCK),
    - setsockopt(SO_REUSEADDR),
    - setsockopt(SO_KEEPALIVE),
    - setsockopt(TCP_NODELAY),
    - bind()
    - listen()
    - creates a CONNECTING SOCKET calling
    - socket(AF_INET6, SOCK_STREAM, 0)
    - fcntl(F_SETFD, fcntl(F_GETFD) | FD_CLOEXEC)
    - fcntl(F_SETFL, fcntl(F_GETFL) | O_NONBLOCK),
    - setsockopt(SO_REUSEADDR),
    - setsockopt(SO_KEEPALIVE),
    - setsockopt(TCP_NODELAY),
    - connect()
    - creates a ACCEPTED SOCKET calling
    - accept()
    - fcntl(F_SETFD, fcntl(F_GETFD) | FD_CLOEXEC)
    - fcntl(F_SETFL, fcntl(F_GETFL) | O_NONBLOCK),
    - setsockopt(SO_REUSEADDR),
    - setsockopt(SO_KEEPALIVE),
    - setsockopt(TCP_NODELAY),
    - issue a std::system( "netstat -an | grep 10329" )
    - wait with select() for a write event in the CONNECTING SOCKET
    - wait with select() for a write event in the ACCEPTED SOCKET
    - close the accepted socket
    - close the connecting socket
    - close the listen socket
    - issue another std::system( "netstat -an | grep 10329" )
    - exit(0)
    Note: please don't get confused with my notation of addresses, the last component, after the last colon, is the port.
    I run it with ipv4 mapped listen address, with this result:
    $ ./test_reuseaddr listen_address=0.0.0.0:10329 connect_address=127.0.0.1:10329
    Listener in *'::ffff:0.0.0.0:10329'*
    1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
    00 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 |................|
    Connect to '::ffff:127.0.0.1:10329'
    1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
    00 00 ff ff 7f 00 00 01 00 00 00 00 00 00 00 00 |................|
    Creating listen socket
    Creating connecting socket
    Creating accepted socket
    netstat -an | grep 10329
    *.10329 *.* 0 0 49152 0 LISTEN
    127.0.0.1.35114 127.0.0.1.10329 49152 0 49152 0 ESTABLISHED
    127.0.0.1.10329 127.0.0.1.35114 49152 0 49152 0 ESTABLISHED
    Closing connecting socket
    Closing accepted socket
    Closing listen socket
    netstat -an | grep 10329
    *127.0.0.1.10329 127.0.0.1.35114 49152 0 49152 0 TIME_WAIT*
    Immediately run it again the same way, with this result (Address already in use):
    $ ./test_reuseaddr listen_address=0.0.0.0:10329 connect_address=127.0.0.1:10329
    Listener in *'::ffff:0.0.0.0:10329'*
    1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
    00 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 |................|
    Connect to '::ffff:127.0.0.1:10329'
    1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
    00 00 ff ff 7f 00 00 01 00 00 00 00 00 00 00 00 |................|
    Creating listen socket
    *### SYSCALL ERROR: bind(): 125, Address already in use*
    Wait and verify that the TIME_WAIT socket has disappeared
    $ sleep 120
    $ netstat -an | grep 10329
    Now run the same program with normal ipv6 listen addresses
    $ ./test_reuseaddr listen_address=*::0*:10329 connect_address=127.0.0.1:10329
    Listener in *':::10329'*
    1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
    Connect to '::ffff:127.0.0.1:10329'
    1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
    00 00 ff ff 7f 00 00 01 00 00 00 00 00 00 00 00 |................|
    Creating listen socket
    Creating connecting socket
    Creating accepted socket
    netstat -an | grep 10329
    *.10329 *.* 0 0 49152 0 LISTEN
    127.0.0.1.35115 127.0.0.1.10329 49152 0 49152 0 ESTABLISHED
    127.0.0.1.10329 127.0.0.1.35115 49152 0 49152 0 ESTABLISHED
    *.10329 *.* 0 0 49152 0 LISTEN
    Closing connecting socket
    Closing accepted socket
    Closing listen socket
    netstat -an | grep 10329
    *127.0.0.1.10329 127.0.0.1.35115 49152 0 49152 0 TIME_WAIT*
    Immediately run it again the same way (no error this time)
    $ ./test_reuseaddr listen_address=*::0*:10329 connect_address=127.0.0.1:10329
    Listener in *':::10329'*
    1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
    Connect to '::ffff:127.0.0.1:10329'
    1a 00 28 59 00 00 00 00 00 00 00 00 00 00 00 00 |..(Y............|
    00 00 ff ff 7f 00 00 01 00 00 00 00 00 00 00 00 |................|
    Creating listen socket
    Creating connecting socket
    Creating accepted socket
    netstat -an | grep 10329
    127.0.0.1.10329 127.0.0.1.35115 49152 0 49152 0 TIME_WAIT
    *.10329 *.* 0 0 49152 0 LISTEN
    127.0.0.1.35116 127.0.0.1.10329 49152 0 49152 0 ESTABLISHED
    127.0.0.1.10329 127.0.0.1.35116 49152 0 49152 0 ESTABLISHED
    *.10329 *.* 0 0 49152 0 LISTEN
    Closing connecting socket
    Closing accepted socket
    Closing listen socket
    netstat -an | grep 10329
    *127.0.0.1.10329 127.0.0.1.35115 49152 0 49152 0 TIME_WAIT*
    *127.0.0.1.10329 127.0.0.1.35116 49152 0 49152 0 TIME_WAIT*
    Run it againg many times with no error.

    sunlover1984 wrote:
    Sorry, to use such short forms in forums as i dont know much about this. i rarly use java forum. well, i removed the code that i gave u for server starting. but still it is giving me the same error. this time i put it in a java bean file.(Hint "u" is just another short form).
    Did you try the suggestion to put a log statement just before you start the server? Or put a breakpoint at that line and see how often it is reached.
    Because the only reason for this problem is that something is already listening at that port.
    And if there's really nothing listening before you start you application, then only your application itself can listen there already, so the logical conclusion for me would be that you're starting the Server twice.

  • Error starting ORMI-Server.  Unable to bind socket: Address already in use:

    hi,
    I run the folowing command "start_oc4j.bat" to start Oc4j.
    It starts successfully.
    Then I start "BPEL PM Server".
    I get the following error,
    "Error starting ORMI-Server. Unable to bind socket: Address already in use: JVM_Bind".
    I understand the above errror because both of them are trying to bind to the same port. And both of them are trying to start ORMI server. Can some one suggest how to get rid of this problem.
    I tried giving different port numbers for them, but that did not work. Let me know, how to over come this problem.
    with regards
    shaila

    You may have another OC4J running on your computer.
    You should change the port number in the file config/rmi.xml.

  • "BindException: Address already in use" error all the time!

    I made a simple program that streams lines of text across the network/internet and a simple client program to display that text. The problem is, regardless of what port I choose, I always get this exception on the server's side:
    C:\Users\Nathan\Desktop>java LyricalUploader
    Started Listening
    Bound
    Started Listening
    Starting.java.net.BindException: Address already in use: JVM_Bind
            at java.net.PlainSocketImpl.socketBind(Native Method)
            at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
            at java.net.ServerSocket.bind(ServerSocket.java:319)
            at java.net.ServerSocket.<init>(ServerSocket.java:185)
            at java.net.ServerSocket.<init>(ServerSocket.java:97)
            at LyricalUploader.main(LyricalUploader.java:11)What bothers me is it creates the ServerSocket just fine (that's what the output saying "Bound" means) and if I replace the new LyricalThread(ss.accept()).start(); line in the code below with new LyricalThread(ss.accept()).run();, it works fine, It just can't handle more than one client. I have tried many many ports and they all have the same result. What am I doing wrong?
    Here is the code:
    import java.net.*;
    import java.io.*;
    import javax.swing.JFileChooser;
    public class LyricalUploader{
    public static void main(String args[]){
      ServerSocket ss = null;
      int c=0;
      try{
        while(true){
          System.out.println("Started Listening");
          ss = new ServerSocket(49625);
          System.out.println("Bound");
          new LyricalThread(ss.accept()).start();
      catch(Exception e){
        e.printStackTrace();
        System.exit(1);
    import java.net.*;
    import java.io.*;
    public class LyricalThread extends Thread{
      Socket s = null;
      public LyricalThread(Socket so){
        s=so;
      public void run(){
        try{
          System.out.print("Starting.");
          PrintWriter out = new PrintWriter(s.getOutputStream());
          BufferedReader fin =new BufferedReader(new FileReader("Lyrics.txt"));
          System.out.print(".");
          String line = fin.readLine();
          System.out.println(".Done!");
          while(true){
            while(line!=null){
              out.println(line);
              //System.out.println(line);
              line=fin.readLine();
              Thread.sleep(1600);
            fin.close();
            System.out.println("End of Lyrics.txt file.");
            fin =new BufferedReader(new FileReader("Lyrics.txt"));
        catch(Exception e){
          e.printStackTrace();
          return;
      public static void main(String arg[]){
        new LyricalThread(null).start();
    }And the Client code:
    import java.net.*;
    import java.io.*;
    import javax.swing.JFileChooser;
    public class LyricalReader{
      public static void main(String args[]) throws Exception{
        Socket s = null;
        BufferedReader sin = null;
        FileOutputStream out = null;
        try{
          System.out.println("Started");
          System.out.print("Connecting...");
          s = new Socket("2.9.19.94",49625);
          System.out.println("Done!");
          System.out.print("Finding song...");
          sin = new BufferedReader(new InputStreamReader(s.getInputStream()));
          String line = sin.readLine();
          System.out.println("Done!\nStarted reading:\n\n\n\n\n\n");
          while(true){
            System.out.println(line);
            line = sin.readLine();
        }catch(Exception e){
          e.printStackTrace();
          sin.close();
          s.close();
          out.close();
        System.exit(0);
    }

    Hi,
    your Server must create only one ServerSocket, not multiples! So write
      try{
        ss = new ServerSocket(49625);
        System.out.println("Bound");
        while(true){
          System.out.println("Started Listening");
          new LyricalThread(ss.accept()).start();
      catch(Exception e){
        e.printStackTrace();
        System.exit(1);
      }and take the creation of the ServerSocket outside the while-loop.
    Martin

  • Address already in use for oc4j-instance: unable to run a form

    Hi,
    I've an error starting the oc4j-instance of forms.
    it says: address already in use JVM-bind.
    i changed the port number to 8888 (it was 8889) in the devsuit/config/default-web-site.xml.
    running for the first time a form JInitiator was installed, applictaion server installation succesfull, but i see only a grey screen (in stead of my form).
    i changed the prot number to 8889 again.
    how to solve?
    by the way, how to combine all oc4j instances into one?
    (I have one for forms, one for reports, one for mapviewer and one for BIPublisher)
    Leo

    Thank you so much for your help.
    It works when I remove the http://%%20" from address in Internet Explorer. But it doesn't work in preference-&gt;runtime. No matter what address I typed, FormBuilder added http://%%20" in front of the address automatically. I don't know what else I need to change to avoid this problem.
    Thank you.

  • Web Service Client, BindException, Address already in use, saaj.SOAPExcepti

    Hello,
    Am caught up with an error and i can't get past it, need some help here.
    My application is a batch processing web service client, reads some input rows, sends web service requets, processes the responses and logs it.
    The application runs well in normal mode, but under load(more thread count), I get this wierd error and I can't make it go away.
    java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
    Caused by: java.net.BindException: Address already in use: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    I have properly closed the connections after each web service calls, but it still says Address in use. Please refer below for the complete stack trace and a piece of the code. Am using SAAJ and JWSDP and am not using AXIS api. I have searched the web but couldn't find any solutions.
    This is not an error that server is not closing connections properly as I was able to test with SOAPUI and LoadRunner with even higher threads and it ran without problems. SOAPUI and LoadRunner scripts were executed from the same client machine as my application uses. Please help.
    For each inputrow
    SOAPConnection connection = null;
    try
    SOAPConnectionFactory soapConnFactory = SOAPConnectionFactory.newInstance();
    connection = soapConnFactory.createConnection();
    SOAPMessage request = getRequest(inputRow);
    SOAPMessage response = connection.call(request, "http://<<server>>:<<port no>>/Domain/Services/Mgmt");
    finally
    if (connection != null)
    connection.close();                         
    }catch(SOAPException se){
    System.out.println("Error while closing connection. " + se.getMessage());
    connection = null;
    } // End of for loop
    Stack Trace:
    java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptio
    nImpl: Message send failed
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.call(HttpSOA
    PConnection.java:121)
    at ClientImpl.getResponse(ClientImpl.java:440)
    at input.InputSampler$MyCallable.call(Sampler.java:63)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
    at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.post(HttpSOA
    PConnection.java:325)
    at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection$PriviledgedP
    ost.run(HttpSOAPConnection.java:150)
    ... 12 more
    Caused by: java.net.BindException: Address already in use: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at sun.net.NetworkClient.doConnect(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.<init>(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown
    Source)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Sour
    ce)
    at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown S
    ource)
    at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.post(HttpSOA
    PConnection.java:282)
    Is there something like connection pooling for web services, is that the answer to this issue, if yes, please let me know where i should start.
    Thanks
    Dev

    Move server socket creation out of while loop. You don't need to create new server socket every time.

  • Ftp (GNU inetutils) 1.6 error : [ftp: bind: Address already in use]

    hi,
    recently I discovered that I cant connect to many ftp servers using the common command line ftp client from a 64bit archlinux box.
    I tried connecting from other PCs at the same network (iMac) and it works without problems, the error is general, shows with every ftp server I tried,
    the client connects and then freezes or returns an error (depending on the ftp server)
    ftp: bind: Address already in use
    I got no firewall or iptables rules, I installed ncftp with pacman and it works, so I assume it's a ftp (GNU) client error,
    thanks
    GL

    Hi,
    see
    http://forum.java.sun.com/thread.jsp?forum=136&thread=417946
    http://forum.java.sun.com/thread.jsp?forum=136&thread=430814
    -- markus.

  • Address already in use: make_sock

    Hi folks,
    I am getting an error with iAS 10.1.2.0.2. When it happens I cannot connect to my httpd server. The error log shows errors like
    [Tue Nov 28 05:11:24 2006] [crit] (98)Address already in use: make_sock: could not bind to address 127.0.0.1 port 7201
    I know that the obvious answer is that there is some other process that is using port 7201 on the machine, however there is no evidence of there being one.
    $ opmnctl status
    Processes in Instance: GAR.pserv0082.us.oracle.com
    ------------------------------------------------+---------
    ias-component | process-type | pid | status
    ------------------------------------------------+---------
    DSA | DSA | N/A | Down
    LogLoader | logloaderd | N/A | Down
    dcm-daemon | dcm-daemon | N/A | Down
    OC4J | home | 13931 | Alive
    OC4J | oc4j_GAR | 13930 | Alive
    HTTP_Server | HTTP_Server | 13932 | Alive
    # lsof | grep '7201 '
    httpd 13932 ora10gr2 15u IPv4 411698105 TCP localhost.localdomain:7201 (LISTEN)
    httpd 13958 ora10gr2 15u IPv4 411698105 TCP localhost.localdomain:7201 (LISTEN)
    httpd 13960 ora10gr2 15u IPv4 411698105 TCP localhost.localdomain:7201 (LISTEN)
    httpd 13961 ora10gr2 15u IPv4 411698105 TCP localhost.localdomain:7201 (LISTEN)
    httpd 13962 ora10gr2 15u IPv4 411698105 TCP localhost.localdomain:7201 (LISTEN)
    httpd 13963 ora10gr2 15u IPv4 411698105 TCP localhost.localdomain:7201 (LISTEN)
    httpd 13964 ora10gr2 15u IPv4 411698105 TCP localhost.localdomain:7201 (LISTEN)
    httpd 13965 ora10gr2 15u IPv4 411698105 TCP localhost.localdomain:7201 (LISTEN)
    # netstat -a | grep 7201 | more
    tcp 0 0 localhost.localdomain:7201 *:* LIST
    EN
    While ompn is running only the iAS user is accessing the port 7201.
    Now we will shut the iAS down.
    $ opmnctl stopall
    opmnctl: stopping opmn and all managed processes...
    $ opmnctl status
    Unable to connect to opmn.
    Opmn may not be up.
    # lsof | grep '7201 '
    # netstat -a | grep 7201 | more
    So from what I can make out, no other process is using port 7201.
    Port 7201 is referenced in dms.conf
    Listen 127.0.0.1:7201
    OpmnHostPort http://127.0.0.1:7201
    Any views on what might be causing the error.

    Hi All, thank you all for your replies. I think I may have found the culprit for this error.
    When we see the following
    $ grep 7200 *.conf
    dms.conf:Redirect /dms0/AggreSpy http://127.0.0.1:7200/dmsoc4j/AggreSpy
    dms.conf:Listen 127.0.0.1:7200
    dms.conf:OpmnHostPort http://127.0.0.1:7200
    dms.conf:<VirtualHost 127.0.0.1:7200>
    The error I got was
    [Fri Dec  1 04:31:45 2006] [crit] (98)Address already in use: make_sock: could not bind to address 127.0.0.1 port 7200
    I decided to remove the virtual host (using iasconsole) and changed the The dms.conf opmn directives to a completely different value
    When we see the following
    dms.conf:Redirect /dms0/AggreSpy http://127.0.0.1:20000/dmsoc4j/AggreSpy
    dms.conf:Listen 127.0.0.1:20000
    dms.conf:OpmnHostPort http://127.0.0.1:20000
    I then used iasconsole to recreate the VirtualHost.
    So far, the error has not occured in nearly 4 days, so it's looking pretty good. It is strange that I'm getting this error having just completed a default install. If the error does happen again, I'll update this post.
    Thanks again for all of your suggestions.

  • Bind address already in use

    Hello all,
    I have a strange problem with TCP sokets.
    on a SunOS5.9 Sparc machine i am running a server progam
    which has the sequence,
    socket()
    bind()
    listen()
    connect().....
    do lots of processing with the clients (around 28 clients)
    close()
    sleep(30)
    server restart the above sequence
    when restarting i get a bind error:
    Address already in Use.
    i have verifeid that the socket is close, return value of close is 0.
    Is it possible that socket resources are not released by kernel?
    Is tuning the value of tcp_time_wait_interval to a low value will help to get the code running.
    Or is there any other tunbale parameter to be tuned out.
    Please help me to resolve this.
    Thanks.

    Hello all,
    I have a strange problem with TCP sokets.
    on a SunOS5.9 Sparc machine i am running a server progam
    which has the sequence,
    socket()
    bind()
    listen()
    connect().....
    do lots of processing with the clients (around 28 clients)
    close()
    sleep(30)
    server restart the above sequence
    when restarting i get a bind error:
    Address already in Use.
    i have verifeid that the socket is close, return value of close is 0.
    Is it possible that socket resources are not released by kernel?
    Is tuning the value of tcp_time_wait_interval to a low value will help to get the code running.
    Or is there any other tunbale parameter to be tuned out.
    Please help me to resolve this.
    Thanks.

  • JDBC "Address already in use"

    CF7 on Windows 2003, using a separate Win2K3 box for SQL 2000
    db...
    Of late, we are seeing web application errors and
    intermittent log entries like these:
    "Error","jrpp-11","03/20/08","23:34:56","mycfdnsname","Error
    Executing Database Query.[Macromedia][SQLServer JDBC Driver]Error
    establishing socket to host and port: dbserver1:1433. Reason:
    Address already in use: connect The specific sequence of files
    included or processed is:
    D:\hosting\mysite.com\httpdocs\myfile.cfm, line: 45 "
    Coupled with that, SQL 2000's SQL Profiler tool indicates
    that many connections (ExistingConnection) are being created for
    that CF DSN (and others on the server), even though that DSN is
    marked for connection pooling (Maintain Connections). Restarting CF
    solves the problem temporarily, but after a while, it begins to
    happen again.
    We are up-to-date on all patches and JDBC drivers. I'm not
    sure what this error means, let alone how to troubleshoot it
    properly. Suggestions?

    scferda wrote:
    > Of late, we are seeing web application errors and
    intermittent log entries like
    > these:
    >
    >
    "Error","jrpp-11","03/20/08","23:34:56","mycfdnsname","Error
    Executing
    > Database Query.[Macromedia][SQLServer JDBC Driver]Error
    establishing socket to
    > host and port: dbserver1:1433. Reason: Address already
    in use: connect The
    > specific sequence of files included or processed is:
    > D:\hosting\mysite.com\httpdocs\myfile.cfm, line: 45 "
    You are running ut of ephemeral ports. Set a lower
    TcpTimedWaitDelay and
    a higher MaxUserPort in your registry. MS has a KB article on
    that.
    Jochem
    Jochem van Dieten
    Adobe Community Expert for ColdFusion

Maybe you are looking for