Although Web Services can be widely defined as HTTP and XML, a more common modern definition is XML/SOAP/WSDL. They are typically used for computer to computer application invocation when the same technology is not guaranteed. SOAP can be viewed as an XML wrapper used to define the namespace, schema and "method" name of the payload. SOAP is a standard XML namespace governed by W3C. It is human readable, simple and language/technology agnostic. Apache Tomcat w/ Axis and IIS w/ .NET are 2 free servers that can both accept SOAP requests and return SOAP responses.
The other part of web services is WSDL: Web Service Description Language. This is a standard 4 part XML document that defines the message (schema), port, binding and service. The servers mentioned above generate WSDL documents for each web services. There are also utility programs that will generate classes or interfaces from a WSDL, like wsdltojava and xsd.exe.
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<m:getStateName xmlns:m="http://www.soapware.org/">
<statenum>41</statenum>
</m:getStateName>
</SOAP:Body>
</SOAP:Envelope>
Document vs. RPC Style
These are the two primary types of web services. RPC or Remote Procedure Call style is similar to extending a method to remote consumers. By default Axis returns RPC style web services. Document style is more free form, using the XML document schema to define the message. The style is defined in the operation section of the WSDL document.
Web Service Consumers
Both Java and .NET languages, like C#, can easily consume SOAP web services. I'll talk more about this next week.
References
http://www-106.ibm.com/developerworks/webservices/library/ws-docstyle.html
http://radio.weblogs.com/0101679/stories/2002/03/16/aGentleIntroductionToSoap.html
http://www.w3.org/TR/SOAP/
XMethods List of Web Services
http://www.xmethods.org/ve2/Directory.po;jsessionid=RuOWqay9nCAzSNSMmolYh-o6(QhxieSRM)