我有一个jar文件,其中包含连接到我们的基础架构webservices的客户端代码,该代码最初是使用axis的wsdl2java创建的。本周,我将连接性的核心部分转换为使用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运行时库不兼容,但是我现在完全不知道如何解决。
有人能解释一下为什么我会收到这个例外吗?
发布于 2011-05-25 10:29:23
我不喜欢回答自己的问题,但我认为记录下答案可能会对其他人有益……
在深入研究之后,解析结果只是wsdl url的格式。使用axis时,我将wsdl URL指定为wsdl服务的路径。对于JAX-WS,它需要指向service+“wsdl”(在运行时加载的实际wsdl)的路径。
生成上述错误的原因是,“轴”路径并没有导致要拉出的wsdl,而是一个空的结果集。一旦我添加了"?wsdl“,一切工作正常。
发布于 2011-05-13 03:50:31
这可能是一个代码页问题,因为它会抱怨没有根元素,如果<字符被误解为其他字符,那么您就没有根元素了。
检查系统属性,了解程序在哪种编码下运行。您可能会有一个假设,即编码方式与Windows下的编码方式一样是ISO-Latin-1。
https://stackoverflow.com/questions/5983365
复制相似问题