Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    WSDL/SOAP - PHP: Invalid character

    ciao tutti,
    se viene questo errore ... la colpa è mia, vuol dire, mando la variabile sbagliato al server ... o la colpa è sul server?

    Fatal error: Uncaught SoapFault exception: [Client] error in msg parsing: XML error parsing SOAP payload on line 2: Invalid character in /web/htdocs/www.aaaaaa.it/home/motchpotch.php:34 Stack trace: #0 /web/htdocs/www.aaaaaa.it/home/motchpotch.php(34): SoapClient->__call('getCatalogo', Array) #1 /web/htdocs/www.aaaaaa.it/home/motchpotch.php(34): SoapClient->getCatalogo('008111', '??A??h??;??????...') #2 {main} thrown in /web/htdocs/www.ferramentarudi.it/home/motchpotch.php on line 34

    La variabile si visualizza prima del "getCatalogo" così: âAéhÌ;«ªóD4ÝÇ? ... è un valore "trasformato" con md5. Nell'errore viene visualizzato il valore con tanti '?'.

    codice:
    // richiesta catalogo in formato XML
    $wsdl_getCatalogo = 'http://www.xxxxxx.com/ita/codice/catalogo_service.php?wsdl';
    $kiavePrivata = 'ababab'; // private_key è la chiave privata fornita allo sviluppatore
    $sign = md5($kiavePrivata,$num_token); 
    $sign = utf8_encode($sign);
    echo $sign."<br>";
    $soapclient = new SoapClient($wsdl_getCatalogo);
    $result = $soapclient->getCatalogo($id_user,$sign);
    Se non faccio "$sign = utf8_encode($sign);" viene visualizzato un errore di UTF-8

    Grazie per i vostri consigli!
    ciao
    topolina
    :-)

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    il problema è in questa riga

    codice:
    $sign = md5($kiavePrivata,$num_token);
    $num_token è probabilmente true e stando alla documentazione ufficiale di md5 ti restituisce l'hash in un formato binario.

    http://it1.php.net/manual/en/function.md5.php

    forse volevi concatenare $kiavePrivata con $num_token?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Grazie,
    era questa riga. Invece della virgola doveva essere un punto:
    $sign = md5($kiavePrivata.$num_token);

    Grazie ancora
    ciao Topolina
    :-)

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    lieto di averti aiutata
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.