2

現在、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();
}
4

0 に答える 0