0

私は初めてZend_Soap_Clientです。例として次のコードがあり、その背後にあるものを理解しようとしています。リモートサーバーに接続し、指定されたデータを読み取ることを正しく理解していますか? 最後に、私が理解している限りでは、これらのデータを に保存することになっていますtest.txt

このコードを実行しようとしました (必要な証明書を持っています)。問題は、 にデータが保存されないことtest.txtです。それで、誰かが私にこの技術を説明するか、同様のトピックに関する優れたチュートリアルへのリンクを教えてくれませんか? 特に、必要なデータをローカルの XML ファイルまたは配列に保存する方法に非常に興味があります。

PS 最初に述べたように、私はZend_Soap_Client関連するテクノロジーに慣れていないため、誤った定義を使用した場合はお詫び申し上げます。

$wsdl = 'tttest.wsdl';

$options = array(
    'local_cert' => 'certificate.pem',
    'soap_version' => SOAP_1_1
);

$client = new Zend_Soap_Client($wsdl, $options);

$p = array(
    'endUserId' => 'demo',
    'sendTime' => array('value' => date("Y-m-d H:i:s")),
    'eaupId' => array('chainDate' => array('value' => $chaindate), 'sequenceNumber' => 1)
);
$webServices = $client->retrieveEAUPCDRs($p);

$line = $client->getLastResponse();
$line = substr($line, 110);
$line = substr($line, 0, -22);
$xml = simplexml_load_string($line);

$result = $xml->xpath('//@ns3:title | //ns2:beginPosition | //ns2:endPosition | //ns4:upperLimit | //ns4:lowerLimit | //ns8:conditionalRouteType');

$filename = 'test.txt';
if ($fh = fopen($filename, "r")) {
    while (!feof($fh)) {
        $line = fgets($fh);
        if (strlen($line) != 0) {
            $chars = explode(";", $line, 5);
            $np[$chars[0]] = "$chars[3],$chars[2]";
        }
    }
    fclose($fh);
};
4

1 に答える 1

1

このコードは、あなたが思っていることをしません。

最初の 3 分の 2 ( への呼び出しまで) はサーバーに接続し、最終的に変数xpath()に配置される情報を取得します。$resultただし、最後の 11 行は、前のコードのデータをまったく使用していません ($line最後のビットで再利用されています)。

さらに、fopen()読み取り専用を意味する「r」オプションで呼び出されています。

http://php.netで時間をかけて、このコードで使用されているさまざまな PHP 関数と言語構造を調べてから、次の追加情報について Zend Framework マニュアルにアクセスすることをお勧めしZend_Soap_Clientます: http://framework.zend.com /manual/1.12/en/manual.html

于 2012-09-10T02:01:22.573 に答える