gpt4 book ai didi

web-services - 使用 JAX-WS 进行 WSDL 运行时验证

转载 作者:行者123 更新时间:2023-12-04 04:18:21 24 4
gpt4 key购买 nike

我们正在开发一个支持 Web 服务的 MDA 平台。用户可以在运行时提供 WSDL,我们在内部使用 JAX-WS 生成所有工件(服务器的服务接口(interface)和实现,以及客户端的使用者)。

我们希望在用户提供的 WSDL 文档上添加验证。现在,用户必须使用 Oxygen、XMLSpy 或 Web 工具等外部工具来验证这一点,但我们希望将其添加为我们系统的一部分。模式验证也是一个不错的功能,包括 WSDL 的嵌入式模式。

在 JAX-WS (RI) 中,支持在运行时进行模式验证(使用 @SchemaValidation 注释),但我们还没有找到对 WSDL 验证的任何支持。

我们已尝试整合 Eclipse's WSDL validator但它似乎对我们不起作用。

有没有办法用 JAX-WS 做到这一点?
如果没有,是否还有其他我们可以集成的验证框架?

谢谢

最佳答案

您的问题有些困惑,我需要先澄清一下。

您似乎希望能够验证 WSDL(语法 + WS-I)和 XSD,无论是嵌入的还是由 WSDL 从外部引用的。另一方面,您引入了@SchemaValidation,它实际上用于验证实例文档。

在传统的开发方法中,有人可能会说您至少需要验证设计时工件(WSDL+XSD)的能力。

对于这种情况,我建议以下内容:

WSDL:对于 WS-I 合规性测试,请查看 test tools section of the WS-I site .目前尚不清楚他们的测试工具所获得的许可如何与您的测试工具一起使用,但至少它应该让您了解如果它不适合您应该查看什么。

更新:其他 WSDL 验证资源:
- Eclipse基于,如何在 Eclipse 之外使用。

XSD:如果您真的需要对 XSD 文件进行单独验证,那么对于生产质量产品来说,事情可能会变得很棘手; WSDL4J在这里帮助不大,我相信XSOM是从事这种工作的方法。您必须将类型部分中的内容提取为一个或多个 XSD 文件(可能是多个 XSD 文件,看看一些示例,我认为 Microsoft 的 SharePoint WSDL 是一个很好的测试用例),为每个提取的与 WSDL 位置匹配的 XSD,然后使用 XSOM 来验证它们。

由于您正在生成客户端,因此您很可能不关心验证,比如 HTTP header (SOAP 1.1/HTTP、SOAPAction,如果它与 WSDL 操作定义匹配)。如果您最终也对此产生了兴趣,我称之为运行时验证,那么我会在您的方法中推荐不同的布局(即,我不会依赖 @SchemaValidation,而是通过透明且通用的代理服务来实现)。

关于web-services - 使用 JAX-WS 进行 WSDL 运行时验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8992225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com