Qual è la differenza tra <associazione> e <portType> in WSDL?

Sia <binding> e <portType> sembrano definire un’operazione e il suo messaggio. Io non capisco, perché sono entrambi necessari?

  • Questa è una buona domanda, non credo a nessuna delle risposte qui sotto sembrano indirizzo. Distinguendo il loro senso solo se ci sono le relazioni molti a molti, che sembra essere impossibile quando il <associazione> tag può solo fare riferimento a un tipo di porta. Probabilmente c’è un motivo storico, piuttosto che una pratica.
InformationsquelleAutor clamp | 2010-12-22

 

5 Replies
  1. 28

    portType (Analoghi a interfaccia Java)

    • Tipo di porta è un’astrazione parte del WSDL.
    • Un insieme astratto di operazioni supportate da uno o più endpoint.

    associazione

    • Associazione è un concreto della WSDL.
    • Viene descritto come l’operazione viene richiamata specificando protocollo concreto e dati specifiche di formato per le operazioni e i messaggi.
    • le associazioni sono di tre tipi

      1. SOAP Binding:

        SAPONE associazione consente documento o rpc stile con encoding o literal. Codifica indica un valore di dati devono essere codificati in formato XML (Tali regole specificano come “qualcosa” è codificato/serializzato in XML e poi decodificati/de-serializzato da XML a un “qualcosa”). Letterale significa che i dati serializzati in base a uno schema (questo è solo un semplice XML di dati). Con il tipo di trasporto http, jms, smtp…

      2. HTTP GET & POST rilegatura:

        WSDL include un’associazione di HTTP 1.1 GET e POST verbi per descrivere l’interazione tra un Browser Web e un sito web.

      3. MIME rilegatura:
        WSDL include un modo per associare i tipi astratti di messaggi concreti in qualche formato MIME.


    Qual è la differenza tra <associazione> e <portType> in WSDL?

    In WSDL 2.0 :

    • Tipi di porta rinominato interfacce
    • Porte rinominato endpoint
    • Messaggio rimosso costrutti

    Fonte


    Link utili

  2. 25

    Interfacce wsdl:portType)

    WSDL portType elemento definisce un gruppo di operazioni (a volte conosciuto come interfaccia).

    L’operazione di elementi contengono una combinazione di input e di output elementi. Non ci può essere un elemento di errore quando si dispone di un elemento di uscita. L’ordine di questi elementi definisce il modello di scambio di messaggio (MEP) di sola andata per la Richiesta – Risposta, ecc)

    Qual è la differenza tra <associazione> e <portType> in WSDL?

    wsdl:binding

    WSDL elemento vincolante descrive i dettagli concreti di utilizzo di un particolare tipo di porta con un determinato protocollo.

    Qual è la differenza tra <associazione> e <portType> in WSDL?

  3. 11

    PortType definisce il interfaccia astratta di un servizio web.

    Concettualmente è come una interfaccia Java, poiché definisce un tipo astratto e dei relativi metodi.

    In WSDL il tipo di porta è implementato dall’associazione di servizio e gli elementi che indicano i protocolli, i sistemi di codifica, ecc per essere utilizzato da un implementazione di servizi web

    I. e. l’associazione specifica concreta attuazione dettagli e essenzialmente associa un tipo di porta per un insieme di protocolli (HTTP e SOAP) messaggio di stili (Documento/RPC) e codifiche (in senso letterale)

    È la distinzione chiaro ora?

    • Dovrebbe linea 1 leggere ‘Il Tipo di Porta definisce l’interfaccia astratta di un web service’?
  4. 5

    portType

    Un singolo servizio Web in grado di supportare una numero di diversi protocolli. La struttura dei dati dipende dal protocollo che si utilizza per richiamare il servizio Web. A causa di questo, avete bisogno di un modo per mappare dalle operazioni per il endpoint da cui si può accedere. Il portType elemento si prende cura di questa mappatura.

    È possibile inserire un portType definizione, per ciascuno dei protocolli disponibili a questo servizio Web. Per esempio, si può avere individuali portType definizioni per l’utilizzo di SOAP, HTTP POST, e HTTP-GET. Il nome dell’operazione è il metodo a disposizione dal servizio Web.

    associazione

    Si può definire come l’utente finale si lega a una porta il cui funzionamento è ottenibile. Per effettuare questa operazione utilizzando l’elemento.

  5. 1

    wsdl:portType va con wsdl:operation
    cioè ci sono nei regni di messaggi xml e come tale

    ma wsdl:binding va con soap:binding e soap:operation
    cioè siamo nel regno di codifica, gli indirizzi, le intestazioni e rpc

    ad esempio da : http://www.w3.org/TR/wsdl#_soap-b

     <binding name="StockQuoteSoap" type="tns:StockQuotePortType">
            <soap:binding style="document" transport="http://example.com/smtp"/>
            <operation name="SubscribeToQuotes">
               <input message="tns:SubscribeToQuotes">
                   <soap:body parts="body" use="literal"/>
                   <soap:header message="tns:SubscribeToQuotes" part="subscribeheader" use="literal"/>

    …..

    <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="GetTradePrice">
           <soap:operation soapAction="http://example.com/GetTradePrice"/>
           <input>
               <soap:body use="encoded" namespace="http://example.com/stockquote"
                          encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

    e dal paragrafo 3.2 tutti i possibili dettagli sul livello inferiore di comunicazione roba:

    SOAP Binding si estende WSDL con i seguenti elementi di estensione:

    <definitions .... >
        <binding .... >
            <soap:binding style="rpc|document" transport="uri">
            <operation .... >
               <soap:operation soapAction="uri"? style="rpc|document"?>?
               <input>
                   <soap:body parts="nmtokens"? use="literal|encoded"
                              encodingStyle="uri-list"? namespace="uri"?>
                   <soap:header message="qname" part="nmtoken" use="literal|encoded"
                                encodingStyle="uri-list"? namespace="uri"?>*
                     <soap:headerfault message="qname" part="nmtoken" use="literal|encoded"
                                       encodingStyle="uri-list"? namespace="uri"?/>*
                   <soap:header>                                
               </input>
               <output>
                   <soap:body parts="nmtokens"? use="literal|encoded"
                              encodingStyle="uri-list"? namespace="uri"?>
                   <soap:header message="qname" part="nmtoken" use="literal|encoded"
                                encodingStyle="uri-list"? namespace="uri"?>*
                     <soap:headerfault message="qname" part="nmtoken" use="literal|encoded"
                                       encodingStyle="uri-list"? namespace="uri"?/>*
                   <soap:header>                                
               </output>
               <fault>*
                   <soap:fault name="nmtoken" use="literal|encoded"
                               encodingStyle="uri-list"? namespace="uri"?>
                </fault>
            </operation>
        </binding>
    
        <port .... >
            <soap:address location="uri"/> 
        </port>
    </definitions>

Lascia un commento