Web Services, SOAP, and WSDL CSCI 4300 Web Services for B2B communication Technology involved for remote procedure call • Web Service Description Language is the API • SOAP is the message envelope • HTTP is the transport layer Remote Method Invocation • Low-level • Requires all parts written in Java • CORBA is one attempt to get around this issue JAX RPC layered over RMI Simple SOAP message SOAP headers and body Headers: • Security credentials • Transaction IDS • Routing instructions • Payment tokens • Etc. etc. Body: • Actual message content Application-specific header example A security header Processing SOAP messages • In particular, JAX-RPC implements remote procedure calls by exchanging SOAP messages Modular processing Message passing: multiple actors Who processes the headers? • A node which has identified itself with this processing role will process this header. SOAP use case Sequential processing • Processing nodes can add and remove headers • The Inventory node can add an authentication header and force the next node to process it Web Services Description Language “portType”: a service access point Operation types WSDL – SOAP binding • The binding determines the format of the SOAP message that will transport a service UDDI: the Yellow Pages Acknowledgements • Auto parts example: http://www.info.gov.hk/digital21/eng/knowledge/webservice_appexa mple.html • http://today.java.net/today/2003/11/05/ch4SOAP.pdf • http://java.sun.com/developer/technicalArticles/xml/webservices/ • http://www.w3schools.com/wsdl/wsdl_documents.asp