Buongiorno a tutti, devo realizzare una libreria in php che invochi, come da titolo, un web service provider, e faccio in questo modo
codice:
<?php
/*
* Created on 19/ott/2010
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
$wsdl = "http://192.168.2.30:8080/AnalyticsService/AnalyticsProvider?wsdl";
$soapClient = new SoapClient(
$wsdl,
array('trace' => true,
'exceptions' => true));
$params = array (
'properMd5' => 'dd6298e7c9a2c63b6ab43846ddd7ddbe',
'md5Data' => '3dd0a01efb15fb59c383e913c28cd78',
'clearTS' => '1287147275001',
'fname' => 'getFolderListTrack',
'trackCode' => '162efa68503a49baf8de963ec9ff94bd',
'order' => 'Asc');
$result = $soapClient->invoke($params);
echo "<pre>";
echo $result;
echo "</pre>";
?>
in quanto la funzione esposta è la invoke che accetta un SOAPMessage e ritorna un SOAPMessage. Il mio problema è nella manipolazione del messaggio in arrivo sul provider perché consiste in un xml come quello di seguito
codice:
<?xml version="1.0" encoding="UTF-8"?>
<ns1:invoke xmlns:ns1="http://services.org/">
<item><key>properMd5</key><value>dd6298e7c9a2c63b6ab43846ddd7ddbe</value></item>
<item><key>md5Data</key><value>3dd0a01efb15fb59c383e913c28cd78</value></item>
<item><key>clearTS</key><value>1287147275001</value></item>
<item><key>fname</key><value>getFolderListTrack</value></item>
<item><key>trackCode</key><value>162efa68503a49baf8de963ec9ff94bd</value></item>
<item><key>order</key><value>Asc</value></item>
</ns1:invoke>
invece vorrei che ciò che arriva sia nella forma
codice:
<?xml version="1.0" encoding="UTF-8"?>
<ns1:invoke xmlns:ns1="http://services.org/">
<properMd5>dd6298e7c9a2c63b6ab43846ddd7ddbe</properMd5>
<md5Data>3dd0a01efb15fb59c383e913c28cd78</md5Data>
<clearTS>1287147275001</clearTS>
<fname>getFolderListTrack</fname>
<trackCode>162efa68503a49baf8de963ec9ff94bd</trackCode>
<order>Asc</order>
</ns1:invoke>
Mi sapreste gentilmente dire come ovviare al problema? ho provato a vedere nella documentazione di php e in giro per la rete ma non ho trovato nulla di utile. Grazie infinite.