首页 > 解决方案 > Spring Tool Suite 4 (JAVA) 上的“Web Service Client (CXF 2.)”问题

问题描述

我在 JDK 1.8.0.181 上使用带有 JAVA 的 Spring Tool Suite 4。我有 Web 服务服务器的 wsdl 链接,我想在我的项目上创建对应的 Web 服务客户端。我已将 CXF 首选项配置如下:

CXF 偏好

我创建客户 Web 服务的步骤:

  1. 在我的 maven 项目上,右键单击“新建”->“其他”->“Web 服务客户端”,
  2. 我选择的是Tomcat服务器(之前8.5配置的),
  3. 我选择配置环境(之前在CXF上配置),
  4. 我将 WSDL 链接复制到相应的字段中。

复制链接后,等待几秒后,STS返回如下错误:

Could not retrieve the WSDL file "...wsdladresse.wsdl". Do you want to continueto wait for this file ?

我点击了继续,并能够添加一个空的 xml 文件(暂时)绑定。wsdl 恢复过程完成后,STS 将返回以下错误:

WSDLToJava Error: Schema Error : cos-st-restricts.1.1 : Le type 'anySimpleType' étant non décomposable, sa valeur {base type definition}, 'anyType', doit être une définition de type simple atomique ou un type de données primitif intégré.

在互联网上进行了一些研究后,我了解到我必须创建我的课程提案(这里是“anySimpleType”类型)并将它们添加到我的绑定 xml 文件中。我如何知道类的正确结构以确保 STS 在导入 WSDL 时将其考虑在内?

谢谢

标签: javaspringeclipsespring-bootcxf-client

解决方案


请您在您的 STS 中添加 apache CXF,然后在 STS 中生成 Web 服务客户端类非常容易,您可以通过以下步骤实现此目的。

右键单击任何项​​目->新建其他->Web服务->Web服务客户端->然后将wsdl url(或位置)粘贴到服务定义->下一步->完成

您将看到生成的类在您的 src 文件夹中。

注意:如果没有 Eclipse,您也可以使用 JDK 附带的 wsimport 命令实用程序从 wsdl 文件生成客户端类。

请参阅此链接“ https://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.jst.ws.cxf.doc.user%2Ftasks%2Fcreate_client.html ”和“ https://help .eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.wst.wsdl.ui.doc.user%2Ftasks%2Ftimpwsdl.html '


推荐阅读