Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

SOAP

Îåêßíçóå áðü ôï ìÝëïò lexicon. Τελευταία δημοσίευση από το μέλος George J. Capnias στις 11-06-2005, 20:13. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  11-06-2005, 12:04 2668

    SOAP

    Γεια σας,
    Στην παρουσίαση που κάνατε για το VS 2005 αναφέρατε κάτι για το SOAP sthn VB6
    Μήπως υπάρχει κάποιο παράδειγμα;

    Ευχαριστώ
  •  11-06-2005, 20:13 2680 σε απάντηση της 2668

    Re: SOAP

    Λοιπόν χρήση των Web Services μέσα από VB6. Απαραίτητη είναι η εγκατάσταση του SOAP Toolkit 3.0.

    1. Αν θέλουμε να χρησιμοποιήσουμε κάποιο Web Service που προυπάρχει.

    α. Πρώτα πρέπει να γίνει reference στο project το Microsft Soap Type Library 3.0.

    β. Στην συνέχεια θα πρέπει να ξέρουμε το URL που είναι το WSDL του Web Service που θέλουμε να χρσιμοποιήσουμε, έστω "http://localhost/SOAPClassLibrary/ClassLibrary.cCustomer.soap?WSDL".

    <service name="cCustomerClassService">
      <port name="cCustomerClassPort" binding="tns:cCustomerClassBinding">
        <soap:address location="
    http://localhost:80/SOAPClassLibrary/ClassLibrary.cCustomer.soap" />
      </port>
    </service>


    γ. Αυτό που πρέπει να δούμε μέσα στο WSDL αρχείο, είναι το όνομα του Web Service που θέλουμε να χρησιμοποιήσουμε, ψάχνουμε για το tag service, και στο attribute name είναι το όνομα του service, έστω "cCustomerClassService" για το παράδειγμά μας. Στο tag service περιέχεται το tag port και το attribute name είναι το όνομα του port του service, και αυτού το όνομα "cCustomerClassPort". Αν το αρχείο περιέχει μόνο ένα service, το όνομά του και το όνομα του post που του αντιστοιχεί, δεν είναι απαραίτητα.

    Παράλληλα πρέπει να ξέρουμε το όνομα της μεθόδου, για το παράδειγμα μας "RecordsetFind(RecordsetID as Integer)", που θέλουμε να χρησιμοποιήσουμε, και τις παραμέτρους που δέχεται, που είναι το RecordsetID. Σε αντίθεση με το Visual Studio 2003, η Visual Basic 6 δεν παρέχει intellisence με τις κλάσεις από τα Web Services και τις παραμέτρους που δέχονται, πρέπει να τις βρούμε από μόνοι μας.

    δ. Μέσα από την VB6:
        Dim oSoapClient As MSSOAPLib30.SoapClient30
        Dim sWSDL As String
        Dim sServiceName As String
        Dim sPortName As String
        Dim RecordsetID As Integer
        Dim sXMLData As String
       
        sWSDL = "
    http://localhost/SOAPClassLibrary/ClassLibrary.cCustomer.soap?WSDL"
        RecordsetID = 1
        sServiceName = "cCustomerClassService"
        sPortName = "cCustomerClassPort"
       
        Set oSoapClient = New MSSOAPLib30.SoapClient30
        Call oSoapClient.MSSoapInit(sWSDL, sServiceName, sPortName)
        sXMLData = oSoapClient.RecordsetFind(RecordsetID)
        Set oSoapClient = Nothing

    2. Αν θέλουμε να φτιάξουμε ένα Web Service με VB6 components, ο ευκολότερος τρόπος είναι μέσω των Components Services. Δεν είναι ανάγκη να έχουμε φτιάξει ένα component που θα έχει κάνει implement τα interfaces που χρειάζονται σε ένα component για να γίνει host από τα component services, όπως το COMSVCSLib.ObjectControl. Απαραίτητο σε αυτή την περίπτωση είναι το COM+ 1.5, δηλάδή Windows XP με SP2 ή Windows 2003 Server με SP1.

    α. Φτιάχνουμε ένα μια καινούργια εφαρμογή/application που θα είναι άδεια. Επιλέγουμε ένα όνομα, ότι η εφαρμογή/application θα είναι εφαρμογή διακομιστή/server application και στη συνέχεια τον χρήστη με του οποίου το λογαριασμό θα τρέχει η εφαρμογή.

    β. Κάτω από το Στοιχεία/Components επιλέγουμε Δημιουργεία/Στοιχείο. Επιλέγουμε να κάνουμε εγκατάσταση νέων στοιχείων/new components και από το παράθυρο που ανοίγει επιλέγουμε τo .dll αρχείο που μας ενδιαφέρει να κάνουμε Web Service. Στην συνέχεια φαίνονται τα στοιχεία που έχουν βρεθεί.

    γ. Στη συνέχεια στις ιδιότητες της εφαρμογής/application επιλέγουμε το tab Ενεργοποίηση/Activation. Επιλέγουμε το checkbox "Χρησιμοποιεί SOAP - Uses SOAP" και στην συνέχεια δίνουμε το όνομα που θέλουμε να έχει το directory που θα δημιουργεί κάτω από τον IIS για να φιλοξενηθεί το Web Service. Με το OK μέσα στον IIS θα δημιουργηθεί ένα virtual directory που θα περιέχει τα απαραίτητα αρχεία για την λειτουργία του Web Service. Χρησιμοποιήται ο IIS ,που θα πρέπει ήδη να έχει εγκατασταθεί στο μηχάνημα.

    Περισσότερες πληροφορίες και επεξηγηματικοί οδηγοί μπορούν να βρεθούν στο Help που έρχεται με το SOAP Toolkit 3.0. Ποιο ενδιαφέρον από όλα είναι η χρήση του SQLXML - χρήση του SQL Server σαν Web Service με το exposure των tables, store procedures μέσω της χρήσης updategrams - με το SOAP Toolkit.

    Σχετικοί Σύνδεσμοι

    SOAP Toolkit 3.0
    http://www.microsoft.com/downloads/details.aspx?FamilyId=C943C0DD-CEEC-4088-9753-86F052EC8450&displaylang=en

    SOAP Toolkit 3.0 Redistributable
    http://www.microsoft.com/downloads/details.aspx?FamilyID=ba611554-5943-444c-b53c-c0a450b7013c&DisplayLang=en

    Microsoft SOAP Toolkit Type Mappers
    http://msdn.microsoft.com/webservices/building/soaptk/default.aspx?pull=/library/en-us/dnservice/html/service06042002.asp


    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems