Autor Zpráva
Martin0005
Profil
Zdravím,

chtěl bych vás požádat o pomoc s API.
Tentokrát se jedná o server, poskytující webové služby s architekturou REST. Každé volání vrací XML soubor a přístup k službám je přes HTTPS. Potřeboval bych funkci, která by zahrnovala všechny tři následující funkcionality:
1/ jednoduché volání služby na URL [url]https://[/url]... (bez ?username=myusername - viz níže) vracející XML. Toto mi funguje s pomocí "simplexml_load_file".
2/ volání metody GET s URL "https://...?username=myusername" a zároveň obsahující v http hlavičce další specifické údaje jako například apipassword,..atd. metoda vrátí XML.
3/ volání metody POST s URL "https://...?username=myusername" a zároveň obsahující v http hlavičce další specifické údaje jako například apipassword,..atd. součástí http requestu musí být ještě XML.

Obecně mám problém při volání webové služby s vytvořením http requestu, který by obsahoval zároveň specifické údaje v hlavičce a ?username=myusername ....

Mám k dispozci vzorové volání na tento server pomocí metod GET a POST:
- HTTP GET request:
GET /rest/v1?username=sampleuser HTTP/1.1
Host: xxx.xxxx.com
Accept-Encoding: gzip,deflate
Keep-Alive: 300
Connection: keep-alive
APIPassword: testpassword
APIAgent: testapiagent
APIInstance: testinstance
- HTTP POST request:
POST /rest/v1/account/transferOrder?username=sampleuser HTTP/1.1
Host: xxx.xxxx.com
Accept: */*
Content-type: application/xml; charset=UTF-8
APIPassword: testpassword
APIAgent: testapiagent
APIInstance: testinstance
Content-Length: 214
<?xml version="1.0" encoding="UTF-8"?><postTransferOrder xmlns="urn:xxxxxxx:xxxxx:api:v1" xmlns:xs="http://www.w3.org/2001/XMLSchemainstance"><amount currency="EUR" action="TRANSFER">5</amount></postTransferOrder>

Budu vděčný za jakýkoliv odkaz či skript. Myslím si, že to bude nakonec jednoduchá funkce, ale nemohu na ní přijít. Zkoušel jsem simplexml_load_file, xmlrpc_client, file_get_contents, fsockopen a i modifikaci hlavičky prostřednictvím modulu v prohlížeči (Tamper data). Ovšem nezadařilo se mi.

Předem díky za jakékoliv nápady.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: