0

我有一个 jar 文件,其中包含客户端代码以连接到我们最初使用轴的 wsdl2java 创建的基础设施 web 服务。本周我将连接的胆量转换为使用来自 wsimport 的提取。当使用 java6_18 在我的本地 Windows XP tomcat 上运行时,我没有任何问题,并且运行良好。我现在已将我的代码移动到我们的开发 AIX 实例中,并且在收到以下错误时丢失了全部 Web 服务通信:

XML reader error: javax.xml.stream.XMLStreamException: 
The root element is required in a well-formed document

在 AIX 上,我们正在运行 java6_64。

我假设它是 AIX java 库与 Sun 提供的 java 运行时库不兼容,但是我目前完全不知道如何解决。

任何人都可以解释为什么我会收到这个例外吗?

4

2 回答 2

0

这可能是一个代码页问题,因为它抱怨没有根元素,并且如果该<字符被误解为其他东西,那么您就没有根元素。

检查系统属性以查看程序运行的编码。您可能在某处假设编码是 Windows 下的 ISO-Latin-1。

于 2011-05-12T19:50:30.627 回答
0

我不喜欢回答自己的问题,但认为记录答案可能对其他人有益......

经过一番挖掘,分辨率只是 wsdl url 的格式。使用轴,我将 wsdl URL 指定为 Web 服务的路径。对于 JAX-WS,它需要服务的路径+“?wsdl”(在运行时加载的实际 wsdl)。

产生上述错误是因为“轴”路径没有导致 wsdl 拉,而是一个空白的结果集。一旦我添加了“?wsdl”,一切正常。

于 2011-05-25T02:29:22.673 回答