使用SOAP& amp;连接到Web服务PHP

时间:2016-11-02 22:04:20

标签: php web-services soap

我尝试使用PHP的肥皂客户端连接到Web服务,我可以使用Visual Studio成功完成,按F5并在本地运行该页面,这是一种享受。

只要我将完全相同的文件上传到我的apache web主机,我就会收到错误:"无法加载外部实体"。

这是我的代码,凭据和网址已被删除......

有什么想法吗?

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

1 个答案:

答案 0 :(得分:2)

字符串不会被读取两次并在单引号中解析

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

$soapclient = new SoapClient($url);

也......你有 $ url =''; 吗?

更新1

请尝试使用基本身份验证来访问您的wsdl:

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

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