Rally Java Rest未知主机异常
我复制了在页面底部找到的“说明如何查询前5个最高优先级缺陷”的代码示例 我相应地更改了用户名和密码,但我得到了一个Rally Java Rest未知主机异常,java,rest,rally,Java,Rest,Rally,我复制了在页面底部找到的“说明如何查询前5个最高优先级缺陷”的代码示例 我相应地更改了用户名和密码,但我得到了一个未知hostexception 以下是stacktrace: log4j:WARN找不到记录器(org.apache.http.impl.conn.BasicClientConnectionManager)的附加程序。 log4j:警告请正确初始化log4j系统。 线程“main”java.net.UnknownHostException中的异常:rally1.rallydev.co
未知hostexception
以下是stacktrace:
log4j:WARN找不到记录器(org.apache.http.impl.conn.BasicClientConnectionManager)的附加程序。
log4j:警告请正确初始化log4j系统。
线程“main”java.net.UnknownHostException中的异常:rally1.rallydev.com
在java.net.Inet6AddressImpl.lookupAllHostAddr(本机方法)
位于java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:849)
位于java.net.InetAddress.getAddressFromNameService(InetAddress.java:1202)
位于java.net.InetAddress.getAllByName0(InetAddress.java:1153)
位于java.net.InetAddress.getAllByName(InetAddress.java:1083)
位于java.net.InetAddress.getAllByName(InetAddress.java:1019)
在org.apache.http.impl.conn.SystemDefaultDnsResolver.resolver.resolve(SystemDefaultDnsResolver.java:45)
位于org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:278)
位于org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162)
位于org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
位于org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:640)
位于org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
位于org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
位于org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
位于org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
位于com.rallydev.rest.RallyRestApi.doRequest(RallyRestApi.java:253)
位于com.rallydev.rest.RallyRestApi.doGet(RallyRestApi.java:323)
位于com.rallydev.rest.RallyRestApi.query(RallyRestApi.java:179)
位于com.jdes.agiletoral.agiletoral.main(agiletoral.java:37)
第37行:QueryResponse QueryResponse=restApi.query(缺陷)代码>
我尝试过更改服务器名称、用户名和密码,但没有成功
感谢查看您的堆栈跟踪,您的计算机似乎正在尝试查找rally1.rallydev.com
的IPV6地址,但失败是因为它没有IPV6地址(然后又没有返回到IPV4)。这表明机器的配置(或它使用的DNS服务器)存在问题,而不是Java中的问题
也就是说,您可以强制JVM选择IPV4,这将解决您的问题:
prompt> java -Djava.net.preferIPv4Stack=true ...
如果您使用的是IDE,则需要将其配置为在运行程序时将-Djava.net.preferIPv4Stack=true
传递给java 看来您有一个代理服务器
restApi.setProxy(new URI(proxyserver));
添加如下内容:System.setProperty(“java.net.preferIPv4Stack”,“true”)代码>?@MikeB-说实话,你得试试。没有研究它,我不确定JVM/网络类何时读取特定的系统属性,因此在应用程序启动后更改它可能没有任何效果。我尝试了多种方法传递该变量,但没有一种方法得到不同的结果。你认为问题可能出在log4j
stuff中吗?@MikeB-实际问题是你的机器正在尝试使用IPV6。再次查看堆栈跟踪,apache的SystemDefaultDnsResolver
类可能不尊重该系统属性。我根本没有配置使用IPV6的机器,因此我恐怕无法重现您的失败。不,log4j与网络或DNS无关。