Avatar billede tobywan1978 Nybegynder
03. juni 2014 - 11:38 Der er 1 kommentar

XML fra webservice via PHP

Hej alle,

Jeg har gang i et lille nicheprojekt, som går ud på at hente noget data ud af en webservice via PHP.
Hånden på hjertet så er det nogle år siden jeg har lavet denne slags, så oplægget er noget rigtig grim kode, som jeg må arbejde på at få forfinet efterfølgende - i første omgang skal det bare virke.

Jeg har tidligere arbejdet en del med at hente data ud fra MySQL og tilsvarende, men webservice og XML er en helt ny verden.

webservicen kører via http basic authentication, hvor jeg skal sende hene min query string med i url. Resultatet returneres i XML.

Mit query virker, når jeg indtaster url direkte i browser, bliver promtet for credentials, hvor den returnerer min xml.

Min kode ser således ud indtil videre (og bær over med mig, jeg ved det er grimt).


/* Config: Authentication */
$user = 'user';
$password = 'pwd';

/* Config: Webservice & query */
$webService = 'http://server/folder/search.ws';
$query = "SELECT entity from entity where template.code = 'request_for_change' and \$status\$ = '2 - Approved'";
$queryTest = "http://server/folder/search.ws?query=SELECT entity from entity where template.code = 'request_for_change' and $status$ = '2 - Approved'";
$queryFormatted = urlencode($queryTest);


/* Generating http string based on config*/
$httpString = $user.":".$password."@".$webService."?query=".$query;
$httpString2 = $webService."?query=".$query;


min $httpString2 direkte overført til browser virker og returnerer et resultet, så det jeg mangler er en strategi og lidt hjælp til at komme videre herfra.

Hvordan får jeg lavet den rigtige post til min webservice i det rigtige format.
Hvordan får jeg hentet xml resultatet hjem i en variabel og viderebehandlet herfra.

På forhånd tak :)
Avatar billede HBP2 Praktikant
03. juni 2014 - 21:22 #1
Prøv at kigge på PHPs curl bibliotek, som kan håndtere meget af den slags. Men det afhænger lidt af hvordan serveren beder som password.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester