Laden...

Authentifizierungsfehler bei WebService von belboon mit C#

Erstellt von rob82 vor 7 Jahren Letzter Beitrag vor 7 Jahren 3.721 Views
R
rob82 Themenstarter:in
5 Beiträge seit 2016
vor 7 Jahren
Authentifizierungsfehler bei WebService von belboon mit C#

Ich möchte von belboon den Webservice nutzen und Daten abrufen:
https://www.belboon.com/de/tools/webservices/

Habe schon mit anderen Diensten zu tun gehabt und bisher immer kein Problem.
Ich habe die Url (http://api.belboon.com/?wsdl) einfach als Dienstverweis in VS hinzugefügt und VS generiert ja eigentlich alles nötige.

Leider bekomme ich egal was ich versuche einen Authentifizierungsfehler.

Mit dem PHP Beispiel-Code klappt es problemlos, aber ich will es ja in C# umsetzen 😦

Hat jemand Erfahrung mit?

habe es auch als Webservice (was ja veraltet zu sein scheint .net 2.0) versucht, aber auch damit bekomme ich es nicht hin 😦

Eines der vielen Versuche:

bApi.BelboonHandlerBindingPortClient c = new bApi.BelboonHandlerBindingPortClient();
            c.ClientCredentials.UserName.UserName = "USERNAME";
            c.ClientCredentials.UserName.Password = "PASSWORT";
            
            bApi.HandlerResultSoap res = c.getAccountInfo();

Habe schon einiges Probiert aber nichts klappte

16.835 Beiträge seit 2008
vor 7 Jahren

Gibts was genaueres als nur "klappt nicht" ...?
[Hinweis] Wie poste ich richtig? Punkt 5.

Du schreibst zwar was von einem Fehler, nennst ihn hier aber nicht.

R
rob82 Themenstarter:in
5 Beiträge seit 2016
vor 7 Jahren

Naja habe geschrieben ich bekomme einen Authentifizierungsfehler, nicht nur das es nciht klappt 😉

Also VS zeigt mir folgendes:> Fehlermeldung:

FaultException wurde nicht von benutzercode behandelt.

Unauthorized (user= transaction=1)

Das passiert bei getAccountInfo()

Dachte ich muss vielleicht noch c.Open() aufrufen, aber gleiches Problem.

T
314 Beiträge seit 2013
vor 7 Jahren

In dem PDF zur API (4.3.1.1) steht doch entsprechend drin, wie du dich zu authentifizieren hast.
Bezog sich auf die SmartFeeds WebService Url.

16.835 Beiträge seit 2008
vor 7 Jahren

Wie man in diesem Fall sieht hat es durchaus einen Sinn, dass wir [Hinweis] Wie poste ich richtig? Punkt 5 haben.
Du hast ja auch kurz vor dem Erstellen dieses Thread [Hinweis] Wie poste ich richtig? als gelesen markiert; und trotzdem fehlt die Fehlerangabe 😉

"Authorisierungsfehler" kann alles und nichts sein.
Ungültiger Benutzer, ungültiges Passwort.. wer soll das anhand dieser mehr als spärlichen Beschreibung denn wissen, was genau der Fehler ist? => nur Du.

Mit der Fehlermeldung konnte wir Dir nun sagen, dass Du einfach versuchst eine Methode gegen die API auszuführen, Du aber gar nicht authentifiziert bist.
Du musst Dich - wie in der Dokumentation es steht - vorher authentifizieren.

Ergo das nächste Mal einfach die Fehlermeldung posten, deswegen bitte wir drum. (Und noch besser: vorher die Dokumentation der API durchlesen 😉 )
Das hat alles seinen Sinn...Danke =)

R
rob82 Themenstarter:in
5 Beiträge seit 2016
vor 7 Jahren

Wie muss ich mich denn Authentifizieren? Im Dokument steht ein Beispiel in PHP, aber nicht in c#.

Das ich das vorher machen muss ist mir klar, aber ich gehe davon aus, das ich Benutzernamen und Passwort setzen muss


bApi.BelboonHandlerBindingPortClient c = new bApi.BelboonHandlerBindingPortClient();
            c.ClientCredentials.UserName.UserName = "USERNAME";
            c.ClientCredentials.UserName.Password = "PASSWORT";

und dann beim Aufruf der methode das mit übergeben wird:


 bApi.HandlerResultSoap res = c.getAccountInfo();

Es gibt ja nur ein PHP besipiel:


$config = array('login' => 'USERNAME','password' => 'PASSWORT','trace' => true);
$client = new SoapClient(WSDL_SERVER, $config);
$result = $client->getAccountInfo();

Und dachte das wäre nun das gleiche wie das was ich oben in c# habe.
denn diese 3 Zeilen funktionieren in PHP und liefern mir Daten zurück!

Ich habe auch http://smartfeeds.belboon.com/SmartFeedServices.php?wsdl hinzugefügt und folgendes versucht (was Seite 8 von https://www.belboon.com/wp-content/uploads/2016/02/DE_Publisher_Handbuch_Webservices_SmartFeeds_V1_4_1_2016.pdf sein sollte):

ServiceReference1.SmartFeedServicesPortClient c = new ServiceReference1.SmartFeedServicesPortClient();
            String s= c.login("USERNAME","PASSWORT");

Nun bekomme ich da aber:> Fehlermeldung:

CommunicationException wurde nicht von Benutzercode behandelt.
Error in deserializing body of reply message for operation 'login'.

T
708 Beiträge seit 2008
vor 7 Jahren

Hi,

versuch mal das Property UseDefaultCredentials auf false zu setzen.
Ansonsten werden Deine Benutzerinformationen ignoriert.

R
rob82 Themenstarter:in
5 Beiträge seit 2016
vor 7 Jahren

Leider gibt es diese Property nicht 😭
Ich finde zumindest diese nirgends.

Ich habe am Wochenende nun vieles Versucht, weil ich auch bei einer anderen WSDL Probleme hatte.
Habe Dateien mit der WSDL.exe erzeugt und letztendlich mit SvcUtil.exe, damit hat es bei der 2. WSDL endlich funktioniert (affili).

Bei Affili war auch als erstes das einloggen kein Problem, dafür gabs im Code auch ein extra Methode Logon, die dann auch ein Token zurück gegeben hat.
Aber ich konnte keine weiteren Sachen abrufen, weil immer eine Fehlermeldung kam. Erst als ich dann durch SVCUtil den Code erstellen lies funktionierte es dann.

S
1 Beiträge seit 2016
vor 7 Jahren

Hallo,

ich habe leider das selbe Problem, das ich mich bei Belboon nicht anmelden kann.
Kannst du mir sagen wie du die Dateien neu erstellt hast, damit das Abrufen der Daten funktioniert hat?
Ich habe dies bei mir versucht, allerdingt ohne erfolg. Ich wäre dir sehr dankbar wenn du mir helfen könntest.

R
rob82 Themenstarter:in
5 Beiträge seit 2016
vor 7 Jahren

@Scarat84
Habe erst jetzt dein Posting gesehen, also ich war und bin nicht weiter gekommen.

Habe einiges versucht und nichts hat geklappt. Die Logindaten sind korrekt, denn in PHP klappt es mit dem Beispielcode.

Hattest du noch was hinbekommen?

Den Code hatte ich über den Befehl generieren lassen:
SvcUtil.exe http://api.belboon.com/?wsdl /t:code /l:c#

Hatte aber auch anderes versucht und nichts klappte bisher 😦 . Mit affili.net klappte es.

S
1 Beiträge seit 2016
vor 7 Jahren

Ich habe bereits auch alles mögliche versucht.
Der Support ist auch nicht wirklich hilfreich, da die nur Linux kennen.

Verwiesen haben die mich auf
https://weblog.west-wind.com/posts/2010/Feb/18/NET-WebRequestPreAuthenticate-not-quite-what-it-sounds-like#ForcingBasicAuthenticationCredentialsonthefirstRequest

allerdings komme ich damit auch nicht so recht weiter.