Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Xml Soap parsing (wsdl)

    Mi date una mano col parsing di un xml soap?

    Nel caso specifico vorrei registrare dei dati che mi passa il servizio di xignite. Non ho trovato documentazioni comprensibili, ma solo un piccolo esempio/demo (sotto) ma ho capito come prendere i dati:
    codice:
    // define the SOAP client using the url for the service
    $client = new soapclient('http://www.xignite.com/xMetals.asmx?WSDL', array('trace' => 1));
    
    // create an array of parameters 
    $param = array(
                   'Type' => "XAU",
                   'Currency' => "USD",
                   'StartDate' => "11/6/2010",
                   'EndDate' => "12/5/2010");
    
    
    
    // call the service, passing the parameters and the name of the operation 
    $result = $client->GetHistoricalSpotPriceRange($param);
    // assess the results 
    if (is_soap_fault($result)) {
         echo '<h2>Fault</h2><pre>';
         print_r($result);
         echo '</pre>';
    } else {
         echo '<h2>Result</h2><pre>';
         print_r($result);
         echo '</pre>';
    }
    // print the SOAP request 
    echo '<h2>Request</h2><pre>' . htmlspecialchars($client->__getLastRequest(), ENT_QUOTES) . '</pre>';
    // print the SOAP request Headers 
    echo '<h2>Request Headers</h2><pre>' . htmlspecialchars($client->__getLastRequestHeaders(), ENT_QUOTES) . '</pre>';
    // print the SOAP response 
    echo '<h2>Response</h2><pre>' . htmlspecialchars($client->__getLastResponse(), ENT_QUOTES) . '</pre>';
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  2. #2
    In teoria... per parsare questo file... non ti bastano queste voci?

    $client->__getLastRequest
    $client->__getLastRequestHeaders
    $client->__getLastResponse()

    Ovviamente funzionano solo sul Last... per maggiori controlli forse è previsto qualcosa nella classe che usi.

  3. #3
    Originariamente inviato da goikiu
    In teoria... per parsare questo file... non ti bastano queste voci?

    $client->__getLastRequest
    $client->__getLastRequestHeaders
    $client->__getLastResponse()

    Ovviamente funzionano solo sul Last... per maggiori controlli forse è previsto qualcosa nella classe che usi.
    Quindi per scrivere una tabella in html di, ad esempio, 3 colonne? (che da response sono scritte come sotto)

    <Identity>IP</Identity><Delay>0</Delay><Type>ARE</Type>
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  4. #4
    prova a guardare i controlli che ti mette a disposizione la classe, dovresti avere controlli simili come nome per ottenere i dati, una volta ottenuti i dati (anche solo in array) poi stamparli a video è il meno.

  5. #5
    Intendi questi?
    codice:
    stdClass Object
    (
        [GetLastBasePriceResult] => stdClass Object
            (
                [Outcome] => RegistrationError
                [Message] => XigniteMetals: Maximum number of unregistered requests exceeded...
                [Identity] => IP
                [Delay] => 0
                [Type] => Palladium
                [Currency] => USD
                [Value] => 0
                [Unit] => oz
                [Source] => Johnson Matthey
            )
    
    )
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  6. #6
    Dovrebbe essere Soapclient, potrebbe anche essere nativa di php, tuttavia devi trovare al suo interno

    $client->__getLastRequest
    $client->__getLastRequestHeaders
    $client->__getLastResponse()

    e dovresti averne altri.

  7. #7
    Informazioni sulla versione nativa di php (se non usi classi esterne) sono qui:

    http://php.net/manual/en/class.soapclient.php

  8. #8
    Originariamente inviato da goikiu
    Informazioni sulla versione nativa di php (se non usi classi esterne) sono qui:

    http://php.net/manual/en/class.soapclient.php
    In questa pagina mi dice di fare quello che ho già fatto... (o sbaglio?)

    Cioè... nel primo post, dove incollavo il codice passatomi c'è già un getLastResponse ma mi viene mostrato tutto l'xml in risposta dal server.
    A me serviva prendere i "singoli" valori dei tag xml e poi mostrarli impaginati come voglio io... non so se riesco a spiegare bene la mia esigenza...
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  9. #9

  10. #10
    poco aiuto...
    non riesco a estrarre i singoli valori da quell'xml... non trovo nessun pezzo di codice che mi possa aiutare
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

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.