我们的应用程序提供了一个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
答案 0 :(得分:0)
看起来他们不支持SOAP 1.1,只支持SOAP 1.2。