-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

这是 SOAP http://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/

这是开发人员提供的示例之一:

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 回答