Manažer API s .NET WCF služby

hlasů
0

I nakonfigurování služby WCF .NET pracovat ve Správci API, a když jsem test s SoapUI to funguje, jak se očekávalo. Přístup z mého klienta .NET aplikace (aktualizace pouze URL do vazby), dostanu následující chybu. Jak se vám předat prvku z klienta NET ... Nemyslím si, že je konfigurační položka syste.servicemodel za to?

System.ServiceModel.Security.MessageSecurityException
  HResult=0x80131501
  Message=The HTTP request is unauthorized with client authentication scheme 'Basic'. The authentication header received from the server was 'OAuth2 realm=WSO2 API Manager, error=invalid token, error_description=The access token expired'.
  Source=mscorlib
  StackTrace:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at ConsoleApp4.ServiceReference1.IService1.GetData(Int32 value)
   at ConsoleApp4.ServiceReference1.Service1Client.GetData(Int32 value) in C:\DEV\ConsoleApp4\ConsoleApp4\Connected Services\ServiceReference1\Reference.cs:line 122
   at ConsoleApp4.Program.Main(String[] args) in C:\DEV\ConsoleApp4\ConsoleApp4\Program.cs:line 18

Inner Exception 1:
WebException: The remote server returned an error: (401) Unauthorized.
Položena 07/11/2018 v 23:32
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Existuje mnoho způsobů, jak ověřovat klienta WCF, v závislosti na konfiguraci vašeho serveru. Jak se váš server ověřování klienta? Nebo sdílíte informace o odesílání požadavků pomocí SOAPUI?

Message = Požadavek HTTP Neoprávněný se ověření klienta režimu ‚Basic‘. Hlavička ověřování obdržel od serveru byl ‚OAuth2 říše =‚WSO2 API Manager‘, chyba =‚neplatné tokenu‘, error_description =‚Token přístupu vypršela‘‘.

Pokud je mi známo, je-li server povolit základní ověřování HTTP, bychom měli poskytovat pověření uživatelské jméno.

ServiceReference3.ServiceClient client = new ServiceReference3.ServiceClient();
        client.ClientCredentials.UserName.UserName = "abrahamq";
        client.ClientCredentials.UserName.Password = "abcd1234!";

Chcete-li předat zakázku tokenu nebo ověřování informací serveru, měli byste přidat informace o zvyk záhlaví zprávy SOAP přes OperationContext objekt nebo rozhraní IClientMessageInspector.

https://social.msdn.microsoft.com/Forums/vstudio/en-US/f1f29779-0121-4499-a2bc-63ffe8025b21/wcf-security-soap-header
https://docs.microsoft.com/en-us /dotnet/api/system.servicemodel.dispatcher.iclientmessageinspector?redirectedfrom=MSDN&view=netframework-4.7.2
Neváhejte a dejte mi vědět, jestli existuje něco, co můžu pomoci.

Odpovězeno 08/11/2018 v 09:24
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more