У меня есть доступ к документации для API. Мне нужно вызвать данные из этого API с помощью PHP. Единственные примеры, которые дает документация, находятся на C #. В прошлом я делал несколько вызовов API с использованием SOAP, но ни одна из моих попыток не работала с этим конкретным API с использованием SOAP.
Вот код C #, предоставленный в документации. Здесь код просто аутентифицируется в API и затем называет имя компании.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Windows.Forms;
using TestApp.CC1;
namespace TestApp
{
public partial class Form1 : Form
{
// Create an instance on the ConXMLBridgeservice
ConXMLBridgeservice cc1 = new ConXMLBridgeservice();
// Create a network credential using an AoD Access Account
NetworkCredential aodCred = new NetworkCredential("YourAccessAccountName", "YourAccessAccountPassword", "");
public Form1()
{
InitializeComponent();
cc1.Credentials = aodCred;
cc1.PreAuthenticate = true;
cc1.Url = "https://youruri.apidomain.com:9218/cc1exec.aew/soap/ConXMLBridge";
lblCompanyName.Text = cc1.getCompanyName();
}
}
}
И вот моя попытка сделать этот же вызов, но в PHP:
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
$options = array(
'soap_version' => SOAP_1_1,
'AccessAccount' => 'sample_user',
'Password' => 'sample_pass'
);
$wsdlAddress = "https://youruri.apidomain.com:9218/cc1exec.aew/soap/ConXMLBridge";
$webServiceClient = new SoapClient($wsdlAddress, $options);
$response = $webServiceClient->__soapCall("ConXMLBridge");
var_dump($response);
Я еще не пробовал вызывать метод для названия компании getCompanyName (). Я просто пытаюсь сначала установить соединение успешно.
И, наконец, вот ошибка PHP, которую я получаю из моего звонка выше:
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://youruri.apidomain.com:9218/cc1exec.aew/soap/ConXMLBridge' : failed to load external entity "https://youruri.apidomain.com:9218/cc1exec.aew/soap/ConXMLBridge" in /var/www/public/apitesting/index.php:14 Stack trace: #0 /var/www/public/apitesting/index.php(14): SoapClient->SoapClient('https://youruri...', Array) #1 {main} thrown in /var/www/public/apitesting/index.php on line 14
Обратите внимание, что APIпроприетарный API, который я подписал для использования NDA, поэтому я заменил идентифицируемую информацию на информацию sudo.
Может ли кто-нибудь помочь мне выяснить, что я делаю неправильно?
Спасибо огромноеза любую помощь.