3

我有使用StackService从 .NET 应用程序生成的这个wsdl文档。我正在使用Apache CXF来获取一些生成的 java 类。

我正在运行以下命令(Windows):

D:\SomePath>wsdl2java -dd:\temp http://mywsdl.com

结果如下:

WSDLToJava 错误:

摘要:失败:50,警告:0

<<< 错误!

消息中的部分 <{ http://schemas.servicestack.net/types }CadastroUsuarioOut> 引用类型 <{ http://schemas.servicestack.net/types }CadastroUsuarioResponse> 在架构中找不到

消息中的部分 <{ http://schemas.servicestack.net/types }ContratoImovelIn> 引用的类型 <{ http://schemas.servicestack.net/types }ContratoImovel> 在模式中找不到

再加上 48 个类似这些的部分消息错误

WSDL 是自动生成的,并且正在被其他系统成功使用。

有什么想法吗?

谢谢

4

2 回答 2

2

我收到了相同的错误消息(当然使用不同的 wsdl),并且我看到您的<wsdl:type中有<xsd:import s。

我的问题的解决方案是将schemaLocation添加到<xsd:import s。

旧示例

<xsd:import namespace="http://schemas.servicestack.net/types"/>

示例新

<xsd:import namespace="http://schemas.servicestack.net/types" schemaLocation="types.xsd" />
于 2016-01-20T10:42:40.510 回答
1

Check the 'types' section of the wsdl. The 'types' section defines various xml types used to exchange data in the SOAP message. Check out the sample wsdl file -

http://heasarc.gsfc.nasa.gov/itwg/wsdl_all.html

Verify if the 'types' section for your wsdl is valid and defines all the datatypes that are used by the service.

By looking at the error it looks like 'CadastroUsuarioResponse' and 'ContratoImovel' are missing in 'types' definition.

于 2013-03-18T20:41:01.200 回答