我正在尝试从wsdl2java
生成的源中创建一个bean。
每次尝试运行Spring Boot应用程序时,都会出现以下错误:
产生于:java.lang.ClassCastException:class org.apache.cxf.endpoint.ClientImpl无法转换为类 com.xignite.services.XigniteCurrenciesSoap (org.apache.cxf.endpoint.ClientImpl和 com.xignite.services.XigniteCurrenciesSoap位于以下模块的未命名模块中 加载程序“ app”)
我不确定要如何将生成的源作为模块包含在主Spring Boot应用程序中。
我的目录结构是:
├── build
│ └── generatedsources
│ └── src
│ └── main
│ └── java
│ └── com
│ └── xignite
│ └── services
│
└── src
└── main
├── java
│ └── io
│ └── mateo
│ └── stackoverflow
│ └── soapconsumption
└── resources
└── wsdls
相关系统信息:
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
我还将项目上传到了Github上:https://github.com/ciscoo/soap-consumption-spring-boot
答案 0 :(得分:7)
我有一个类似的情况,并且(如@Holger在评论中所提到的)消息中的模块信息完全是误导性的-这是试图将某些内容转换为不匹配的内容的实际情况。 / p>
就您而言,ClientImpl
根本不是XigniteCurrenciesSoap
的子类型。
答案 1 :(得分:2)
stacktrace试图告诉您您已将XigniteCurrenciesSoap
强制转换为ClientImpl
。
例如以下示例:
Object returnObj= getXigniteCurrenciesSoap();
return (ClientImpl) returnObj;
您必须找出在代码中的位置并加以修复。