[php] soap authenticate

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met een soap call te maken maar ik krijg continu de melding dat hij niet kan inloggen, of dat er geen headers zijn meegestuurd beter gezegd.

Ik heb het eerst geprobeerd zonder de nusoap.php en probeer het nu met de soap.php class maar helaas beide geven nog niet het gewenste resultaat.

dit is de code die ik zonder nusoap.php gebruik

code:
1
2
3
    $server = new SoapClient("http://myeurofiber.com/ws/wsdl");
    $header = new SoapHeader ('http://myeurofiber.com/ws', 'authenticate', array('username'=>'*******', 'password'=>'********'));
    $server->__soapCall('Eurofiber_Postcodecheck', array(), null, $header, $header);


en dit is de code die ik gebruik met nosoap.php
code:
1
2
3
4
    $client = new nusoap_client('http://myeurofiber.com/ws/wsdl', 'wsdl');
    $client->setCredentials('******', '******');
    $result = $client->call('Eurofiber_Postcodecheck', array());
    var_dump($result);


De beide array (params) moeten nog gevuld worden maar kom dus helaas nog niet voorbij het aanmelden...
Ergens maak ik dus een fout maar ik kan helaas niet zien waar

Acties:
  • 0 Henk 'm!

  • Mephix
  • Registratie: Augustus 2001
  • Laatst online: 15-03 08:21
Misschien een lullige vraag.. maar de server maakt gebruik van HTTP authentication?

Als ik de wsdl bekijk.. dan zie ik:

<soap:Header>
<tns:authentication>
<username>exampleUser</username>
<password>examplePassword</password>
</tns:authentication>
</soap:Header>

Zo te zien dus geen http authentication, maar credentials in de soap header.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Klopt, maar ik heb toch ook de credentials gezet en ook een header aangemaakt of doe ik het nu helemaal verkeerd dan?

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
authentication != authenticate

{signature}


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 00:12

Creepy

Tactical Espionage Splatterer

Controleer eens wat er voor SOAP request nu over de lijn gaat. Als ik zo naar je eerste stuk code kijk dan maak je een header aan met een "authenticate" element wat een "authentication" element zou moeten zijn.

Edit: snelle Voutloos

[ Voor 5% gewijzigd door Creepy op 12-02-2010 15:27 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Mephix
  • Registratie: Augustus 2001
  • Laatst online: 15-03 08:21
Verwijderd schreef op vrijdag 12 februari 2010 @ 15:21:
Klopt, maar ik heb toch ook de credentials gezet en ook een header aangemaakt of doe ik het nu helemaal verkeerd dan?
Ik ben niet helemaal bekend met nusoap, maar als ik de doc even snel doorlees, dan zie ik bij setCredentials dat dat http authentication credentials zijn. Er wordt daarbij niets gezegd over een soap header.

Verder, authenticate klopt idd ook niet.

Voor debugging zou je de service eerst kunnen aanroepen buiten PHP om, bijv. met XmlSpy of een ander programma. Gewoon om te kijken wat er nodig is voor een juiste aanroep. Kijk dan wat PHP er van maakt en zoek de verschillen.

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Mephix schreef op vrijdag 12 februari 2010 @ 15:34:
[...]


Ik ben niet helemaal bekend met nusoap
Lekker zo houden, want iedereen heeft al jaren SoapClient ipv die suffe PHP 4 lib. ;)

{signature}


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
authentication was het helaas ook nog niet alleen, ik ga even verder puzzlen

hoe kan je zien wat php ervan gemaakt heeft? en wat er daadwerkelijk over en weer gaat?

Acties:
  • 0 Henk 'm!

  • steffex
  • Registratie: Augustus 2003
  • Laatst online: 12-08 00:24
ik heb wel eens problemen gehad met http authenticatie en nusoap!
Als het een webservice is, die is opgezet in een windows omgeving(iis) kan het zijn dat het geen basic auth is, maar microsofts NTLM (Wikipedia: NTLM).

Dit zorgt ervoor dat nusoap er niet doorheen komt. Dit is op te lossen met behulp van een curl setting voor nusoap.

http://www.blog.joaomorai...thentication-with-nusoap/

Hopelijk lost dit je probleem op, dit heeft mij namelijk een dag gekost om erachter te komen ;) 8)7

[ Voor 17% gewijzigd door steffex op 14-02-2010 00:10 ]


Acties:
  • 0 Henk 'm!

  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Verwijderd schreef op vrijdag 12 februari 2010 @ 15:47:
authentication was het helaas ook nog niet alleen, ik ga even verder puzzlen

hoe kan je zien wat php ervan gemaakt heeft? en wat er daadwerkelijk over en weer gaat?
Ik heb nog nooit gewerkt met soap in php dus ik ken de lib niet. Maar op je vraag om te zien wat er gezonden wordt, misschien wireshark eens installeren? Die maakt alle berichten zichtbaar (afhankelijk van de filter) die van en naar je pc gaan.

Acties:
  • 0 Henk 'm!

  • jip_86
  • Registratie: Juli 2004
  • Laatst online: 22:35
Paros kan je http verkeer afvangen. Werkt als een soort proxy, soap configureren met als proxy Paros dan kun je al je requests afvangen en inzien. Laatst ook mee gewerkt, gaat prima :)

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 01:33

MueR

Admin Tweakers Discord

is niet lief

Waarom zou je moeilijk doen met een proxy als PHP in zn SOAP client gewoon getLastRequest, getLastRequestHeaders, getLastResponse en getLastResponseHeaders heeft, waarmee je dit soort dingen uitstekend kan debuggen?

Anyone who gets in between me and my morning coffee should be insecure.

Pagina: 1