簡體   English   中英

使用PHP消費SOAP Web服務

[英]Consuming SOAP webservice using PHP

我在使用PHP調用Web服務時遇到問題。

服務的提供者給出了一個將其與參數一起使用的示例:

<?xml version="1.0" encoding="UTF-8"?>
<Parameters>
    <START_DATUM>2010-07-20</START_DATUM>
    <ENDE_DATUM>2010-07-20</ENDE_DATUM>
    <GRUPPE_ID>231</GRUPPE_ID>
</Parameters>

這是我用來執行調用的代碼(不返回任何內容):

$client = new SoapClient($wsdl);
$params = "<Parameters><START_DATUM>2015-03-31</START_DATUM><ENDE_DATUM>2015-03-31</ENDE_DATUM><GRUPPE_ID>231</GRUPPE_ID></Parameters>"
$result=$client->GetXMLResultOf("SIEMS_Planung", $params);
var_dump($result);

問題是參數的格式。

這是XMLSchema:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="Parameters">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="START_DATUM" type="xs:date"/>
                <xs:element name="ENDE_DATUM" type="xs:date"/>
                <xs:element name="GRUPPE_ID" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

如何設置參數格式以使其正常工作? 我嘗試了許多在Internet上找到的代碼,但是沒有任何效果。

提前致謝。

編輯1:

GetXMLResultOf方法是Web服務中的方法。 簽名為:GetXMLResultOf(Profil-Name,Parameter)

答:

我發現了問題...在我的字符串$ params中不需要<Parameters>。 這很奇怪,因為需要另一個配置文件。

感謝您的答復和您花時間答復我。

我看不到SoapClient類的GetXMLResultOf方法: http ://php.net/manual/fr/class.soapclient.php

但是,這是經典Soap調用的示例:

try {

  $client = new SoapClient($wsdl);
  $params = array('START_DATUM' => '2015-03-31',
                  'ENDE_DATUM' => '2015-03-31',
                  'GRUPPE_ID' => '231');

  $response = $client->__soapCall($method, array($params));
  return $response->return;

}
catch (SoapFault $e) {
  error_log($e->detail);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM