Autor | Zpráva | ||
---|---|---|---|
quatzael Profil |
#1 · Zasláno: 14. 4. 2015, 14:49:54
Zkouším curl, ale hází mi to chybu při výpisu proměnné pomocí var_dump.
$tuCurl = curl_init(); curl_setopt($tuCurl, CURLOPT_URL, "https://urladdress.cz/soap/services"); curl_setopt($tuCurl, CURLOPT_VERBOSE, 0); curl_setopt($tuCurl, CURLOPT_HEADER, 0); curl_setopt($tuCurl, CURLOPT_SSLVERSION, 3); curl_setopt($tuCurl, CURLOPT_POST, 1); curl_setopt($tuCurl, CURLOPT_SSL_VERIFYPEER, 1); curl_setopt($tuCurl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($tuCurl, CURLOPT_POSTFIELDS, $data); curl_setopt($tuCurl, CURLOPT_HTTPHEADER, array("Content-Type: text/xml", "Content-length: ".strlen($data))); $tuData = curl_exec($tuCurl); if(!curl_errno($tuCurl)){ $info = curl_getinfo($tuCurl); echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url']; } else { echo 'Curl error: ' . curl_error($tuCurl); } curl_close($tuCurl); var_dump($tuData); To je prakticky opsanej kód podle komentářů v dokumentaci php.net. Ale vyhodí mi to tohle: REST: resource(7) of type (curl) Responce from DB: 1 int(1) Took 0.319048 seconds to send a request to https://urladdress.cz/soap/services string(1208) " Server Error 500 - Internal server error. There is a problem with the resource you are looking for, and it cannot be displayed. " Ta část Server Error je vypsaná v barevných rámečcích Nevíte prosím někdo čím to může být? Zdá se totiž, že request samotný proběhl ok, ale server si neví rady s tím výpisem.. |
||
snazimse Profil |
#2 · Zasláno: 14. 4. 2015, 17:38:09
quatzael:
To vypadá, jako by ten server vracel 500 , tam něco zřejmě nebude v pořádku na straně toho serveru. Ten skript nevypadá chybně. |
||
quatzael Profil |
#3 · Zasláno: 14. 4. 2015, 17:49:05
snazimse:
Máš pravdu.. Mě to celou dobu nedošlo, že to je chyba na jejich serveru. Myslel jsem, že to je na tom mým.. Tak tam prostě nějak posílám požadavek, který jim tam způsobí tu chybu.. Co se vkládá do tý proměnný $data ?? Opravdu jen string?
|
||
xROAL Profil |
#4 · Zasláno: 14. 4. 2015, 18:50:44
quatzael:
„Co se vkládá do tý proměnný $data?? Opravdu jen string?“ String v tvare key1=value1&key2=value2... (ako query string, bez prvého otáznika) ak sa nepletiem.
|
||
Keeehi Profil |
#5 · Zasláno: 14. 4. 2015, 19:26:02
quatzael:
Taky to může být třeba asociativní pole. Curl je u této hodnoty celkem benevolentní. Co se tam může a má dávet je popsané v dokumentaci. |
||
quatzael Profil |
#6 · Zasláno: 14. 4. 2015, 21:52:15
xROAL, Keeehi:
No ta proměnná $data obsahuje čistý SOAP request. Tedy něco takového: $data = "<soap:Envelope> ... soap obsah ... </soap:Envelope>"; Takhle to každopádně potřebuju poslat. Navíc takhle je to i v tom komentáři v dokumentaci na php.net. |
||
quatzael Profil |
#7 · Zasláno: 15. 4. 2015, 11:48:06 · Upravil/a: quatzael
xROAL, Keeehi:
Zkusil jsem tu proměnnou dát do simplexml: $data = simplexml_load_string($data); Ale teď to zase hází chybu: Bad Request - Invalid Header -------------------------------------------------------------------------------- HTTP Error 400. The request has an invalid header name. Přitom tam mám: Content-Type: text/xml . Je to špatně?Tak nejspíš tam to: "Content-length: ".strlen($data) Protože $data už není string.. Dá se nějak uvést "délka" pokud se jedná o objekt, nebo co to je..
|
||
Časová prodleva: 10 let
|
0