私は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サービスを呼び出す方法はありますか?
方法があるように見えません。それを見たい場合は、CXF URIMappingInterceptorを掘り下げることができます。そこには呼ばれるメソッドがあります:
private Object readType(String value, Class type)
コレクションと配列を処理するために更新する必要があります。パッチは大歓迎です。
:-)