Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente di HTML.it L'avatar di Fra
    Registrato dal
    Oct 1999
    Messaggi
    221

    Da SOAP a implementazione JAVA

    Ciao!
    Mi sapete tradurre questo msg SOAP in istruzioni Java (utilizzando APACHE-SOAP o anche JAXM)?
    In particolare mi servirebbe la parte relativa ai PARAMETRI (il resto nn tanto).

    Ecco il msg :


    <SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <SOAP-ENV:Body>
    <Discover xmlns="urn:schemas-microsoft-com:xml-analysis"
    SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <RequestType>MDSCHEMA_CUBES</RequestType>
    <Restrictions>
    <RestrictionList>
    <CATALOG_NAME>
    FoodMart 2000
    </CATALOG_NAME>
    </RestrictionList>
    </Restrictions>

    <Properties>
    <PropertyList>
    <DataSourceInfo>
    Provider=MSOLAP;Data Source=local;
    </DataSourceInfo>
    <Catalog>
    Foodmart 2000
    </Catalog>
    <Format>
    Tabular
    </Format>
    </PropertyList>
    </Properties>
    </Discover>


    Per ora sto utilizzando le librerie APACHE-SOAP, però nn riesco a capire come fare per definire gerarchie di parametri.

    Mi aiutate? (x Angelo1974 va bene anche JAXM)

    SO : Windows XP - Linux Gentoo
    Java - Visual Basic - C++

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Fra, sempre perchè ora sto al lavoro e non il materiale cercherò di postarti un esempio tra stasera e domani..sorry
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  3. #3
    Utente di HTML.it L'avatar di Fra
    Registrato dal
    Oct 1999
    Messaggi
    221
    ok, grazie angelo.
    Cmq per semplificare, ciò che non riesco a fare è definire è ad esempio questa parte:


    <Restrictions>
    <RestrictionList>
    <CATALOG_NAME>
    FoodMart 2000
    </CATALOG_NAME>
    </RestrictionList>
    </Restrictions>


    Come si fa?
    SO : Windows XP - Linux Gentoo
    Java - Visual Basic - C++

  4. #4
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Fra scusami se oggi non t'ho risposto ma non ho avuto 5 minuti di tempo per poter sviluppare l'esempo che mi hai chiesto ( a volte si lavora di più nei giorni di "festa" ). Comunque entro domani cercherò di darti un esempio...ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  5. #5
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao Fra, ho buttato giù qualche riga di codice riguardante le difficoltà che hai incontrato, spero di aver interpretato bene il problema.... ti posto il codice scritto ( utilizzando JAXM ) e il messaggio SOAP generato:

    CODICE:

    package htmlForum;

    import java.io.IOException;
    import java.io.FileOutputStream;
    // JAXM
    import javax.xml.soap.SOAPConnectionFactory;
    import javax.xml.soap.SOAPConnection;
    import javax.xml.soap.MessageFactory;

    import javax.xml.soap.SOAPMessage;
    import javax.xml.soap.SOAPElement;
    import javax.xml.soap.SOAPPart;
    import javax.xml.soap.SOAPEnvelope;
    import javax.xml.soap.SOAPHeader;
    import javax.xml.soap.SOAPHeaderElement;
    import javax.xml.soap.SOAPBodyElement;
    import javax.xml.soap.SOAPBody;
    import javax.xml.soap.Name;

    import javax.xml.soap.AttachmentPart;
    import javax.activation.DataHandler;
    import javax.activation.FileDataSource;

    import javax.xml.soap.SOAPException;
    import javax.xml.messaging.URLEndpoint;


    public class Esempio {
    public static void main(String args[]) {
    try {
    System.out.println("Inizio creazione messaggio......");
    MessageFactory messageFactory = MessageFactory.newInstance();
    SOAPMessage requestSoapMsg = messageFactory.createMessage();


    // Creo i componenti SOAP
    SOAPPart requestSoapPart = requestSoapMsg.getSOAPPart();
    SOAPEnvelope requestSoapEnv = requestSoapPart.getEnvelope();
    SOAPBody requestSoapBody = requestSoapEnv.getBody();

    SOAPBodyElement elemento = requestSoapBody.addBodyElement(requestSoapEnv.crea teName(null,"Discover","urn:schemas-microsoft-com:xml-analysis"));

    elemento.setEncodingStyle("http://schemas.xmlsoap.org/soap/encoding/");
    elemento.addChildElement(requestSoapEnv.createName ("RequestType")).addTextNode("MDSCHEMA_CUBES");


    SOAPElement restrictions = elemento.addChildElement(requestSoapEnv.createName ("Restrictions"));
    SOAPElement restrictionList = restrictions.addChildElement(requestSoapEnv.create Name("RestrictionList"));
    SOAPElement cataloghi = restrictionList.addChildElement(requestSoapEnv.cre ateName("CATALOG_NAME")).addTextNode("FoodMart 2000");

    SOAPElement properties = elemento.addChildElement(requestSoapEnv.createName ("Properties"));
    SOAPElement propertyList = properties.addChildElement( requestSoapEnv.createName("PropertyList") );
    SOAPElement dataSourceInfo = propertyList.addChildElement( requestSoapEnv.createName("DataSourceInfo") ).addTextNode("Provider=MSOLAP;Data Source=local;");
    SOAPElement catalog = propertyList.addChildElement( requestSoapEnv.createName("Catalog") ).addTextNode("Foodmart 2000");
    SOAPElement format = propertyList.addChildElement( requestSoapEnv.createName("Format") ).addTextNode("Tabular");


    // Salvo tutti i cambiamenti prima di stampare a video
    requestSoapMsg.saveChanges();
    try {
    //Se commenti questa linea e decommenti la successiva l'uscita sarà stampata su un file e non a video
    requestSoapMsg.writeTo(System.out);
    //requestSoapMsg.writeTo(new FileOutputStream("e:/generati/SOAPMessage.txt"));
    } catch (IOException e) {
    e.printStackTrace();
    }
    } catch (SOAPException e) {
    e.printStackTrace();
    }
    System.out.println("\n Messaggio creato");
    } // main()
    }


    MESSAGGIO SOAP:

    Inizio creazione messaggio......
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <Discover: soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlnsiscover="urn:schemas-microsoft-com:xml-analysis" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    <RequestType xmlns="">MDSCHEMA_CUBES</RequestType>
    <Restrictions xmlns="">
    <RestrictionList xmlns="">
    <CATALOG_NAME xmlns="">FoodMart 2000</CATALOG_NAME>
    </RestrictionList>
    </Restrictions>
    <Properties xmlns="">
    <PropertyList xmlns="">
    <DataSourceInfo xmlns="">Provider=MSOLAP;Data Source=local;</DataSourceInfo>
    <Catalog xmlns="">Foodmart 2000</Catalog>
    <Format xmlns="">Tabular</Format>
    </PropertyList>
    </Properties>
    </Discover:>
    </soapenv:Body>
    </soapenv:Envelope>
    Messaggio creato



    Spero ti sia utile e che sia ciò che ti serve....in ogni caso ci sentiremo sul forum..ciaoooo
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  6. #6
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ops....piccolo errore di formattazione.... nel messaggio dove c'è la faccia che ride..... ci dovrebbe essere : Discover e non iscover...
    ciaoooo
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  7. #7
    Utente di HTML.it L'avatar di Fra
    Registrato dal
    Oct 1999
    Messaggi
    221
    Wow! Grazie Angelo.

    Ormai mi sono convertito definitivamente a JAX (ho lasciato perdere APACHE -SOAP) xchè mi sto avvicinando ai Web Services (credo che JAX-RPC sia l'ideale).

    Grazie ancora ...
    SO : Windows XP - Linux Gentoo
    Java - Visual Basic - C++

  8. #8
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Allora andava bene? Meno male, pensavo di aver capito male il problema...cioa e buona giornata
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  9. #9
    Utente di HTML.it L'avatar di Fra
    Registrato dal
    Oct 1999
    Messaggi
    221

    1 PARERE

    Angelo, mi potresti chiarire un pò le idee ? :master:
    Io vorrei realizzare un Client che dialoga con un Provider già fatto.
    Il provider è Microsoft XMLA 1.1 ... vabbè questo non è molto importante, ciò che credo sia fondamentale è che esso dialoga tramite specifici messaggi SOAP (come quello postato sopra).
    Negli esempi visti con SAAJ e JAX-RPC il Provider è sempre implementato in Java e gira su Tomcat.

    Quindi la mia domanda è :

    1)è possibile creare un client Java che dialoga con un provider non java e che non gira su Tomcat ma su IIS? Io credo di si (altrimenti SOAP che vantaggi da?)

    2) Cosa ritieni debba usare SAAJ (JAXM) o JAX-RPC?
    Dalle specifiche del protocollo del Provider Microsoft il dialogo dovrebbe iniziare sull'elaborazione di un documento WSDL ... ma andando sul sito della Microsoft è possibile scaricare il doc WSDL solo per VB.NET o per il toolkit (microsoft) di SOAP. Tutto ciò non è strano? ... WSDL dovrebbe essere uno standard svincolato dalla piattaforma.

    Scusa se ti faccio un sacco di domande ma ho molti dubbi.
    SO : Windows XP - Linux Gentoo
    Java - Visual Basic - C++

  10. #10
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Cia Fra...
    secondo me è possibile utilizzare un client Java sebbene il provider non sia Java [ non so come si potrebbe fare ( è solo 1 settimana che sto studiando Java Web Service ) ma secondo me bisogna creare 1 connessione con quel provider ]; nella seconda domanda secondo dovresti fare 1 sorta di interrogazione del registro UDDI per capire che servizio c'è in ballo e come utilizzarlo...cmq cercherò di essere + chiaro in serata o al + domani sera perchè ora sono al lavoro e mi stanno un po' caricando
    Ciaooooo
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

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.