Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

ich versuche mit C# auf einen Webservice zuzugreifen und möchte diesem dann einige Parameter übergeben (Username, ID usw.)

Hat jemand ein gutes Tutorial oder kann mir anhand eines Beispiels erklären wie das geht?

Komme mit den Beispielen, die mir google bietet nicht wirklich klar.

Danke!

Viele Grüße

DeMue

  • Autor

Ich hab dann noch eine zweite Frage.

Wenn ich nun auf einen Webservice zugreifen möchte, der den Flash Player voraussetzt, sagt mir Visual Studio, dass er nicht installiert ist.

Der Flash Player ist jedoch installiert. Versuche ich den Flash Player nun direkt in dem Fenster, wo man die WebReferenz hinzufügt zu installieren,

geht es nicht wegen den Sicherheitseinstellungen, die im Browser (IE) jedoch freigegeben sind.

Wo kann ich die Sicherheitseinstellungen (im Visual Studio?) runtersetzen um den Flash Player installieren zu können? Wie gesagt im Internet Explorer funktioniert alles einwandfrei...

Öhm was meinst du mit "WebService der den FlashPlayer vorraussetzt"?

Ein Webservice liefert dir ja nur irgendwelche Daten. Wenn das jetzt ein Flash Stream sein sollte dann müsstest du doch ein entsprechendes Control auf deiner Form haben welches du mit dem Stream fütterst, oder die Daten in einer Datei auf der Festplatte speichern oder nicht?

  • Autor

Hi,

das Problem mit dem Flash hat sich mittlerweile erledigt,

hatte den falschen Port angegeben und Visual Studio wollte deshalb immer den Flash Player haben.

So nun habe ich die WebReferenzen eingebunden und möchte an die WebServices mehrere Parameter übergeben.

Bsp.: Dem WebService RoomService möchte ich den Raumnamen übergeben, dem UserService möchte ich einige UserNamen + Passwort übergeben. Wie macht man sowas?

Sorry für die ganzen Fragen, aber mein Ausbilder hat keine Ahnung davon und nach 1 Tag Googlen habe ich langsam aufgegeben ein gutes Tutorial oder eine andere Hilfestellung zu finden. Habe zwar einige Bücher hier liegen, aber in keinem wird etwas über Webservices beschrieben, wie ich es brauche...

Ich habe dann noch eine Frage:

Es erscheint bei mir immer folgende Warnung wenn Outlook nach dem debuggen des Projektes startet:


Die Datei oder Assembly Microsoft.Office.Interop.Outlook, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.



************** Exception Text **************

System.IO.FileNotFoundException: Die Datei oder Assembly Microsoft.Office.Interop.Outlook, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.

Dateiname: Microsoft.Office.Interop.Outlook, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c

   bei OutlookAddIn1.ThisAddIn.Initialize()

   bei Microsoft.VisualStudio.Tools.Applications.Runtime.AppDomainManagerInternal.CreateStartupObject(EntryPoint entryPoint, Dependency dependency, Assembly objectAssembly)

   bei Microsoft.VisualStudio.Tools.Applications.Runtime.AppDomainManagerInternal.ConfigureAppDomain()

   bei Microsoft.VisualStudio.Tools.Applications.Runtime.AppDomainManagerInternal.LoadAssembliesAndConfigureAppDomain(IHostServiceProvider serviceProvider)

   bei Microsoft.VisualStudio.Tools.Applications.Runtime.AppDomainManagerInternal.LoadEntryPointsHelper(IHostServiceProvider serviceProvider)


=== Zustandsinformationen vor Bindung ===

LOG: Benutzer = LAN-04\muellerd

LOG: DisplayName = Microsoft.Office.Interop.Outlook, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c

 (Fully-specified)

LOG: Appbase = file:///C:/Programme/Microsoft Visual Studio/Projekts/OutlookAddIn1/OutlookAddIn1/bin/Debug/

LOG: Ursprünglicher PrivatePath = NULL

Aufruf von Assembly : OutlookAddIn1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.

===

LOG: Diese Bindung startet im default-Load-Kontext.

LOG: Es wurde keine Anwendungskonfigurationsdatei gefunden.

LOG: Die Computerkonfigurationsdatei von C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config wird verwendet.

LOG: Verweis nach der Richtlinie: Microsoft.Office.Interop.Outlook, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c

LOG: Download von neuem URL file:///C:/Programme/Microsoft Visual Studio/Projekts/OutlookAddIn1/OutlookAddIn1/bin/Debug/Microsoft.Office.Interop.Outlook.DLL.

LOG: Download von neuem URL file:///C:/Programme/Microsoft Visual Studio/Projekts/OutlookAddIn1/OutlookAddIn1/bin/Debug/Microsoft.Office.Interop.Outlook/Microsoft.Office.Interop.Outlook.DLL.

LOG: Download von neuem URL file:///C:/Programme/Microsoft Visual Studio/Projekts/OutlookAddIn1/OutlookAddIn1/bin/Debug/Microsoft.Office.Interop.Outlook.EXE.

LOG: Download von neuem URL file:///C:/Programme/Microsoft Visual Studio/Projekts/OutlookAddIn1/OutlookAddIn1/bin/Debug/Microsoft.Office.Interop.Outlook/Microsoft.Office.Interop.Outlook.EXE.




************** Loaded Assemblies **************

mscorlib

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll

----------------------------------------

Microsoft.VisualStudio.Tools.Applications.Runtime

    Assembly Version: 8.0.0.0

    Win32 Version: 8.0.50727.940

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualStudio.Tools.Applications.Runtime/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualStudio.Tools.Applications.Runtime.dll

----------------------------------------

Microsoft.Office.Tools.Common

    Assembly Version: 8.0.0.0

    Win32 Version: 8.0.50727.940

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.Office.Tools.Common/8.0.0.0__b03f5f7f11d50a3a/Microsoft.Office.Tools.Common.dll

----------------------------------------

System

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll

----------------------------------------

System.Windows.Forms

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)

    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

----------------------------------------

OutlookAddIn1

    Assembly Version: 1.0.0.0

    Win32 Version: 1.0.0.0

    CodeBase: file:///C:/Programme/Microsoft%20Visual%20Studio/Projekts/OutlookAddIn1/OutlookAddIn1/bin/Debug/OutlookAddIn1.DLL

----------------------------------------

Bsp.: Dem WebService RoomService möchte ich den Raumnamen übergeben, dem UserService möchte ich einige UserNamen + Passwort übergeben. Wie macht man sowas?

Wenn du den Webservice in deinem Programm referenziert hast kannst du die Funktionen daraus doch ganz normal aufrufen und da übergibst du dann halt einfach die gewünschten Parameter mit.

Ich hab hier mal ein Beispiel um über den Amazon Webservice ein Album Cover zu einem Lied runterzuladen:


using (WebClient WebClient = new WebClient())
{
KeywordRequest req = new KeywordRequest();
req.keyword = Artist + " " + Album;
req.devtag = "XXX";
req.mode = "music";
req.type = "lite";
req.page = "1";

using (AmazonSearchService search = new AmazonSearchService())
{
int i = 0;
try
{
ProductInfo productInfo = search.KeywordSearchRequest(req);

for (; i < productInfo.Details.Length; ++i )
{
string Url = productInfo.Details[i].ImageUrlLarge;
//Download Image
}
return i;
}
catch (Exception ex) { }
}
}
[/PHP]

  • Autor

Habe mich mal ein wenig weiter eingelesen in WebServices,

es funktioniert nun schon ganz gut.

Die SID bekomme ich ohne Probleme wieder,

allerdings habe ich Probleme mit der Methode AddRoom:

Die Doku dazu:

SoapMethods - openmeetings - Available SOAP-Services to login directly/embedding OpenMeetings - Google Code

Fehlermeldung:

Die Methode nimmt keine 20 Überladungen an...

Danach habe ich mal ein wenig gegoogelt und hier PHP Code dazu gefunden:

http://openmeetings.googlecode.com/svn/trunk/plugins/openmeetings_moodleplugin/openmeetings/openmeetings_gateway.php

Danach habe ich versucht die gleichen Parameter, wie im Beispiel dort übergeben werden, zu übergeben, aber es erscheint immernoch die gleiche Fehlermeldung.

Kann mir einer helfen und mir sagen was ich falsch mache?

Danke und viele Grüße

DeMue


                    //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);

                    //setUserObject

                    us.setUserObject(SID, EmailToSplit, SplittetMailToSplitFirstName, SplittetMailToSplitSureName, "http://wiki/skins/common/logo/logo.png", emailadress , out long3, out bool3);

                    //addRoom to Open Meetings

                    rs.addRoom(SID, "testname", 1, 4, true, 270, 280, 2, 2, 400, true, 276, 2, 592, 660, true, 2, 284, 310, 270,);

                    //set userObject

                    // You need it for each login

                    us.setUserObject(SID, EmailToSplit, SplittetMailToSplitFirstName, SplittetMailToSplitSureName);

                    //Room1 ID

                    Rooms Room = rs.getRoomById(SID, RoomID, true);

                    //Write SID and Room ID

                    KnownRoomID = (long)Room.rooms_id.Value;

Bearbeitet von DeMue

Fehlermeldung:

Die Methode nimmt keine 20 Überladungen an...

So lautet die Fehlermeldung bestimmt nicht. Ein wenig mehr Sorgfalt wäre hier angebracht.

Die Methode hat 21 Parameter. Du gibst nur 20 an, der comment-Parameter, ein String, fehlt. Das zusätzliche Komma am Ende ist auch nicht in Ordnung.

  • Autor


rs.addRoom(SID, TopicBox.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)

Schade, auch mit 21 gehts nicht.

Die Methode nimmt auch keine 21 Überladungen an..

Hi DeMue

Nun ich tippe ganz einfach mal, das addRoom() einfach nur einen Array als Parameter besitzt.

Zumindest geht das aus dem PHP-Code hervor, den du oben verlinkt hast.

Greetz

Bearbeitet von LordHexa
Kleiner Nachtrag

  • Autor

Falls jemand nochmal vor dem Problem stehen sollte, auch wenn ich nicht weiß woher die ganzen restlichen Parameter kommen, aber so funktioniert es:

Reihenfolge wie im PHP Beispiel, das einzige 'False' steht hier um den Room auf Private zu setzen:


 rs.addRoom(SID, RoomName, 1, true, "Added by Open Meeting Tools for Outlook", 16, true, false ,true, 270, true, 280, true, 2, true, 2, true, 400, true, true, true, 276, true, 2, true, 592, true, 660, true, true,true, 2, true, 284, true, 310, true, 270, true, out long4, out bool4);                      

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.