Log4j初始化错误JBoss RestEasy



我使用的是JBoss 6.0。我正在运行一个简单的Web服务器,使用jboss.resteasy库为HTTP请求提供简单的XML响应。

我有:-服务器-一个创建GET请求的简单Java客户端

现在的问题是,如果我使用浏览器访问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客户端应用程序的问题吗?

感谢

"log4j:WARN"只是一个警告。它与实际抛出的异常无关。

异常消息指出"主机名不能为null"。这清楚地表明主机名有问题。看看你的代码,我能发现一个错误。

你需要添加一个额外的正斜杠:

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

最新更新