実際、問題はそれを行う方法ではなく、設計ミスである場合です。WS で標準データ型のみを使用することについて多くのことを読んだので、私は心配しています。ただし、HashMap を受け取るものを実装し、PHP からそのパラメーターを nuSoap で埋めることに問題はありませんでした。
HashMap を含むこのメンバー (もちろんゲッターとセッターも) を持つParameterBeanクラスがあります。
private int ID;
private String value;
private String name;
private HashMap<Integer, String> map = new HashMap<Integer, String>();
そして、このクラスからインスタンスを受け取るサービス。次に、呼び出す PHP クライアントから:
$map = array(1 => 'Foo', 2 => 'Bar');
$paramsp = array(
'ID' => '1',
'value' => 'Some Value',
'name' => 'A Name',
'map' => $map
);
$params = array($paramsp);
$resp = $client->call('test',$params);
print_r($client->response);
それは魅力のように機能します!質問: これは眉をひそめていますか? これは、何らかの形で将来的に頭痛の種になるのでしょうか?