我正在为 grails 框架开发一个支付插件。我正在使用一个支付提供商,它给了我一个 SOAP API (WSDL),我需要一个 cxf-client 来与 web 服务进行通信。
我在我的 grails 插件项目(2.2)中安装了https://github.com/ctoestreich/cxf-client(cxf-client 插件),并希望使用我在 grails 服务中添加到我的 config.groovy 的 cxf-client。
在我刚刚添加的服务类中
RecurringPortType recurringPaymentClient
我不直接启动插件项目,而是将它包含在我的主项目中,在那里我使用插件服务的一些方法(也自动连接到我的主项目中)。
使用自动装配插件服务(有效)后,我使用在插件服务类中使用自动装配 cxf-client 的方法得到一个空指针异常。cxf-client bean reuccringPaymentClient 为空。
但为什么?我是否必须将 cxf-client 配置也包含到我的 mainprojects config.groovy 中?或者是否有我的主项目可以合并或也使用我的新插件的 config.groovy 的解决方案?此时 cxf-configuration 被放在 plugins config.groovy 中——也许这就是问题所在?
使用
RecurringPortType recurringPaymentClient = ApplicationHolder.application.mainContext.getBean("recurringPaymentClient")
如 cxf-client 文档中所述,没有帮助。