C# 使用类似JSON的参数从.NET调用PHP webservice

C# 使用类似JSON的参数从.NET调用PHP webservice,c#,php,web-services,proxy,C#,Php,Web Services,Proxy,我正在尝试使用.NET中的php Web服务。在PHP中,调用如下: // array with guest information $extrainfo = array( 'voorletters' => 'T.e.s.t.', 'voornaam' => '', 'tussenvoegsels' => '',

我正在尝试使用.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);
如果我在Microsoft.NET中使用wsdl生成代理,“setGuest”操作将按预期使用三个参数。字符串(sessionID)、字符串(邮件地址)和类型为“object”(额外信息)的参数

我试图创建一个自定义类来传递.NET中的额外信息,创建一个实例,填充它并将其作为序列化对象传递,但是PHP Web服务抱怨它需要一个数组而不是一个对象。 我还尝试将客人信息作为字典传递:

  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());
Dictionary dict=new Dictionary();
添加(“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());
但是PHPWeb服务抱怨没有收到额外的信息

所以我的问题是,如何使用.NET中生成的代理将来宾信息作为参数传递?