Avatar billede nomis Praktikant
04. januar 2010 - 13:34 Der er 2 kommentarer

SOAP-fejl i encoding af external reference i PHP

Jeg forsøger at benytte en SOAP-funktion, som henter detaljer om en specifik nyhed, men får en fejl retur. Jeg benytter den indbyggede SOAP i PHP5.

Den fejlmeddelelse jeg får er:
Fatal error: Uncaught SoapFault exception: [Client] SOAP-ERROR: Encoding: External reference 'https://newsclient.omxgroup.com/cdsPublic/viewDisclosure.action?disclosureId=379485&messageId=454590' in /home/********/public_html/********/updatenews3.php:15


Min kode er:
<?php
    $login = '***';
    $password = '***';   
    $client = new SoapClient(
    'https://newsclient.omxgroup.com/wsdl/DisclosureNewsService.wsdl',
    array(
        'login' => $login,
        'password' => $password
    ));
    $param = array('lastPublicationId' => 361825);
    $result = $client->fetchNews($param);
?>



Fejlen er det samme for alle lastPublicationId, hvor der er et resultat. Det er som om PHP prøver at hente et link, som er angivet i XML-svaret (den URL, som er i fejlmeddelesen), og ikke kan tilgå det. Selvom jeg har googlet fejlen, kan jeg ikke finde nogen form for løsning. Det eneste jeg finder, er at dette tilsyneladende har været en bug i PHP, som skulle være rettet fra PHP 5.2.2. Men jeg bruger jo PHP 5.2.9, så det kan næsten ikke være det.

WSDL-filen kan findes her: https://newsclient.omxgroup.com/wsdl/DisclosureNewsService.wsdl

Er der nogen, der kender til denne fejl, og ved hvordan den kan løses?
Avatar billede Slettet bruger
04. januar 2010 - 14:22 #1
Jeg er lidt på gyngende grund, men..
Kunne det tænkes at det er en "simpel" PHP-fejl i updatenews3.php
som fejlagtigt returneres som "finere" end den er...

Det kunne dog også være &-tegnet i URL'en...
Avatar billede nomis Praktikant
04. januar 2010 - 14:31 #2
Det er i hvert fald ikke en PHP fejl i vores updatenews3.php - scriptet er helt simpelt, og hvis jeg udkommenterer linjen hvor fetchNews bliver kaldt, bliver scriptet afviklet uden problemer.

Jeg mistænker også &-tegnet i URL'en, men den URL er der vel ikke noget vi kan gøre ved? Jeg har også prøvet at tilføje følgende parametre (samt at ændre encoding til 'utf-16' og 'iso-8859-1') uden held:

        'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP,
        'encoding'=>'utf-8',
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

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