Исключение в потоке "main" javax.naming.CommunicationException - PullRequest
1 голос
/ 24 февраля 2012

Я создал приложение ejb2 в eclipse 3.7 с сервером приложений jboss 5.0. мой код клиента выглядит следующим образом-

import rohit.*;

import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.ejb.CreateException;


public class Main {
    public static void main(String[] args)throws Exception {
        // TODO Auto-generated method stub
        try{
        Context  ctx = getContext();
        //Context  ctx=new InitialContext();
        Object obj=ctx.lookup("ProductBean");
        ProductHome home =(ProductHome) javax.rmi.PortableRemoteObject.narrow(obj, ProductHome.class);
        ProductRemote remote=home.create();

        Product prd = new Product("PRDCamera",001,50.50) ;
        remote.addProduct(prd);
        remote.updateProduct(prd);
        remote.removeProduct(001);
        remote.findProduct(001);
        remote.findAllProduct();
        }
        catch(CreateException e){}


    }

    public static InitialContext getContext() throws Exception{
    Properties pro = new Properties();
    pro.put(javax.naming.InitialContext.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
    pro.put(javax.naming.InitialContext.PROVIDER_URL,"http://localhost:1099");

    return new InitialContext(pro);
 }


    /* (non-Java-doc)
     * @see java.lang.Object#Object()
     */
    public Main() {
        super();
    }

}

при запуске я получаю следующую ошибку-

Exception in thread "main" javax.naming.CommunicationException: Could not obtain connection to any of these urls: http://localhost:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server http:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server http:1099 [Root exception is java.net.UnknownHostException: http]]]
    at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1727)
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:680)
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:673)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at Main.main(Main.java:15)
Caused by: javax.naming.CommunicationException: Failed to connect to server http:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server http:1099 [Root exception is java.net.UnknownHostException: http]]
    at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:311)
    at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1698)
    ... 4 more
Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server http:1099 [Root exception is java.net.UnknownHostException: http]
    at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:281)
    ... 5 more
Caused by: java.net.UnknownHostException: http
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:849)
    at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1202)
    at java.net.InetAddress.getAllByName0(InetAddress.java:1153)
    at java.net.InetAddress.getAllByName(InetAddress.java:1083)
    at java.net.InetAddress.getAllByName(InetAddress.java:1019)
    at java.net.InetAddress.getByName(InetAddress.java:969)
    at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:81)
    at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:277)
    ... 5 more

так в чем проблема? Порт jndi для jboss - 1099 (уже проверено).

1 Ответ

0 голосов
/ 24 февраля 2012

попробуйте удалить http:// из вашего URL

...