GETを使用して配列paramを使用してJAX-WS Webサービスを呼び出す

私はint型とString型の2つのパラメータを受け入れる "diagnosticPing"という名前のCXF JAX-WS Webサービス操作を持っています。 wsdlから:



SoapUIのようなツールを使わずにサービスに "ping"するのに便利な方法であるので、ブラウザからこの操作を直接呼び出そうと思います。しかし、サービスがString []配列のparamを認識できるように、クエリ文字列を構築する方法を理解できません。私の最高の試みは次のようなものでした:

https://hostname/ServiceUri/service/diagnosticPing?depth=2&instructions=%22accountType%3DABC%22,%22action%3DgetDetails%22,%22version%3D1.0%22}

しかし、私はそういう誤りを受けました:

public java.util.Listを呼び出す際に引数の型が一致しません   params [2、{"accountType = ABC"、 "action = getDetails"、 "version = 1.0"}のca.gwl.group.account.service.routing.AccountServiceRouter.diagnosticPing(int、java.lang.String []) ]。

文字列配列として受け入れられるクエリ文字列paramを使ってWebサービスを呼び出す方法はありますか?

0
これは1次元のString配列、つまりjava.lang.String []
追加された 著者 Michael Lucas,

1 答え

方法があるように見えません。それを見たい場合は、CXF URIMappingInterceptorを掘り下げることができます。そこには呼ばれるメソッドがあります:

private Object readType(String value, Class type)

コレクションと配列を処理するために更新する必要があります。パッチは大歓迎です。

:-)

1
追加された
カスタムインターセプタを作成し、それを必要な時点でチェーンに挿入することによっても実行できますか?これは、CXFにパ​​ッチを当てなくても、私のビジネスアプリケーションにこの機能を組み込んでテストするうまい方法かもしれませんが、後でパッチを寄贈してくれてうれしいです。しかし、私はカスタムインターセプタがこれを解決するためにどれほど実現可能かはわかりません(CXFで基本的なことしかできませんでした)。
追加された 著者 Michael Lucas,