wm withdraw .; wm withdraw .output; wm geom .konsola 586x458+428+250; # test dzialania nowej wersji tclws ... # lappend auto_path ~/tcl package require WS::Client #% 2.3.7 # ... # eksperymenty z www.webservicex.net # set w1 [::WS::Client::GetAndParseWsdl http://www.webservicex.net/globalweather.asmx?WSDL] dict get $w1 name #% GlobalWeather # + tak mozna odczytac nazwe serwisu !!! # teraz tworzymy cos w rodzaju pienka: ::WS::Client::CreateStubs GlobalWeather #% ::GlobalWeather::GetWeather {CityName CountryName} ::GlobalWeather::GetCitiesByCountry CountryName GlobalWeather::GetWeather "Poznan" "Poland" #% GetWeatherResult { Poznan, Poland (EPPO) 52-25N 016-50E 92M from the SW (220 degrees) at 5 MPH (4 KT):0 1 mile(s):0 mostly cloudy 37 F (3 C) 35 F (2 C) 93% 30.18 in. Hg (1022 hPa) Success } GlobalWeather::GetWeather "Wroclaw" "Poland" # ... # czy nowa wersja tclws pracuje z gsoap ? TAK!! # + musialem wprowadzic moje poprawki z tclws_old! # + uruchomic serwer gsoap (soap/555) # + w qqq.wsdl trzeba zmienic nr portu na 10000 # set w5 [::WS::Client::GetAndParseWsdl file://[pwd]/qqq.wsdl] dict get $w5 name #% qqq dict get $w5 location #% http://localhost:10000 ::WS::Client::CreateStubs qqq #% ::qqq::pomnozRazy2 par ::qqq::zwrocCos liczba ::qqq::zwrocCos2 {} ::qqq::zwrocCos4 {} ::qqq::zwrocCos5 {} ::qqq::zwrocCos6 par qqq::pomnozRazy2 {item {1 2 3 4}} #% return {item {2 4 6 8}} # + dlaczego tak tego trzeba uzywac??? qqq::pomnozRazy2 {item {1.1 2.2 3 4 5.5}} #% return {item {2.20000005 4.4000001 6 8 11}} qqq::zwrocCos 3 #% return {item {{a 0 b 0 c 0} {a 1 b 1 c 1} {a 2 b 4 c 8}}} qqq::zwrocCos2 #% return {a 1 b 11 nast {a 2 b 22 nast {a 3 b 33 c 333} c 222} c 111} qqq::zwrocCos4 #% a 111 b 222 c 333 qqq::zwrocCos5 #% return {a 111 b 222 c 333} qqq::zwrocCos6 {a 111 b 222 c 333} #% return {a 1110 b 222 c 333} # ... # czy nowa wersja tclws pracuje z axis 1 ? TAK!! # set w1 [::WS::Client::GetAndParseWsdl http://192.168.1.130:8080/axis/services/MojPrzyklad?wsdl] dict get $w1 name #% MojPrzykladService ::WS::Client::CreateStubs MojPrzykladService #% ::MojPrzykladService::sayHello {} ::MojPrzykladService::sayHello2 in0 ::MojPrzykladService::zwrocBeana {} ::MojPrzykladService::zwrocBeana2 in0 ::MojPrzykladService::zwrocBeana3 in0 ::MojPrzykladService::zwrocDrugiegoBeana {} ::MojPrzykladService::zwrocDrugiegoBeana2 in0 ::MojPrzykladService::zwrocTrzeciegoBeana2 in0 ::MojPrzykladService::sayHello #% sayHelloReturn {A ku ku !!!} ::MojPrzykladService::sayHello2 4 #% sayHello2Return {item {{??? 0 ???} {??? 1 ???} {??? 2 ???} {??? 3 ???}}} ::MojPrzykladService::zwrocBeana #% zwrocBeanaReturn {a 123 b 321} ::MojPrzykladService::zwrocBeana2 3 #% zwrocBeana2Return {item {{a 0 b 0} {a 10 b 100} {a 20 b 200}}} ::MojPrzykladService::zwrocBeana3 {item {{a 0 b 0} {a 10 b 101} {a 20 b 201}}} #% zwrocBeana3Return {item {{a 0 b 0} {a 100 b 10100} {a 200 b 20100}}} ::MojPrzykladService::zwrocDrugiegoBeana #% zwrocDrugiegoBeanaReturn {a 123 b 321 c {item {1 2 3 4}}} ::MojPrzykladService::zwrocDrugiegoBeana2 3 #% zwrocDrugiegoBeana2Return {item {{a 123 b 321 c {item {1 2 3 4 0}}} {a 123 b 321 c {item {1 2 3 4 1}}} {a 123 b 321 c {item {1 2 3 4 2}}}}} ::MojPrzykladService::zwrocTrzeciegoBeana2 2 #% zwrocTrzeciegoBeana2Return {item {{a 0 b {item {{a 123 b 321} {a 123 b 321} {a 123 b 321}}}} {a 1 b {item {{a 123 b 321} {a 123 b 321} {a 123 b 321}}}}}} # ...