WSDL 到 java 转换失败
WSDL to java fails to convert
我已经尝试了几乎所有的生成器,但它们都未能将 this wsdl 转换为 java 类.
Apache 轴:{http://www.maaamet.ee/}featureNameType is referenced but not defined.
SoapUI、JBossWS 和 wsimport:'kujuGeomeetriaType' is already defined
这是一个 public wsdl,因此无法更改它,而且因为它是 public 并且在日常使用中它必须有效。我还发现这个在线服务 http://easywsdl.com/ 能够将该 wsdl 转换为 java,但转换成本很高(免费版本会产生各种废话并使用我不想包含 ksoap2 的库-android)
由于我对 wsdl-s 了解不多,有人知道如何解决转换问题吗?
since it's public and in every day use it must be valid.
不,不是。互联网上有很多废话。显然,某个地方的某些工具正在使用某些 XSD 版本的“怪癖模式”,但正如浏览器进入怪癖模式以接受无效 HTML 不会使 HTML 有效一样,此模式无论是否存在允许它的草率工具,它都是无效的。所不同的是,XML是从它的基础上设计的,以精确的语法和结构来消除错误。
两者 http://www.maaamet.ee/schemas/xTeenused/aadress_types.xsd and http://www.maaamet.ee/schemas/xTeenused/maa_types.xsd are indirectly imported, and both define kujuGeomeetriaType
in the "http://www.maaamet.ee/" namespace. This is a violation of the XSD specification, which states“复杂类型定义不能与另一个简单或复杂类型定义同名。”
任何其他接受损坏模式的工具本身都是损坏的,并且接受无效输入是错误的。我意识到要求这些模式的所有者修复它们可能无济于事,但他们仍然应该承担责任。
就实际解决方案而言,我会下载所有模式(以及它们引用的所有模式,递归地),并对本地副本进行必要的修复。然后我会在应用程序的 .jar 中包含并使用所有这些固定版本。您不仅需要删除重复的定义,还需要更改 <include>
和 <import>
元素中的 schemaLocation
属性以引用相对 URL(从而引用 .罐子)。
我已经尝试了几乎所有的生成器,但它们都未能将 this wsdl 转换为 java 类.
Apache 轴:{http://www.maaamet.ee/}featureNameType is referenced but not defined.
SoapUI、JBossWS 和 wsimport:'kujuGeomeetriaType' is already defined
这是一个 public wsdl,因此无法更改它,而且因为它是 public 并且在日常使用中它必须有效。我还发现这个在线服务 http://easywsdl.com/ 能够将该 wsdl 转换为 java,但转换成本很高(免费版本会产生各种废话并使用我不想包含 ksoap2 的库-android)
由于我对 wsdl-s 了解不多,有人知道如何解决转换问题吗?
since it's public and in every day use it must be valid.
不,不是。互联网上有很多废话。显然,某个地方的某些工具正在使用某些 XSD 版本的“怪癖模式”,但正如浏览器进入怪癖模式以接受无效 HTML 不会使 HTML 有效一样,此模式无论是否存在允许它的草率工具,它都是无效的。所不同的是,XML是从它的基础上设计的,以精确的语法和结构来消除错误。
两者 http://www.maaamet.ee/schemas/xTeenused/aadress_types.xsd and http://www.maaamet.ee/schemas/xTeenused/maa_types.xsd are indirectly imported, and both define kujuGeomeetriaType
in the "http://www.maaamet.ee/" namespace. This is a violation of the XSD specification, which states“复杂类型定义不能与另一个简单或复杂类型定义同名。”
任何其他接受损坏模式的工具本身都是损坏的,并且接受无效输入是错误的。我意识到要求这些模式的所有者修复它们可能无济于事,但他们仍然应该承担责任。
就实际解决方案而言,我会下载所有模式(以及它们引用的所有模式,递归地),并对本地副本进行必要的修复。然后我会在应用程序的 .jar 中包含并使用所有这些固定版本。您不仅需要删除重复的定义,还需要更改 <include>
和 <import>
元素中的 schemaLocation
属性以引用相对 URL(从而引用 .罐子)。