完整的noob,SOAP PHP,带身份验证的请求,存储在mySQL中

时间:2013-09-05 07:00:49

标签: php mysql authentication soap

好的,所以我完全迷失在这里!一直盯着屏幕看了两天,我在互联网上找到的所有解释/教程都假设你以前已经使用过SOAP。

使用SOAPui我至少能够尝试请求并查看结果:)但我需要在PHP中复制它...例如,使用身份验证凭据在PHP中发出请求然后存储响应在mySQL表中。

这就是请求的样子

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"    xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
    <soapenv:Body>
      <tem:DoThis>
         <tem:licensId>[MYLICENSID]</tem:licensId>
         <tem:licenskey>[MYLICENSKEY]</tem:licenskey>
         <tem:guid>[AGUID]</tem:guid>
      </tem:DoThis>
   </soapenv:Body>
</soapenv:Envelope>

所以我需要验证/验证请求(我猜)?但是我如何用PHP做到这一点? 一旦我收到工作请求,将如何呈现响应?我想将其插入到现有的mySQL DB中。也就是说这是我的“终结游戏”/目的。从外部系统检索信息,将其与DB中的现有信息进行比较,如果存在新信息,则替换当前系统或添加新信息。

我试过

$wsdl = 'http://URLTOSERVICE/Export.svc?wsdl';
$client =
new SoapClient(
    $wsdl,
    array(
        "tem:licensid"      =>  "[MYLICENSID]",
        "tem:licenskey" =>  "[MYLICENSKEY]",
        "tem:guid"      =>  "[AGUID]"
    )
);

print_r($client->DoThis());

但是回应与在2天内查看空白纸一样有趣......即,什么都不返回。

就像我在主题标题和开头所说的那样。我没有使用SOAP的经验。所以,如果有一些善良的灵魂需要时间来回答,请记住我需要明确而准确的解释:)

感谢任何花时间帮助我理解这一点的人......

1 个答案:

答案 0 :(得分:0)

你能指出WSDL网址吗?我建议你尝试使用WSDL到php转换器,以便更清楚地了解如何调用SOAP Web服务。 要将凭据设置为您指定的请求,必须使用Soapheader类http://php.net/manual/fr/class.soapheader.php,并在调用操作之前调用__setSoapheaders http://www.php.net/manual/fr/soapclient.setsoapHeaders.php。 如果您需要任何帮助或WSDL转换器,请告诉我。