将 hybrid/web 客户端应用程序与一组 WSDL 描述的现有远程 Web 服务连接起来

Interfacing a hybrid/web client application with existing remote web services described by a set of WSDL

问题简述

我必须集成一个可能基于 Ionic 的移动混合应用程序,并且必须(间接)使用大量 SOAP Web 服务。我希望移动应用程序 Typescript 客户端能够识别由 XSD 定义的 bean 和描述 Web 服务的 WSDL 文件。

一些补充说明

在下面的解释中,我将在解决方案中引用以下对象:

以下约束生效:

假设 Web 服务 [C] 使用的一些请求和响应涉及以下 Java 对象

public class MyElement {
    private ElementColor color;
}

其中 ElementColor 是一个 Java 枚举,例如

public enum ElementColor {
    RED,
    GREEN,
    BLUE,
}

这些 Java 对象在 WSDL 和 XSD 文件中定义,因此我们可以构建一个 JAR 文件,将其导入服务器端应用程序 [B],因此我们的服务器-端应用程序 [B] 将知道 "color" 属性 可以在 MyElement class 中采用的可能值。一切顺利。

我的问题是 Typescript 移动客户端 [A] 不导入 JAR 文件(很明显),因此当客户端开发人员必须编写请求或解析涉及 MyElement 对象的响应时,他将或者

第二个选项更清晰,但仍未与 WSDL 和 XSD 文件中定义的实际模型紧密相关,即客户端开发人员仍可以在他的文件中添加 "YELLOW" 值打字稿枚举并将其发送到后端。

我想在我的 Typescript 代码库中自动 import/inherit 由 WSDL 和 XSD 文件定义的模型,或 Java classes 从那些相同的 WSDL 和 XSD 文件生成。 请注意,在运行时检索这些对象是不够的(我可以编写一个转储它们的服务),因为客户端开发者在开发时仍然看不到它们。

预先感谢您的帮助。

到目前为止,我发现解决此问题的最佳方法是利用类似 typescript generator plugin 的方法,它将 Java 类 转换为 Typescript 类.

为了将 WSDL 和 XSD 文件转换为 Java 代码,我已经使用 cxf codegen 插件安装了 Maven pom,我只需要将 typescript 生成器插件执行添加到流程中, 这样 Java 个文件依次转换为 Typescript 文件。然后我可以在我的混合应用程序项目中导入 Typescript 定义文件。