необходимо добавить атрибут к тэгу в XML.
Сейчас формируется кусок xml в таком виде
<sysInfo>
<CreateDateTime>2011-05-24T18:00:35Z</CreateDateTime>
</sysInfo>
а нужно
<sysInfo attrib = "attrib_value">
<CreateDateTime>2011-05-24T18:00:35Z</CreateDateTime>
</sysInfo>
пример, который широко распространен в сети и в описании soapVar, возвращает не то:
$amount['_'] = 25;
$amount['currencyId'] = 'GBP';
$sysInfo = new SoapVar( $amount, SOAP_ENC_OBJECT);
возвращает
<sysInfo>
<_>25</_>
<currencyId>GBP</currencyId>
</sysInfo>
// --------------------------
вызов метода с параметрами
$response = $client->__soapCall('createCheckupDemand',
array(new SoapParam('attrib_value', 'attrib_name'),
new SoapParam('attrib_value', 'attrib_name'),
new SoapVar($struct, SOAP_ENC_OBJECT)),
array('soapaction' => 'http://www.example.com/webservices/GetFilteredRecordList'));
добавляет ЭЛЕМЕНТ с именем и значением параметра в xml, что тоже не подходит.
Может, кто-то сталкивался с похожей проблемой? подскажите пжлст! спасибо.
Спустя 2 часа, 43 минуты, 45 секунд (25.05.2011 - 10:18) Guest написал(а):
Либо можно как-то получить текст xml-запроса перед отправкой веб-сервису? чтобы вручную его поправить и отправить.
Спустя 1 час, 30 минут, 57 секунд (25.05.2011 - 11:49) Guest написал(а):
вопрос решил. код привожу ниже:
try {
$client = new SoapClient('http://www.webservicex.net/geoipservice.asmx?WSDL',
array('trace' => 1)
);
$std = new stdClass();
$std->IPAddress = new SoapVar('<myns:IPAddress xmlns:myns="http://www.webservicex.net/" testAttribute="Test">192.168.0.1</myns:IPAddress>', XSD_ANYXML);
$client->GetGeoIP($std);
$dom = new DOMDocument;
$dom->loadXML($client->__getLastRequest());
$dom->formatOutput = true;
echo $dom->saveXML(), "\n";
$dom->loadXML($client->__getLastResponse());
echo $dom->saveXML(), "\n";
echo "Request headers: \n", $client->__getLastRequestHeaders(), "\n";
echo "Response headers: \n", $client->__getLastResponseHeaders(), "\n";
} catch(Exception $e) {
}
Спустя 1 час, 28 минут, 30 секунд (25.05.2011 - 13:18) linker написал(а):
Задрали, неужели так сложно нажимать соответствующие кнопочки для оформления php и xml-кода?