2012-01-22 6 views
2

Я использую JBoss 6.0. Я запускаю простой веб-сервер, используя библиотеку jboss.resteasy, чтобы обеспечить простые ответы XML на запросы HTTP.Log4j Ошибка инициализации JBoss RestEasy

у меня есть: - Сервер - Простой клиент Java, который создает запрос GET

Теперь вещь, если я использую браузер для доступа к URL, я получить нужный XML. Но если я использую мой Java клиент, который имеет следующий код:

//Register the fake instrument 
GetMethod get = new GetMethod("http:/localhost:8080/"+PROJECT_NAME+"/webserver/registerInstrument/?name=FakeClient&value=0"); 
HttpClient client = new HttpClient(); 

try { 
    int status = client.executeMethod(get); 
} catch (HttpException e) { 
    System.out.println("[FakeClient] HttpException executing AddInstrument GET request: "+e); 
} catch (IOException e) { 
    System.out.println("[FakeClient] IOException executing AddInstrument GET request: "+e); 
} 

Тогда я получаю следующее исключение:

log4j:WARN No appenders could be found for logger (org.apache.commons.httpclient.params.DefaultHttpParams). 
log4j:WARN Please initialize the log4j system properly. 
Exception in thread "main" java.lang.IllegalArgumentException: Host name may not be null 
at org.apache.commons.httpclient.HttpHost.<init>(HttpHost.java:68) 
at org.apache.commons.httpclient.HttpHost.<init>(HttpHost.java:107) 
at org.apache.commons.httpclient.HttpMethodBase.setURI(HttpMethodBase.java:280) 
at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:220) 
at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89) 
at client.FakeClient.<init>(FakeClient.java:30) 
at client.FakeClient.main(FakeClient.java:22) 

Сначала я думал, что это может быть проблема с регистрацией JBoss, но если я получаю доступ к URL-адресу через браузер, я получаю нужный XML без проблем.

Это проблема с клиентским приложением Java?

Спасибо

ответ

2

В 'log4j: WARN' это просто предупреждение. Он не имеет ничего общего с тем, что выбрано фактическое исключение.

Сообщение об исключении указывает, что «имя хоста не может быть пустым». Это явно указывает на то, что что-то не так. И, глядя на ваш код, я могу заметить одну ошибку.

Вам нужно добавить дополнительную косую черту:

GetMethod get = new GetMethod("http://localhost:8080/" ... 
+0

@VascoPatricio, пожалуйста, сообщите нам, если это решит вашу проблему. – alexsmail

+0

Спасибо за ваше время. Проблема была именно в этом. Я был скоростной кодировкой и сделал очень основную ошибку ... также, никогда раньше не использовал log4j, я предположил, что предупреждение вызвало крах ... спасибо! –

+0

Добро пожаловать :) – eiden

Смежные вопросы