troubleshooting Question

PHP and SOAP Woes

Avatar of fionafenton
fionafentonFlag for United Kingdom of Great Britain and Northern Ireland asked on
PHPSOAP ProtocolWeb Services
7 Comments1 Solution512 ViewsLast Modified:
Probably easier if I start with some background info. I have a property portal website and normally an agent would provide me with a link to an xml file containing details of their properties. I set up a cron job and collect their xml file from the url and update our database. Easy.

However, several of our agents are switching to an Estate Agent software package called Hecktor via http://www.la-boite-immo.com/. When requesting a link to an xml file they then referred me to krier.fr who provided me with login details to their SOAP web service and directed me to this page http://alize.krier.fr/AlizeWS/ExportXmlWs.asmx. After several exchanges of emails I was finally able to see the xml data in a browser window by going to this page and entering the login details http://www.soapclient.com/soapclient?template=/clientform.html&fn=soapform&SoapTemplate=/SoapResult.html&SoapWSDL=http://alize.krier.fr/AlizeWS/ExportXmlWS.asmx%3Fwsdl&_ArraySize=2
(Obviously I can't give any log in details)
This is a snippet of what I'm seeing
soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetXmlDataResponse xmlns="http://tempuri.org/">
<GetXmlDataResult>
<lots>
<lot>
......
</lot>
<lot>
.......
</lot>
etc...
</lots>
</GetXmlDataResult>
</GetXmlDataResponse>
</soap:Body>
</soap:Envelope>

What I want to do is capture the data and save it (Basically everything between <lots></lots>). I can then parse it and update our database.
After hours of trawling the internet I have got this far
$client = new SoapClient("http://alize.krier.fr/AlizeWS/ExportXmlWs.asmx?wsdl", array('loginAnnonceur' => "xxxxxx",
                                            'motDePasseAnnonceur'    => "xxxxxx",
                                            'codeAgence' => "xxxxxx",
					    'trace' => 1));
$params=array();
$result = $client->GetXmlData($params);
I know I need to put something in $params but have no idea what. If I leave $params empty it throws an error:
PHP Fatal error:  Uncaught SoapFault exception: [soap:Server] System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ArgumentNullException: Value cannot be null etc and it highlights the line $result=

I just cannot work out what to put for $params so that I can capture all the xml data.

I've been back to krier.fr and asked for help/examples and been told they can't help.
ASKER CERTIFIED SOLUTION
Join our community to see this answer!
Unlock 1 Answer and 7 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 7 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros