CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: carotix con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 31 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 2 su 2
Discussione:

CONNESSIONE A WEB SERVICE (caso particolare)

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    May 2011
    Messaggi
    2

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    CONNESSIONE A WEB SERVICE (caso particolare)

    Questo codice FUNZIONANTE si connette al Web Service, richiama il metodo desiderato passandogli una temperatura in celcius, visualizza ciò che gli è stato restituito dal Web Service, ovvero la temperatura in Fharenhait.



    Il problema è che non è questo il Web Service su cui devo lavorare, ed adoperando tale codice sul mio, esso non riconosce la richiesta che gli invio e mi risponde con campi nulli.

    In particolare la richiesta XML che gli invio (recuperata tramite uno sniffer http) è:


    Mentre quella che si aspetta (recuperata tramite una combinazione di sniffer e SOAPUI) è:


    Come si può notare la differenza sostanziale sta nel tag REQUEST, che nella richiesta funzionante è presente, mentre in quella non funzionante no. Andando nella descrizione del metodo nel web service:



    Si può notare che effettivamente è presente il campo Request.

    ORA, COME POSSO INSERIRE QUESTO CAMPO?
    E' DAVVERO SOLO QUESTO IL PROBLEMA? (non possono centrare problemi di compatibilità fra RCP, LITERAL, DOCUMENT, ENCODED???)

    Ho tentato ad aggiungere Request tramite questo codice



    Ma mi restituisce un nuovo errore (che bello), lunghissimo da scrivere, la cui parte più importante penso sia:
    " Server was unable to read Request [...] There is an error in XML document (1,315) [...] The specified type was note recognized: name='Request', namespace='http:// ecc'"


    Termino allegando la sniffata di quest'ultima prova che ho fatto:
    Codice (XML): [Seleziona]
    <v:Envelope
    xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:d="http://www.w3.org/2001/XMLSchema"
    xmlns:c="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:v="http://schemas.xmlsoap.org/soap/envelope/">
    <v:Header />
    <v:Body>
    <GetTicket xmlns="http://www.mustcoursemaker.net/WebServices/" id="o0" c:root="1">
    <Request i:type="n0:GetTicket" xmlns:n0="http://www.mustcoursemaker.net/WebServices/">
    <UserID i:type="d:string">x</UserID>
    <Password i:type="d:string">x</Password>
    <LangID i:type="d:string">x</LangID>
    <SourceSystemCode i:type="d:string">x</SourceSystemCode>
    </Request>
    </GetTicket>
    </v:Body>
    </v:Envelope>

    PER FAVORE AIUTATEMI SONO STATO PIù ESAUSTIVO POSSIBILE. E' UNA SETTIMANA CHE CI PROVO. IN RETE NON SI TROVA DOCUMENTAZIONE DEGNA DI QUESTO NOME PER STA DIAMINE DI KSOAP2!!!


    GRAZIE
    Ultima modifica di OmarLuigi; 13-05-11 alle 15:04

  2.  
  3. #2
    Baby Droid


    Registrato dal
    May 2011
    Messaggi
    2

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ho risolto.
    In pratica al codice corretto che avevo postato... Mancava un istruzione xD Un istruzione che, però, era fondamentale in quanto la struttura XML prevede campi incapsulati fra loro (in particolare, come detto nel post, è presente il campo <Request> all'interno di <GetTicket>)
    L'istruzione a cui mi riferisco è "soapEnvelope.implicitType=true"...
    Essa praticamente dichiara il fatto che all'interno della busta SOAP che si invierà sono appunto presenti tali campi incapsulati...
    Ed in questo modo nel documento XML sarà presnete il campo <Request> privo di attributi! (e non come prima in cui c'era <Request namespace='' ecc>

    Insomma si fa così!!! Ho provato la stessa metodologia con un latro WS che restituisce una risposta ben più complicata... E funziona!!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy