HTTP Authentication


(Simon) #1

Hello,


I'm want to use HTTP Authentication with SOAP… I'm starting with basic HTTP Authentication… I've enabled it "Accept HTTP Authentication" in the System Configuration screen. I've gone to "/?USE_HTTP_LOGIN=1"… I get the popup but I cannot login. It always fails… do I need to do anything else??



The main effort is to be able to go "/_web_services/soap-server?WSDL&USE_HTTP_LOGIN=1"… before I start troubleshooting the above can anyone confirm that they've got HTTP Auth + SOAP working???



Thanks.


(Nic Hubbard) #2

I have the SOAP LoginUser function working. But I am thinking that is not what you mean.


(Simon) #3

Hmmm. I wasn't aware of LoginUser, it seems better.


I just tried to do a LoginUser call followed by CreateAsset and my response was "Unable to create asset" (however without the call I get "Unable to Create link: Cannot create link from "X" (# Y) to "X #Y" (# Y) - no write permission for either asset [SYS0301]". Do I need to do anything else??



What permissions do I need on the SOAP Server?? Ie on the SOAP Server asset and on the Create Location.



Thanks.


(Simon) #4

[quote]
Hmmm. I wasn't aware of LoginUser, it seems better.



I just tried to do a LoginUser call followed by CreateAsset and my response was "Unable to create asset" (however without the call I get "Unable to Create link: Cannot create link from "X" (# Y) to "X #Y" (# Y) - no write permission for either asset [SYS0301]". Do I need to do anything else??



What permissions do I need on the SOAP Server?? Ie on the SOAP Server asset and on the Create Location.



Thanks.

[/quote]



It looks like I cannot use HTTP Authentication. If I add "&USE_HTTP_AUTH=1" the WSDL dies.



Any info on the LoginUser??


(Simon) #5

[quote]
It looks like I cannot use HTTP Authentication. If I add "&USE_HTTP_AUTH=1" the WSDL dies.



Any info on the LoginUser??

[/quote]



Looks like I was completely over engineering the problem :frowning:



Solution :slight_smile:


    
    <?php
            $oSoap = new Zend_Soap_Client('http://domain.com/_web_services/soap-server?WSDL', array(
                        'cache_wsdl' => 'false',
                        'login' => 'xxx',
                        'password' => 'xxx'
                    ));

(Nic Hubbard) #6

Glad you figured it out.