I am trying to create a link between our inhouse backoffice system and our website. I’m trying some very basic stuff to start with but need a nudge in the right direction.
I have access to the WSDL file that the backoffice system publishes and can see it live on the web. I can put it into SOAPUI and get data out without a problem.
I am a bit lost as to what I need to do next. I have written a couple of scripts to pull out information the same way SOAPUI does but get nothing but errors.
I assume that I just need to create a client script, point it to the WSDL file, pass it an array of data (exactly the same array as I use in SOAPUI that works) and get it to print_r the results??
I cannot see any reference to server script. All of the example I have worked through required server, client and WSDL scripts.
Any assistance you could provide / nudges in the right direction would be greatly appreciated.
the basic script I am currently trying is as follows:
<?php
$client = new
SoapClient(
"http://xx.xxxxxxxxxxxxx.xxx:xxxx/xxxx/xxxx"
);
$request = array('AStartingWith'=>'a',
'ACount'=>'10',
'AStartPos'=>'1',
'AMoreToCome'=>'?');
$response = $client->GetCustomerList($request);
print_r($response);
?>
I have x’d out the WSDL file I am linking to, but essentially there is no file extension. Just the folder name. Works fine in SOAPUI though. Could this cause a problem? I just get a 500 internal server error message.
I’m trying to debug this using
<?php
try
{
$soap_url = 'xxxxxxxxxxxxxxxxxxxxxx.wsdl';
$soap_client = new SoapClient($soap_url);
var_dump($soap_client->__getFunctions());
}
catch (SoapFault $e)
{
echo "<pre>";
print_r($e); exit;
echo "<pre>";
}
?>
The result is
SoapFault Object
(
[message:protected] => SOAP-ERROR: Parsing WSDL: Couldn't load from 'xxxxxxxxxxxxxxxxxxxxxxxxx.wsdl' : failed to load external entity "xxxxxxxxxxxxxxxxxxxxxxxx.wsdl"
[string:private] =>
[code:protected] => 0
[file:protected] => /var/www/html/dev/index14.php
[line:protected] => 6
[trace:private] => Array
(
[0] => Array
(
[file] => /var/www/html/dev/index14.php
[line] => 6
[function] => SoapClient
[class] => SoapClient
[type] => ->
[args] => Array
(
[0] => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.wsdl
)
)
)
[faultstring] => SOAP-ERROR: Parsing WSDL: Couldn't load from 'xxxxxxxxxxxxxxxxxxxxxxxx.wsdl' : failed to load external entity "xxxxxxxxxxxxxxxxxxxxxx.wsdl"
[faultcode] => WSDL
)
Can anyone shed any light on this? As I say it works fine with SOAPUI.