Autor Beitrag
CSharp_Anfänger
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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.

ausblenden 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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 :-)
ausblenden C#-Quelltext
1:
2:
3:
  var us = new UserService();
  var sessionResponse  = us.getSession();
  var sessionId  = sessionResponse.return;


Ach ja, :welcome: im Forum :-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
CSharp_Anfänger Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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.
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 18.01.09 13:08 
Hi,

habe mal ein wenig weiter gebastelt:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
//declare new UserService(us) and new RoomService (rs)
                    var us = new UserService();
                    var rs = new RoomService();
                    //get SessionID
                    var sessionResponse = us.getSession();
                    var sessionId = sessionResponse;
                    SID = sessionId.@return.session_id;
                    Console.WriteLine(SID);
                    //login User
                    us.loginUser(SID, "LoginName""Passwort"out long2, out bool2);
                    
                    //addRoom to Open Meetings
                    rs.addRoom(SID, MailTopic.Text, 1"Added by Open Meeting Tools for Outlook" ,4true27028022400true2762592660true2284310270,);
                    //set userObject
                    // You need it for each login
                    us.setUserObject(SID, EmailToSplit, SplittetMailToSplitFirstName, SplittetMailToSplitSureName, "http://wiki/skins/common/logo/logo.png", emailadress, out long3, out bool3);
                    
                    //Room1 ID
                    Rooms Room = rs.getRoomById(SID, RoomID, true);


Die URL baue ich folgendermaßen:

ausblenden 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 user profile iconChristian S.: Code- durch C#-Tags ersetzt
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 18.01.09 14:56 
user profile iconCSharp_Anfänger hat folgendes geschrieben Zum zitierten Posting springen:
Allerdings klappt der Login nicht
Mit welcher Fehlermeldung (getErrorByCode)?

_________________
>λ=
CSharp_Anfänger Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 18.01.09 18:17 
Error .... Please Check your input