Ho affrontato questa domanda in una delle interviste, quindi potrebbe dirmi se i servizi Web SOAP supportano solo il metodo http "POST" o esiste un modo per accettare altri metodi sul lato server?I servizi Web SOAP supportano solo il metodo http "POST"
risposta
Ho sempre utilizzato il POST ma secondo lo W3C standard, SOAP supporta entrambi i metodi POST e GET.
Modifica: dopo alcune ricerche, sembra che non sia completamente vero, come potete vedere here. È teoricamente possibile utilizzare GET perché POST e GET sono metodi di protocollo di trasporto HTTP e SOAP può essere utilizzato su HTTP.
Ma come sapete, GET include la richiesta nella stringa di query. Le richieste SOAP (messaggi XML) sono in genere troppo complesse e dettagliate da includere nella stringa di query, quindi quasi tutte le implementazioni (ad esempio JAX-WS) supportano solo POST.
Il thread ha tre anni ma penso che ci saranno ancora molte persone che daranno questa stessa domanda a se stesse e troveranno una risposta sbagliata nel web. La risposta alla domanda è no, si può usare anche il metodo GET.
In base alle specifiche SOAP, che possono essere trovate qui: https://www.w3.org/TR/2007/REC-soap12-part0-20070427/#transport entrambi i metodi GET e POST possono essere utilizzati per scambiare messaggi SOAP su http. L'uso del metodo HTTP POST per il trasporto di messaggi SOAP nei corpi della richiesta HTTP utilizza un modello denominato modello di scambio di messaggi richiesta-risposta SOAP. Nel caso di HTTP GET viene utilizzato un modello chiamato modello di scambio di messaggi di risposta SOAP. La differenza principale di questi due modelli è:
il primo tipo di interazione consente l'utilizzo dei dati all'interno del corpo di un POST HTTP per creare o modificare lo stato di una risorsa identificata dal URI a cui l'HTTP la richiesta è destinata. Il secondo tipo di modello di interazione offre la possibilità di utilizzare una richiesta HTTP GET per ottenere una rappresentazione di una risorsa senza alterarne lo stato in alcun modo. Nel primo caso, l'aspetto specifico di SOAP è che il corpo della richiesta HTTP POST è un messaggio SOAP che deve essere elaborato (secondo il modello di elaborazione SOAP) come parte dell'elaborazione specifica dell'applicazione richiesta per conformarsi a la semantica del POST. Nel secondo caso, l'utilizzo tipico previsto è il caso in cui la rappresentazione della risorsa richiesta viene restituita non come HTML, o in effetti un documento XML generico, ma come messaggio SOAP. Cioè, l'intestazione del tipo di contenuto HTTP del messaggio di risposta lo identifica come di tipo multimediale "application/soap + xml"
Quindi è possibile utilizzare entrambi i metodi GET e POST. L'altro pensiero è che in pratica viene utilizzato principalmente il metodo POST.
Il malumore è che quando si confrontano i servizi RESTfull con i servizi SOAP, come vantaggio di REST le persone stanno portando il caching, che non è disponibile in SOAP, perché SOAP usa solo POST. Questo è totalmente sbagliato.
- 1. Servizi Web SOAP pubblici
- 2. Servizi Web SOAP in erlang
- 3. Consumo di servizi Web SOAP in ASP.NET
- 4. Consumare servizi web SOAP Play framework 2.1.2
- 5. SOAP contro HTTP
- 6. Qual è la differenza tra SOAP 1.1, SOAP 1.2, HTTP GET e metodi HTTP POST per Android?
- 7. Chiamare il metodo EJB dal progetto di servizi Web
- 8. servizi web, applicazione web
- 9. Richiesta HTTP SOAP PHP
- 10. Soap Client che consuma servizi Web di riposo
- 11. Come gestire il codice per i servizi Web SOAP con versione?
- 12. Come si controllano i servizi Web?
- 13. buon libro per wsdl, servizi web e php soap?
- 14. Web API 2 Http Post Method
- 15. Come creare autonomi servizi Web SOAP utilizzando Delphi?
- 16. Qual è il modo meno doloroso di consumare i servizi Web SOAP in Java
- 17. come applicare il filtro servlet solo per il metodo http post
- 18. Come posso fare in modo che i servizi Web di Spring registrino tutte le richieste SOAP?
- 19. Bandiere con i servizi web
- 20. ottenere i dati grezzi da POST metodo Web API
- 21. Quali browser supportano solo SSLv2?
- 22. Metodo HTTP HTTP POST - Problemi relativi ai cookie
- 23. Come convertire i dati InputStream in String in servizi Web SOAP Android
- 24. Restful vs Altri servizi Web
- 25. Come viene implementato il metodo del post http?
- 26. Posso utilizzare le richieste HTTP Post per SOAP? - SOAP e Django
- 27. Come impostare l'intestazione utilizzando il metodo http post
- 28. SOAP: HTTP Bad Request
- 29. Le pagine Github consentono il metodo Post HTTP
- 30. Reindirizzare il modulo HTTP post
Ottima risposta! Grazie mille per la ricerca. – evgeniy44