Autor |
Beitrag |
CSharp_Anfänger
Hält's aus hier
Beiträge: 6
|
Verfasst: Fr 16.01.09 22:40
Hi liebe C#Sharp Community,
wie ihr euch sicher anhand meines Nicknames denken könnt habe ich angefangen mich ein wenig mit Programmierung und C# zu beschäftigen.
Nun habe ich aber ein paar Grundlegende Schwierigkeiten mit WebServices.
Ich versuche gerade auf die WebServices von einer Meeting Software zuzugreifen,
das will aber nicht so wie ich es mir wünschen würde.
Hier eine kleine Doku dazu:
code.google.com/p/op...ngs/wiki/SoapMethods
Ich habe die Webreferenzen dazu in Visual Studio eingebunden und versuchte nun die SessionID zu laden.
Quelltext 1: 2:
| UserService WSUserService = new UserService(); Sessiondata sessionID = WSUserService.getSession(); |
Fehlermeldung:
Fehler 12 Eine implizite Konvertierung vom Typ "ConsoleApplication1.com.domain.meeting.UserService.getSessionResponse" in "ConsoleApplication1.com.domain.meeting.UserService.Sessiondata" ist nicht möglich.
Wie müsste ich es schreiben, damit ich die SessionID bekomme und diese dann als Parameter weitergeben kann?
Danke und viele Grüße
Zuletzt bearbeitet von CSharp_Anfänger am Fr 16.01.09 23:33, insgesamt 1-mal bearbeitet
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Fr 16.01.09 23:13
Die Doku scheint an dieser Stelle falsch zu sein. Die Methode liefert als Ergebnis ein Objekt vom Typ getSessionResponse. Dieses hat die Eigenschaft result, welche dann vom Typ SessionData ist.
Übrigens, mit Type Inference passieren solche Sache gar nicht erst
C#-Quelltext 1: 2: 3:
| var us = new UserService(); var sessionResponse = us.getSession(); var sessionId = sessionResponse.return; |
Ach ja, im Forum
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
CSharp_Anfänger
Hält's aus hier
Beiträge: 6
|
Verfasst: Fr 16.01.09 23:33
Hi Christian,
danke für die schnelle Antwort.
Dann werde ich nun mal ein wenig weiterbasteln.
Viele Grüße
EDIT:
Ich glaube heute ist nicht mein Tag.
Die SID bekomme ich erfolgreich, möchte ich aber SID, Login, Passwort an den WebService übergeben, sagt er mir es sind keine 3 Überladungen möglich.
Quelltext 1: 2:
| SID = sessionId.@return.session_id; us.loginUser(SID, "Login", "Passwort"); |
Der Part aus der Doku dazu:
Zitat: |
loginUser
Method: public Long loginUser(String SID, String username, String userpass)
|
Dumme Frage, woran liegts? (:
|
|
Kha
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Sa 17.01.09 13:02
Schau dir doch einmal die C#-Seite der API an, indem du z.B. auf deine ServiceReference doppelklickst. Dann siehst du, dass loginUser ein loginUserRequest-Objekt will, welches einen Konstruktor für deine drei Parameter besitzt.
_________________ >λ=
|
|
CSharp_Anfänger
Hält's aus hier
Beiträge: 6
|
Verfasst: So 18.01.09 13:08
Hi,
habe mal ein wenig weiter gebastelt:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| var us = new UserService(); var rs = new RoomService(); var sessionResponse = us.getSession(); var sessionId = sessionResponse; SID = sessionId.@return.session_id; Console.WriteLine(SID); us.loginUser(SID, "LoginName", "Passwort", out long2, out bool2); rs.addRoom(SID, MailTopic.Text, 1, "Added by Open Meeting Tools for Outlook" ,4, true, 270, 280, 2, 2, 400, true, 276, 2, 592, 660, true, 2, 284, 310, 270,); us.setUserObject(SID, EmailToSplit, SplittetMailToSplitFirstName, SplittetMailToSplitSureName, "http://wiki/skins/common/logo/logo.png", emailadress, out long3, out bool3); Rooms Room = rs.getRoomById(SID, RoomID, true); |
Die URL baue ich folgendermaßen:
Quelltext 1:
| "Please click on the following link to access the meeting room: \n\n http://meeting.domain.com:5080/openmeetings/main.lzx.lzr=swf8.swf?roomid="+ Room.rooms_id.Value+"&sid=" + SID + "" |
Allerdings klappt der Login nicht, wenn ich RoomID und SID in die URL einfüge und direkt darauf zugreifen will.
Hier ein PHP-Beispiel wie das funktionieren soll:
openmeetings.googlec...meetings_gateway.php
Habe es mal mit dem PHP Code verglichen, sehe aber meinen Fehler nicht.
Vielleicht könnt ihr mir helfen?
Danke und beste Grüße
Dennis
Moderiert von Christian S.: Code- durch C#-Tags ersetzt
|
|
Kha
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: So 18.01.09 14:56
CSharp_Anfänger hat folgendes geschrieben : | Allerdings klappt der Login nicht |
Mit welcher Fehlermeldung (getErrorByCode)?
_________________ >λ=
|
|
CSharp_Anfänger
Hält's aus hier
Beiträge: 6
|
Verfasst: So 18.01.09 16:19
Bekomme keine.. Das Programm läuft einwandfrei durch und erst wenn ich auf den Link klicke erscheint "unkown error".
|
|
Kha
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: So 18.01.09 17:37
Damit meine ich long2 und long3, die musst du auf <0 überprüfen:
Zitat: | return positive means logged-in, if negative its an ErrorCode, you have to invoke the Method getErrorByCode to get the Text-Description of that ErrorCode |
_________________ >λ=
|
|
CSharp_Anfänger
Hält's aus hier
Beiträge: 6
|
Verfasst: So 18.01.09 18:17
Error .... Please Check your input
|
|
|