2012-03-14 15 views
6

Dostosowuję aplikację koszyka na zakupy w php. w tej aplikacji muszę zintegrować jakąś część z inną aplikacją C# .net, więc używam webservice w php shoppnig cart. W jednej z metod usługi WebService niektóre wartości powinny przechodzić jako tablica asocjacyjna w ten sposób.C# odpowiednik php asocjacyjnej tablicy

$proxy = new SoapClient('www.mywebservice.com?wsdl'); 
    $associative_array= array(
    'abc'=> 1,'def'=>0,'ghi'=>1,'jkl'=>0 
    ); 

    $proxy->call($sessionId, 'methodname', array('somevalue', $associative_array)); 

w php jego pracy w porządku ... ale problem mam zmaga się z C# .NET, w jaki sposób można przekazać tablicę asocjacyjną z C# .NET? Jestem programista php myślę, że nie ma asocjacyjna w C# .NET i ktoś powiedział, że C# słownik można użyć zamiast tego, Ale to nie działa z połączenia Zestawienie

kod C# jest

Dictionary<string,string> map=new Dictionary<string,string>(); 
       map.Add("abc","1"); 
       map.Add("def","0"); 

       object st = mgs.call(sessionid, "methodname", new object[] { "somevalue",map }); 

ktokolwiek może udzielić porady ???

+4

Czy rzeczywiście próbował pisać żadnego kodu C# za pomocą słowników, aby dowiedzieć się, że nie działają one z usług internetowych? – BoltClock

+0

Tak, próbowałem, –

+5

Więc gdzie jest ten kod? – BoltClock

Odpowiedz

2

Myślę, że chcesz Dictionary<string, int>. Ale mogę się mylić. Powinieneś zobaczyć, jaka generowana klasa jest używana podczas wywoływania usługi WWW.

Aby wywołać usługę sieciową, kliknij prawym przyciskiem myszy folder Referencje projektu. Powiedz Dodaj odniesienie do usługi.

Umieść tam adres URL WSDL i pozwól, aby wygenerował dla ciebie klasy.

+0

Teraz chce przekazać ten słownik do usługi sieciowej. – swasheck

Powiązane problemy