wsdl xmlns NetBeans和wsimport的问题

时间:2009-12-07 20:38:54

标签: soap netbeans wsdl xml-namespaces wsimport

我们的应用程序提供了一个SOAP API。我们的wsdl起始线类似于

<wsdl:definitions name='ControlDServices' ... xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' ...

这通常可行,但客户抱怨说,当他们尝试在NetBeans中使用我们提供的wsdl的SOAP API时,他们会收到此错误:

Web Service can not be created by JAXWS:wsimport utility.
Reason: invalid extension element: "soap:body" (in namespace "http://schemas.xmlsoap.org/wsdl/soap/")

这可以通过运行:

轻松重新创建
wsimport  -d . -extension -Xnocompile -keep -s . -verbose <our wsdl file>

wihch产生错误:

[ERROR] invalid extension element: "soap:body" (in namespace "http://schemas.xmlsoap.org/wsdl/soap/")
unknown location

我们的支持发现更改xmlns:soap定义以使用 http://www.w3.org/2001/12/soap-envelope/ 解决了问题,但这需要更改我们的产品,并且与我看到的大多数地方相矛盾定义wsdl:定义文件的Web。此外,该URI似乎属于soap-envelop而不属于wsdl,也适用于特定日期,而不是一般URI。

有没有办法在不更改wsdl的情况下解决NetBeans / wsimport问题,例如:通过改变参数?如果不是,并且需要进行更改,将其更改为 http://www.w3.org/2001/12/soap-envelope/ 是明智的,还是应该使用其他内容?

感谢
splintor

1 个答案:

答案 0 :(得分:0)

看起来他们不支持SOAP 1.1,只支持SOAP 1.2。