現在、Zend SOAP クライアントを使用して SOAP Web サービスを使用しようとしていますが、ポスト バインディングの場所のアドレスがアクセスしている URL のアドレスと異なるため、どのメソッドにもアクセスできないという問題に直面しています。からの WSDL。
私はすでにSOでこの同様の問題を発見しました:
wsdl がサービス ポート バインディングを https およびポート 80 として定義する場合の PHP SOAP 要求の失敗の回避策は?
しかし、OPがここで尋ねたコメント
wsdl がサービス ポート バインディングを https およびポート 80 として定義する場合の PHP SOAP 要求の失敗の回避策は?
私が現在答えを探しているものです。
これは、WSDL を呼び出すときに現在発生するエラーです。
SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://xxxx.xxx.xx:9076/inventory?wsdl=InventoryWSSoap.wsdl' : failed to load external entity "http://xxxx.xxx.xx:9076/inventory?wsdl=InventoryWSSoap.wsdl"
これが私のコードです
<?php
require_once "vendor/autoload.php";
$apiUrl = "https://testurl.com/inventory?wsdl";
try {
$client = new Zend\Soap\Client($apiUrl, array(
'compression' => SOAP_COMPRESSION_ACCEPT,
'proxy_port' => 9076,
));
$params = array(
'name' => 'usnema',
'pwd' => 'xxxxx',
'operatorId' => '11210210'
);
$adSpace = $client->GetAdSpaceList($params);
echo "<pre>";
var_dump($adSpace);
} catch (Exception $e) {
echo $e->getMessage();
}