java - Spring Tool Suite 4 (JAVA) 上的 "Web Service Client (CXF 2.)"问题

标签 java spring eclipse spring-boot cxf-client

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

CXF Preferences

我创建客户 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 文件(暂时)用于绑定(bind)。一旦 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é.

经过在 Internet 上的一些研究,我了解到我必须创建我的类提案(此处为“anySimpleType”类型)并将它们添加到我的绑定(bind) xml 文件中。 我如何知道我的类的正确结构以确保 STS 在导入 WSDL 时考虑到它?

谢谢

最佳答案

请您在您的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 '

关于java - Spring Tool Suite 4 (JAVA) 上的 "Web Service Client (CXF 2.)"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55295859/

相关文章:

java - 来自 json 的 Spring mvc RequestMapping

spring - 我们如何在 JDBC 中实现嵌套事务?

java - 在 grpc-java 中有支持故障转移的官方方法吗?

android - 将 android 项目从 eclipse 迁移到 android studio 时出现 "Gradle location is incorrect"

java - 如果我将空值传递给方法,应用程序会因空指针异常而崩溃

java - 如何在 Spring Boot + GraphQL Java 工具上下文中执行对 GraphQL 的 Java 调用?

java - 如何在运行时在 Android 中显示图像并将单选按钮作为列表中的单选组

c++ - 使用 Eclipse IDE 在 C++ 中编写 GUI 需要做什么?

java - pig 拉丁语程序 - 元音问题

spring - 如何在Spring Batch中知道下一步的上一步执行状态