-3

私はPHPで作業していますが、SOAPのようなものでは作業していません。しかし、今日、私の管理者は、次のSOAP要求から要求をフェッチするように私に言いました。私はSOAPとは何か、それが何に使用されているのか、そして私のページでそれをどのように使用するのかさえ知らないので。このサンプルリクエストからリクエストをリクエストするにはどうすればよいですか?ありがとう。グーグルで検索してみましたが、関連する結果が見つかりませんでした。

POST /TestService/Service.asmx HTTP/1.1
Host: 123.12.12.123
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://abc.com/Mobile"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <Mobile xmlns="http://abc.com/">
      <str>string</str>
    </Mobile>
  </soap:Body>
</soap:Envelope>

長さ文字列はプレースホルダーです。

4

2 に答える 2

1

これはSOAPhttp ://en.wikipedia.org/wiki/SOAPです

これはPHPを使用したSOAPですhttp://php.net/manual/de/book.soap.php

これらのリンクはGoogleで最初に表示されます。それらを見逃すのは非常に難しいに違いありません。

于 2012-08-17T06:23:41.527 に答える
0

これは非常に便利なライブラリです。このページにアクセスしてダウンロードしてください: http://sourceforge.net/projects/nusoap/files/

開発者によって提供された例の 1 つを次に示します。

require_once('lib/nusoap.php');
$proxyhost = isset($_POST['proxyhost']) ? $_POST['proxyhost'] : '';
$proxyport = isset($_POST['proxyport']) ? $_POST['proxyport'] : '';
$proxyusername = isset($_POST['proxyusername']) ? $_POST['proxyusername'] : '';
$proxypassword = isset($_POST['proxypassword']) ? $_POST['proxypassword'] : '';
$client = new soapclient('http://www.xignite.com/xquotes.asmx?WSDL', true,
                        $proxyhost, $proxyport, $proxyusername, $proxypassword);
$err = $client->getError();
if ($err) {
    echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}
// Doc/lit parameters get wrapped
$param = array('Symbol' => 'IBM');
$result = $client->call('GetQuickQuotes', array('parameters' => $param), '', '', false, true);
// Check for a fault
if ($client->fault) {
    echo '<h2>Fault</h2><pre>';
    print_r($result);
    echo '</pre>';
} else {
    // Check for errors
    $err = $client->getError();
    if ($err) {
        // Display the error
        echo '<h2>Error</h2><pre>' . $err . '</pre>';
    } else {
        // Display the result
        echo '<h2>Result</h2><pre>';
        print_r($result);
        echo '</pre>';
    }
}
echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
于 2012-08-17T07:01:09.183 に答える