Visualizzazione dei risultati da 1 a 10 su 14

Discussione: WebService

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202

    WebService

    Ciao a tutti,

    Mi trovo nella seguente situazione e vorrei intraprendere la strada più corretta e mi affido a un vostro consiglio.

    Ho una applicazione web che gestisce interventi.
    Ho la necessità di sviluppare un proceduta tramite la quale un software di terze parti (vb.net o java), possa interagire con la mia applicazione ed inviarmi una serie di informazione da cui poi creo gli interventi e tutte le info accessorie..

    Non so per quale motivo mi sono venuti in mente i web service (anche sapendo veramente poco cosa siano).

    La mia idea è che il file mi spedisca un file xml contentente tutte le informazioni utili e che poi io possa elaborarlo.

    Sono sulla strada giusta oppure mi consigliate un'altra soluzione?

    Leggendo un po qua e un po la noto che non si parla mai di file xml ma di WebService di tipo SOAP.
    Ho capito che dovrebbe essere uno standard W3C e che in sostanza si tratta di un file xml.

    Non riesco a capire cosa devo avere io lato server....
    Cioè devo avere una pagina .php dedicata e un sw esterno richiama quella pagina passando il file xml?

    Qual ora la supposizione sopracitata sia vera come devo costruire la mia pagina affinchè riceva il file xml (SOAP)?

    Grazie a tt quelli che mi daranno anche solo una piccola mano
    Che mestiere difficile.....essere da soli ancora di più

  2. #2
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    Ciao scusami se ti disturbo ancora,

    Guardarmi un po di documentazione in giro mi sembra che l'approccioa xml-rpc sia il più versatile dato la chiamata al metodo.

    Ho però problemi nel creare la struttura xml addeguata.

    Ovvero, le mie necessità sono avere un xml che contenga i parametri di autenticazione.
    Una struttura di informazioni organizzata non troppo semplice
    Cioè
    Array di interventi :
    Per ogni intervento, oltre alle informazioni dell'intervento, devo ricevere anche le informazioni dei vari allegati (che al loro interno contengono n informazioni)...

    Strutture così complesse non ne ho trovate in giro e soprattutto non ho trovato documentazioni che ti aiutino a costruire la struttura xml-rpc in modo adeguata.

    Sai consigliarmi qualche dispensa che descrive la struttura da utilizzare in modo dettagliata?

    Grazie mille
    Che mestiere difficile.....essere da soli ancora di più

  3. #3
    La rappresentazione dell'intervento la devi decidere te, cercando di fare una cosa che si adatti alle esigenze e che sia sufficientemente flessibile da rappresentare ogni tipo di intervento. C'hai poco da cercare dispense a riguardo diciamo che avrai un oggetto intervento con N allegati, ogni allegato ha un set di attributi (che immagino sia un insieme finito) oppure un array di attributi (se il set è dinamico). Cioè così ad occhio non mi pare una struttura molto complessa, ma non conosco esigenze e situazione difficile da dire.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    mmmm, leggendo su doc html.it sembra che ci sono delle parole riservate e una struttura ben determinata....
    ho provato a buttare giù una bozza ma non so assolutamente dire se è corretta o meno.
    Codice PHP:
    <?xml version=&#8221;1.0”?>
    <methodCall>
        <methodName>classe.metodo</methodName>
        <params>
            <param>
                <value>
                    <!--STRUCT PER I DATI DI ACCESSO-->
                    <struct>
                      <member>
                        <Name>User</Name>
                        <value>
                          <string>utente_auticazione</string>
                        </value>
                      </member>
                      <member>
                        <Name>Password</Name>
                        <value>
                          <string>Password</string>
                        </value>
                      </member>
                    </struct>
                </value>
            </param>
            <param>
                <value>
                    <!--ARRAY DI STRUCT INTERVENTI 1....N-->
                    <array>
                        <data>
                            <value>    
                                <!--STRUCT INTERVENTO 1-->
                                <struct>
                                    <member>
                                        <Name>intervento1.dato1</Name>
                                        <value>
                                            <string>valore.dato1</string>
                                        </value>
                                    </member>
                                    <member>
                                        <Name>intervento.datoN</Name>
                                        <value>
                                            <string>valore.datoN</string>
                                        </value>
                                    </member>
                                    <!-- IL TERZO MEMBER CORRISPONDE ALL'ALLEGATO 1 
                                           E LA STRUTTURA NEL VALUE CORRISPONDE AGLI 
                                           ATTRIBUTI DELL'ALLEGATO 1 -->
                                    <member>
                                        <Name>Allegato 1</Name>
                                        <value>
                                            <struct>
                                                <member>
                                                    <Name>allegato.dato1</Name>
                                                    <value>
                                                        <string>valore.dato1</string>
                                                    </value>
                                                </member>
                                                <member>
                                                    <Name>allegato.dato2</Name>
                                                    <value>
                                                        <string>valore.dato2</string>
                                                    </value>
                                                </member>
                                            </struct>
                                        </value>
                                    </member>
                                    <member>
                                        <Name>Allegato 2</Name>
                                        <value>
                                            <struct>
                                                <member>
                                                    <Name>allegato.dato1</Name>
                                                    <value>
                                                        <string>valore.dato1</string>
                                                    </value>
                                                </member>
                                                <member>
                                                    <Name>allegato.dato2</Name>
                                                    <value>
                                                        <string>valore.dato2</string>
                                                    </value>
                                                </member>
                                            </struct>
                                        </value>
                                    </member>                                
                                </struct>
                            </value>
                            <value>
                                <!-- STRUCT INTERVENTO 2 -->
                                <struct>
                                    <member>
                                        <Name>intervento1.dato1</Name>
                                        <value>
                                            <string>valore.dato1</string>
                                        </value>
                                    </member>
                                    <member>
                                        <Name>intervento.dato2</Name>
                                        <value>
                                            <string>valore.dato2</string>
                                        </value>
                                    </member>
                                    <member>
                                        <Name>Allegato 1</Name>
                                        <value>
                                            <struct>
                                                <member>
                                                    <Name>allegato.dato1</Name>
                                                    <value>
                                                        <string>valore.dato1</string>
                                                    </value>
                                                </member>
                                                <member>
                                                    <Name>allegato.dato2</Name>
                                                    <value>
                                                        <string>valore.dato2</string>
                                                    </value>
                                                </member>
                                            </struct>
                                        </value>
                                    </member>
                                    <member>
                                        <Name>Allegato 2</Name>
                                        <value>
                                            <struct>
                                                <member>
                                                    <Name>allegato.dato1</Name>
                                                    <value>
                                                        <string>valore.dato1</string>
                                                    </value>
                                                </member>
                                                <member>
                                                    <Name>allegato.dato2</Name>
                                                    <value>
                                                        <string>valore.dato2</string>
                                                    </value>
                                                </member>
                                            </struct>
                                        </value>
                                    </member>                                
                                </struct>
                            </value>                        
                        </data>
                    </array>
                </value>
            </param>        
        </params>
    </methodCall>
    Ultima modifica di Fractals87; 01-10-2013 a 11:44
    Che mestiere difficile.....essere da soli ancora di più

  5. #5
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    aspetta prima o poi riusciro a mantenere identazione
    Che mestiere difficile.....essere da soli ancora di più

  6. #6
    certo che te lo sei scelto bello verboso il formato, quasi quasi era meglio soap cmq si la struttura ha le sue regole, un pò html.it le spiega, un pò la doc ufficiale le spiega http://xmlrpc.scripting.com/spec un pò ti tocca cercare su internet altri esempi per chiarirti meglio le idee (ad esempio http://www.tutorialspoint.com/xml-rpc/ ). Il concetto è che tu devi rappresentare una chiamata ad un metodo. se hai un metodo del tipo

    Codice PHP:
    function faiSomma($intero1,$intero2
    avrai una chiamata del tipo

    codice:
    <xml..>
    <methodCall>
    <methodName>faiSomma</methodName>
    <params>
       <param><value><int>100</int></value></param>
       <param><value><int>200</int></value></param>
    </params>
    </methodCall>
    certo che se trovi delle librerie già pronte è nettamente meglio. su php.net è segnalata una libreria per gestire xmlrpc ma è etichettata come sperimentale quindi ha i suoi rischi.

    Qui un altro esempio http://www.ibm.com/developerworks/we...brary/ws-xpc2/ di cosa concettualmente stai andando a fare. Simpatica la nota in fondo dove ti dice che SOAP è l'evoluzione di xml-rpc, e quindi potresti pensare di puntare direttamente a soap visto che, per php, c'è qualche libreria per aiutarti a creare il webservice (all'epoca avevo usato questa http://wso2.com/products/web-services-framework/php/ e mi ci ero trovato benino ) e soprattutto potresti usare gli editor wsdl dei piu comuni ide per definire la struttura del servizio in maniera comoda.

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    forse questa classe può esserti utile, almeno è basata su PHP5 http://pear.php.net/manual/en/packag...s.xml-rpc2.php
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8

    WCF c# service e consumer

    Ciao sono alle prese con web service e con i consumer(service c# WCF e il consumer aspx), voglio farli comunicare solo tramite JSON, nel service ho aggiunto questo contract
    [OperationContract]
    [WebInvoke(Method = "POST",
    UriTemplate =
    "/PostCompositeType",
    RequestFormat =
    WebMessageFormat.Json,
    ResponseFormat =
    WebMessageFormat.Json)]
    CompositeType GetDataUsingDataContract(CompositeType composite);

    Ora però voglio essere certo che i messaggi tra consumer e service comunichino solo con messaggi json, come faccio ad esserne sicuro?


  9. #9
    Ciao sono alle prese con web service e con i consumer(service c# WCF e il consumer aspx), voglio farli comunicare solo tramite JSON, nel service ho aggiunto questo contract
    [OperationContract]
    [WebInvoke(Method = "POST",
    UriTemplate =
    "/PostCompositeType",
    RequestFormat =
    WebMessageFormat.Json,
    ResponseFormat =
    WebMessageFormat.Json)]
    CompositeType GetDataUsingDataContract(CompositeType composite);

    Ora però voglio essere certo che i messaggi tra consumer e service comunichino solo con messaggi json, come faccio ad esserne sicuro?


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.