.NET から php Web サービスを使用しようとしています。PHP では、呼び出しは次のようになります。
// array with guest information
$extrainfo = array(
'voorletters' => 'T.e.s.t.',
'voornaam' => '',
'tussenvoegsels' => '',
'achternaam' => 'Baker',
'rekeningnummer' => '123456789',
'website' => 'www.bla.nl',
'geboortedatum' => '19-2-1985',
'telefoon_extra_restnummer' => '',
'straat' => '',
'huisnummer' => '',
'huisnummer_toevoeging' => '',
'postcode' => '',
'woonplaats' => '',
);
// add guest
$result = $client_cart->setGuest('MySessionID', 'test@test.nl',$extrainfo);
wsdl を使用して Microsoft .NET でプロキシを生成すると、「setGuest」操作は予想どおり 3 つのパラメータを受け取ります。文字列 (sessionID)、文字列 (メールアドレス)、および「オブジェクト」タイプのパラメーター (追加情報)。
カスタム クラスを作成して .NET から追加情報を渡し、インスタンスを作成し、データを入力してシリアル化されたオブジェクトとして渡しようとしましたが、PHP Web サービスは、オブジェクトではなく配列が必要であると不平を言います。また、ゲスト情報を Dictionary として渡すことも試みました。
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("voorletters", "T.e.s.t.");
dict.Add("voornaam", "");
dict.Add("tussenvoegsels", "");
dict.Add("achternaam", "Baker");
...
object obj = _proxyService.setGuest("MySessionID", "test@test.nl", dict.ToArray());
しかし、PHP Web サービスは、追加情報が受信されていないと文句を言います。
私の質問は次のとおりです。.NET で生成されたプロキシを使用してゲスト情報をパラメーターとして渡すにはどうすればよいですか?