私は、grails フレームワークの支払いプラグインに取り組んでいます。SOAP API (WSDL) を提供する支払いプロバイダーを使用しており、Web サービスと通信するには cxf-client が必要です。
Grails プラグイン プロジェクト (2.2) にhttps://github.com/ctoestreich/cxf-client (cxf-client プラグイン)をインストールし、grails サービスで config.groovy に追加した cxf-client を使用したいと考えています。
追加したばかりのサービスクラスで
RecurringPortType recurringPaymentClient
プラグイン プロジェクトを直接開始するのではなく、プラグイン サービスのいくつかのメソッドを使用する mainproject に含めました (これも mainproject に自動配線されています)。
autowired プラグイン サービス (これは動作します) を使用した後、プラグイン サービス クラスで autowired cxf-client を使用するメソッドを使用して nullpointer 例外が発生します。cxf-client Bean reuccringPaymentClient が null です。
しかし、なぜ?メインプロジェクトの config.groovy にも cxf-client 構成を含める必要がありますか? または、メインプロジェクトが新しいプラグインの config.groovy をマージまたは使用できるソリューションはありますか? 現時点では、cxf-configuration はプラグインの config.groovy に配置されています。これが問題なのでしょうか?
使用する
RecurringPortType recurringPaymentClient = ApplicationHolder.application.mainContext.getBean("recurringPaymentClient")
cxf-client のドキュメントで説明されているように、役に立ちませんでした。