0

我一直在寻找一个可靠的工作答案,找不到一个。

我也是 SOAP 的新手,但对 PHP 非常熟悉。

我用 CURL 发送我的 SOAP 请求,我的回复是这样的:

<?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>
<GetFeatureResponse xmlns="http://www.supportsite.com/webservices/">
  <GetFeatureResult>**string**</GetFeatureResult>
</GetFeatureResponse>
</soap:Body>
</soap:Envelope>

我需要将 ->GetFeatureResult 'string' 保存在没有 XML 的 MySQL 数据库中。我尝试的一切都返回空白。这是我现在使用的:

$result = curl_exec($curl);
curl_close ($curl);

$resultXML = simplexml_load_string($result);


$item = $resultXML->GetFeatureResponse->GetFeatureResult;
4

1 回答 1

1

PHP 有一个内置的soap 客户端。这要容易得多。只要您将它指向正确的 WSDL 文件,它就会返回一个可供使用的 PHP 对象。

编辑:挖出一个我周围的例子......

  $sc = new SoapClient($wsdl, array(
    'location' => "https://$host:$port/path/",
    'login' => $user,
    'password' => $pass
  ));

  //$sc will now contain methods (maybe properties too) defined by the WSDL file
  //Getting the info you need could be as easy as
  $info = $sc->getInfo(array('parameter'=>'value'));
于 2013-08-02T20:12:54.360 回答