搜索

1.6. 已知的 Quarkus CXF 问题

download PDF
注意

CXF 被完全支持,但在这个 Red Hat build of Apache Camel for Quarkus 发行版本中保留以下问题。

1.6.1. 代码生成失败并显示使用 SmallRye Config SPI 的 in-app

smallrye Config 支持实施格式为 ${handler::value} 的自定义 secret 键表达式,其中处理程序是 io.smallrye.config.SecretKeysHandler 的名称,用于解码或解密由双冒号 :: 分隔的值。

如果在用户应用程序中实施 SecretKeysHandler,那么如果启用了 wsdl2Java 代码生成,它会失败并显示类似如下的错误消息:

Failed to execute goal io.quarkus.platform:quarkus-maven-plugin:3.8.0:generate-code (default) on project fallgruppenbestimmung: Quarkus code generation phase has failed: InvocationTargetException: io.smallrye.config.SecretKeysHandler: Provider org.acme.MySecretKeyHandler not found

1.6.2. 在一个 Java 软件包中名称相同的 Service 方法之间的名称冲突

如果一个 Java 软件包中有两个 SEI,则名称相同的 @WebMethod,但不同的签名是生成的请求的默认名称,则对两个类的方法,响应和其他类都相同。

从 Quarkus CXF 3.8.3 开始,在构建时类生成过程中不会抛出异常。在运行时,只有一组这些类存在,因此对其中一个客户端的调用会不可避免地失败。

1.6.3. Bean 没有注入到服务实施中,@CXFEndpoint ("/my-path")

红帽构建的 Apache Camel for Quarkus 3.8.4.SP2 和 Quarkus CXF 3.8.4 中错误地引入了 @CXFEndpoint 注释。它在 Red Hat build of Apache Camel for Quarkus 3.8 和 Quarkus CXF 3.8.5 中被恢复。

注释允许您通过新注解 @CXFEndpoint ("/myPath") 指定 CXF 服务端点路径。

这不适用于具有 @WebService@CXFEndpoint 注释的服务实施类。在这些情况下,如果服务有一些 @Inject 字段,这些字段将留空,服务调用会抛出 NullPointerException

没有 @CXFEndpoint 注释的服务实现不受影响。

我们建议您继续在 application.properties 中指定服务端点路径,如前面:

Example

quarkus.cxf.endpoint."/myPath".implementor = org.acme.MyServiceImpl

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.