Oracle Analytics Cloud and Server

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

401 authentication error while calling OAC report using soap web service basic credential

Accepted answer
35
Views
4
Comments

Hi Experts

I'm getting 401 authentication error while calling OAC report using soap web service basic credentials. Please help me how to pass basic credentials like username password and run report.

Tagged:

Best Answer

  • Hi @learning123 ,

    The above link is for Publisher, but as your talk about OAC report, I assume you mean "classic" analyses/dashboards and you are calling the WSDL located at /analytics-ws/saw.dll/wsdl/v12 ?

    If that's the case, you need to authenticate first, there is a method for it. The thing is that OAC does use a SSO with IDCS etc., and the webservice should preferably be called using a token instead of your credentials (username/password). Even more so if you have MFA enable: the webservice will not be able to ask you for your authenticator code or whatever form of MFA you have enabled. In that case you should use the token instead to tell the webservice you are authenticated.

Answers

  • RVohra
    RVohra Rank 7 - Analytics & AI Coach

    Can you do a simple Browser Test:

    Navigate to: https://<oac-domain>/xmlpserver/services/v2/ReportService?wsdl
    If a login prompt appears → enter credentials.

    If login fails → credentials invalid for SOAP

    If login succeeds → Basic Auth is enabled and working

  • learning123
    learning123 Rank 3 - Community Apprentice

    @Gianni Ceresa thank you, is there a way to authenticate using fusion user name and passport. I could see my OAC instance is using fusion login as well as idcs.. both option is available

    as im calling the report using SOAP web service, is it possible to pass this in the basic authentication ?

  • If you read the specification of the web services, you will see there is one to authenticate and receive a session ID you should then pass to all your requests. That's the historical way to use the web service, before the token was introduced recently.

    You can't use just basic authentication, because that isn't something supported by the service (it will be ignored).

    You should use the methods of the SAWSessionService service to login and logout when done: https://docs.oracle.com/en/cloud/paas/analytics-cloud/acsdv/c_sawsessionservice_service.html#GUID-7FF44E3E-AA62-4411-83DE-AC6DDB1B0A88