wsimport给出解析错误

时间:2012-05-10 15:35:43

标签: web-services wsdl wsimport

当我尝试使用wsimport导入WSDL时,我收到了奇怪的解析错误。

错误: -

org.xml.sax.SAXParseException: Invalid WSDL file: expected 
{http://schemas.xmlsoap.org/wsdl/}definitions found definitions at line 1)

我检查了WSDL,我也很惊讶它的第一个元素不是

<wsdl:definitions ...>

而是:

<definitions   xmlns:soap="https://schemas.xmlsoap.org/wsdl/soap/" ...>

这可能是问题吗? Web服务是外部的,所以我对WSDL没有任何控制权。我知道的一件事是它是由JAX-WS 2.1.5生成的。它是我的wsimport工具无法理解的自定义WSDL吗?如果是,请告诉我如何解决此问题。感谢。

2 个答案:

答案 0 :(得分:0)

基于this conversation,2.1.5版本的JAX-WS可能生成了错误的WSDL,而您正在使用较新版本的wsimport。

答案 1 :(得分:0)

您是否在wsdl的第一行中有以下部分?

<definitions   ...   xmlns="http://schemas.xmlsoap.org/wsdl/">

如果没有,请添加它,它应该没问题。 原因是,缺少wsdl的名称空间声明。