PHP fóra: Builder | JakPsatWeb | Webtrh
Nejste přihlášen(a)
Dobrý den,
nedaří se mi zavolat metodu, jelikož její parametry vyžadují strukturu:
<soap_Body>
<Nazev_metody xmlns="nejaka adresa">
<Parametrs>
<Web>
<Name>aa</Name>
<Value>bb</Value>
</Web>
<Web>
<Name>cc</Name>
<Value>dd</Value>
</Web>
</Parametr>
</Nazev_metody>
<soap_Body>
Zkoušel jsem to takto, ale bez úspěchu:
class Web
{
function Web($n,$h)
{
$this->Name= $n;
$this->Value = $h;
}
}
$pole[0] = new Web("aa","bb");
$pole[1] = new Web("cc","dd");
$result = $soap->__call('Nazev_metdy',$pole);
Při spuštění skritpu to na mě zakrčí toto:
Fatal error: Uncaught SoapFault exception: [soap:Server] Server was unable to process request. ---> Object reference not set to an instance of an object. in E:\Intranet\htdocs\prukazy\soap.php:89 Stack trace: #0 E:\Intranet\htdocs\prukazy\soap.php(89): SoapClient->__call('Nazev_metoda', Array) #1 {main} thrown in E:\Intranet\htdocs\prukazy\soap.php on line 89
Nevíte jak mám správně poslat parametry?
Offline
to samé: http://forum.php7.org/…alizace-pole
řešení bohužel není. chybové hlášce předejdeš zabalením do SoapVar objektů, ale stejně se to nebude serializovat správně
Z Javy do PHP nikdy nic dobrého nepřišlo. / http://twitter.com/paranoiq
Offline
To jsem četl a ve skrytu duše jsem doufal, že můj problém je lehce jiného ražení. Takže se mohu s řešením rozloučit :-( Co je myšleno že se to nebude serializovat. Jako že se to neprovede? Je to pro mne neznámé slovo. Jde mi o to tam poslat jen ty parametry. Nechci aby mi to vrátilo nějaké hodnoty.
Offline
je to opravdu ten samý případ. to co je v tvém případě označeno jako element <Web> je u mě <ccc>. bohužel je, ze mě nepochopitelného důvodu, obrovský problém uvést několik stejně pojmenovaných elementů za sebou
provede se to, ale výsledek asi nebude takový jaký potřebuješ. dotaz se pravděpodobně odešle ve špatném formátu
krom PHP/SOAP jsem vyzkoušel i Zend/Soap. ten je na PHP/SOAP založen, takže výsledek je stejný. Pear/SOAP je neudržovaný. nuSOAP je pro PHP4 a neumí SOAP 1.2. takže ty jsem zavrhl rovnou
SOAP dotaz vyrábím ručně a odesílám pomocí CURL. je to zatím v mizerném stavu, takže zveřejnit to nemůžu :[
serializace = převod nějaké struktury na textový řetězec (tady na XML)
Editoval paranoiq (28. 1. 2010 8:36)
Z Javy do PHP nikdy nic dobrého nepřišlo. / http://twitter.com/paranoiq
Offline
Děkuji za vyčerpávající odpověď. O CURL jsem něco slyšel (pouštět se do něj ale nebudu). No vypadá to, že v současné době asi řešení nikde není. Děkuji za reakci.
Offline