Mam plik .WSDL od naszej firmy klienta, do którego muszę użyć, aby zadzwonić do usługi internetowej. Ich systemem jest SAP (SAP PI). Moja aplikacja to klient C# .NET 3.5 opracowany w VS 2008. Dodałem odwołanie do usługi w Visual Studio przy użyciu dostarczonego pliku .WSDL. Stworzyło to dla mnie klasę referencyjną do wywoływania ich usług i ustaw dla mnie kilka powiązań w pliku app.config.Wystąpienie nieautoryzowanego schematu uwierzytelniania z usługi WWW
Nie zmieniłem niczego w pliku app.config, ale utworzyłem kod, aby zadzwonić do ich usługi internetowej. Jednak gdy zadzwonię do ich usługi internetowej, otrzymuję następujący wyjątek:
Żądanie HTTP jest nieautoryzowane przy użyciu schematu uwierzytelniania klienta "Anonimowy". Nagłówek autentykacji odebrany z serwera to "Basic realm =" SAP NetWeaver Application Server ... "'.
(I zmodyfikowano nieznacznie ciąg używany w sekcji „Podstawowe sfera”, tak aby nie dać go.)
Nie app.config się poprawnie zbudowany z WSDL? Czy mam jakoś zmodyfikować plik app.config?
Czego próbowałem:
- zmienił authenticationScheme w app.config od anonimowy Podstawowy
(jak również wszystkich innych typów uwierzytelniania) - zmienionym ciąg realm w app.config, aby dopasować sfera w komunikacie wyjątków
- zestaw login/pw pola w obiekcie ClientCredentials.Username w moim kodu
Wszelkie wskazówki i pomoc będą mile widziane.
Edycja: Po jakimś dochodzeniu, stwierdziliśmy, że Visual Studio ma kilka ostrzeżeń o polityce i polityki element przedłużający twierdzeń: ostrzeżenie narzędziowej
- niestandardowe: Opcjonalny WSDL wewnętrzny element „polityki” z przestrzeni nazw " http://schemas.xmlsoap.org/ws/2004/09/policy "nie była obsługiwana przez .
- Ostrzeżenie narzędzia niestandardowego: Następujące asercje strategii nie zostały zaimportowane:
XPath: // wsdl: definicje [@ targetNamespace = 'urn: sap-com: document: sap: rfc: functions']/wsdl: binding [@ name = „”] Binding_FieldValidation twierdzenia ...
nie byłem w stanie dowiedzieć się, czy było to związane lub nie do mojego obecnego problemu z systemem uwierzytelniania. Wygląda na to, że jest spokrewniony, ale nie mogłem znaleźć żadnego rozwiązania, aby rozwiązać te ostrzeżenia. Wygląda na to, że WCF nie radzi sobie z instrukcjami we wsdl.