2016-11-02 3 views
2

Ich versuche, eine Verbindung zu einem Web-Service mit PHP Soap-Client, die ich erfolgreich mit Visual Studio, F5 drücken und Ausführen der Seite lokal, die ein Leckerbissen funktioniert.Verbinden mit Web-Service mit SOAP und PHP

Sobald ich die exakt gleiche Datei auf meinen Apache-Web-Host hochladen, bekomme ich den Fehler: "Fehler beim Laden externer Entität".

Hier mein Code ist mit den Anmeldeinformationen und URL entnommen ...

Irgendwelche Ideen?

<?php 
header("Access-Control-Allow-Origin: http://example.com"); 
header("Access-Control-Request-Method: GET,POST"); 

ini_set('display_errors', true); 
ini_set("soap.wsdl_cache_enabled", "0"); 
error_reporting(E_ALL); 


try 
{ 
$soapclient = new SoapClient('http://example.com'); 

$params = array ('SystemID' => 'testID','Username' => 'test', 'Password' => 'test'); 

$response = $soapclient->GetEngineerList($params); 

print_r($response); 

} 
catch(SoapFault $e) 
{ 
    print_r($e); 
} 

Antwort

2

Saiten werden nicht zweimal gelesen und

$soapclient = new SoapClient('$url'); 

versuchen

$soapclient = new SoapClient($url); 

auch in einfache Anführungszeichen analysiert ... tun Sie $ url haben = ''; überall?

UPDATE 1

bitte versuchen Sie es grundlegende auth mit auf Ihre wsdl zu erhalten:

$login = 'bert'; 
$password = 'berts password'; 

$client = new SoapClient(
    'http://' . urlencode($login) . ':' . urlencode($password) . '@www.server.com/path/to/wsdl', 
    array(
    'login' => $login, 
    'password' => $password 
) 
); 
+0

Sorry, wo es $ url ist, wo ich nur den Code für Stackoverflow bearbeitet haben und entfernt meine url ... Ich bearbeite meinen Code, um ihn zu korrigieren ... –

+0

aber ... das muss eine gültige wsdl-URL sein ... $ client = new SoapClient ("some.wsdl"); – WEBjuju

+0

hat irgendetwas dabei geholfen? http://stackoverflow.com/questions/12875409/soap-php-fault-parsing-wsdl-failed-to-load-external-entity – WEBjuju