2016-11-02 15 views
2

Visual Studioを使用してF5キーを押し、ページをローカルで実行しているPHPのSOAPクライアントを使用してWebサービスに接続しようとしています。SOAP&PHPを使用したWebサービスへの接続

私はApache Webホストに全く同じファイルをアップロードするとすぐに「外部エンティティの読み込みに失敗しました」というエラーが表示されます。ここで取り出した資格情報とURLと私のコードです

...

任意のアイデアは?

<?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); 
} 

答えて

2

文字列が二度読み、

$soapclient = new SoapClient($url); 

を試し単一引用符で

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

を解析されていないにも...あなたは '' = $ URLを持っています。どこですか?

UPDATE 1

あなたのWSDLを取得するための基本的な認証を使用してみてください。私はちょうどstackoverflowのためのコードを編集し、削除したところ

$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

申し訳ありませんが、$ URLが存在している私URLを修正するために私のコードを編集します... –

+0

...有効なwsdl URLである必要があります... $ client = new SoapClient( "some.wsdl"); – WEBjuju

+0

にはこれが何か役立っていますか? http://stackoverflow.com/questions/12875409/soap-php-fault-parsing-wsdl-failed-to-load-external-entity – WEBjuju

関連する問題