Avatar billede cordion Nybegynder
19. januar 2012 - 15:20 Der er 3 kommentarer og
1 løsning

kalde webservice uden wsdl

hej folkens... lang tid siden jeg har brugt denne side.

her er mit problem, jeg skal lave en C# stump der skal kalde en web service, men den webservice har ikke nogen WSDL (og der kommer hellere ikke en)
problemet er det at jeg har ingen anelse hvordan jeg gør de i C#
jeg har ikke noget problem med de i python

i python gør jeg det sådan her


###############################
import sys
from xmlrpclib import ServerProxy

proxy = ServerProxy("http://ip:port")

try:
    L = list(proxy.get_device_list()) # statisk kald
    for item in L:
        print item
    print proxy._20000._action_switch('Off') # dynamisk kald
#proxy._deviceid._serviceid
except Exception, e:
    print e
###############################

er det et genialt hoved der ved hvordan jeg kan klare de med C#?
Avatar billede arne_v Ekspert
19. januar 2012 - 21:23 #1
Saa vidt jeg kan se er det XML-RPC ikke SOAP, saa du skal have fat i et XML-RPC lib for .NET!

Maaske:

http://www.xml-rpc.net/
Avatar billede cordion Nybegynder
19. januar 2012 - 22:06 #2
det har du fuldstændig ret i...
jeg fik så gravet lidt dybt i selve xmlrpclib.py og fik lavet en print request, og dette ud

<?xml version='1.0'?>
<methodCall>
<methodName>_20000._action_switch</methodName>
<params>
<param>
<value><string>Off</string></value>
</param>
</params>
</methodCall>

så det korte af det lange er.
proxy = server
methodName = _20000._action_switch
value = off

så burde det hele være nemt fra nu af :)
Avatar billede cordion Nybegynder
21. januar 2012 - 11:32 #3
jeg har nu kigget nærmere på xml-rpc.net og det fungerer perfekt, og har end da asynkrone kald indbygget, så det passer mig fint

smider du et svar?
Avatar billede cordion Nybegynder
04. april 2012 - 13:26 #4
lukker efter som arne ikke giver svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester