Java servlet请求javax.xml.stream.XMLStreamException-文件过早结束

Java servlet请求javax.xml.stream.XMLStreamException-文件过早结束,java,google-app-engine,servlets,jetty,httprequest,Java,Google App Engine,Servlets,Jetty,Httprequest,我正在尝试从两台jetty服务器(Eclipse-Google插件)读取和解析rss提要:一台启用了AppEngineSDK,另一台没有。 1.当我在jetty上测试并启用应用程序引擎时,它工作正常 2.当我在未启用app engine的jetty服务器上使用相同的代码时,我收到以下消息(因为收到的文本为空): javax.xml.stream.XMLStreamException:ParseError位于[row,col]:[1,1] 消息:文件过早结束 我在代码中搜索输入流的过早读取(我使用

我正在尝试从两台jetty服务器(Eclipse-Google插件)读取和解析rss提要:一台启用了AppEngineSDK,另一台没有。 1.当我在jetty上测试并启用应用程序引擎时,它工作正常 2.当我在未启用app engine的jetty服务器上使用相同的代码时,我收到以下消息(因为收到的文本为空):

javax.xml.stream.XMLStreamException:ParseError位于[row,col]:[1,1] 消息:文件过早结束

我在代码中搜索输入流的过早读取(我使用新的URL(host)和URL.openStream()来读取输入),但代码没有问题(如果不是,在第一种情况下可能无法工作)

我使用tcpdump(-s 1024-l-A dst host.com-I wlan0)来检查报头:

  • 第一种情况:

    获取/rss/。。。HTTP/1.1

    主持人:www.Host.com

    连接:保持活力

    Cookie:environment=a%3A2%3A%7Bs%3A4%3A%22skin%22%3Bs%3A7%3A%22default%22%3Bs%3A4%3A%22lang%22%3Bs%3A5%3A%22ro%22%3B%7D;isPC=1

    Cookie2:$Version=1

  • 第二种情况:

    获取/rss/。。。HTTP/1.1

    缓存控制:没有缓存

    Pragma:没有缓存

    用户代理:Java/1.6.0\u 39

    主持人:www.Host.com

    接受:text/html、image/gif、image/jpeg、*;q=.2,/;q=.2

    连接:保持活力


  • 这些标题可能是问题所在吗?有没有办法设置完全相同的标题?它能解决问题吗?

    我发现问题出在用户代理头上,它决定了一些服务器发送一些值的空内容(比如我的例子中的Jav/1.6.039)。我将用户代理设置为空字符串,现在响应正常