Learn SOAP Tutorial
Introduction
In the SOAP Zone you will learn about SOAP and how to make use of it in your
applications - start reading to learn What
is SOAP? Please do take a look at the other Learning Zones we
have available.
SOAP email group
Sign up for the SOAP Workshop email
discussion list, right here. Just
send this blank email to sign up to the SOAP Workshop discussion.
SOAP and related websites you should also visit
SOAPClient
- SOAPLite
- Webservices
Architect
- SOAPUser 
Table of Contents
Base64 Encoder Sometimes, it's a bit "heavy" to add a dependency on the MSXML component in your project, just to get the Base64 functionality. For example, I have a component which generates XML documents as strings, with no dependency on MSXML.
Obtain the MS Soap Toolkit - there's a Base64 Encoder/Decoder COM object in
there. Note: There "may" be a couple of minor bugs in the implementation in the current
Technology Preview. The source code (C++) is included. Write your own VB class to do the job. I have a working VB Base64 class (not rigorously tested, though), if anyone is
interested. Note also that the Base64 encoded string produced by MSXML contains newline characters (Unicode 10, decimal) every 73 (encoded) characters. My VB example handles these (and other) invalid Base64 characters. BizTalk and XML Interoperability From business-to-business supply chain management, through to providing web services, interoperability will play a key role in the next generation of Internet-enabled applications. Developers will be increasingly faced with the challenges of having their applications communicate with other systems. Distributed applications will move to the mainstream as developers produce applications that consume web services provided by third parties, and build web services for others to use. Presenting current and emerging state-of-the-art XML-based solutions to the interoperability puzzle, such as SOAP, BizTalk and the BizTalk Server, this presentation will show how these XML technologies can be used to solve real-world integration and interchange challenges. Using the .NET SoapFormatter Contrary to a common perception, SOAP is not limited to WebServices or the internet. The protocol is designed to work over a number of different transport mechanisms, email or message queuing for example. Building applications communicating over the SOAP protocol with the .NET Framework is not limited to ASP.NET either. The .NET Framework offers another solution to create and process SOAP messages independent of the whole WebServices architecture. NOTE: This includes the architecture of a SOAP RPC system! The SoapFormatter can generate two different types of SOAP messages: document-style messages for serialized objects and messages suited for RPC-style communication. While the intention behind the two messages types is very different, the format of the two message types is very similar. XmlSerializer Overview in .NET We will learn about using the .NET framework to serialize objects to an XML-based representation and then deserializing the XML back into objects. You will learn how to develop classes so their XML representation will map to a given XML format. This is a common problem in applications exchanging data through an XML-based format and the .NET Framework provides a powerful solution in the System.Xml.Serialization namespace. Later in this book we will concentrate on XML Serialization in the context of more distributed applications where we communicate through an XML-based remote procedure call (RPC) protocol named SOAP. Java and XML: SOAP SOAP is the Simple Object Access Protocol. If you haven't heard of it by now, you've probably been living under a rock somewhere. It's become the newest craze in web programming, and is integral to the web services fanaticism that has taken hold of the latest generation of web development. If you've heard of .NET from Microsoft or the peer-to-peer "revolution," then you've heard about technologies that rely on SOAP (even if you don't know it). There's not one but two SOAP implementations going on over at Apache, and Microsoft has hundreds of pages on their MSDN web site devoted to it. In this chapter, I explain what SOAP is, and why it is such an important part of where the web development paradigm is moving. That will help you get the fundamentals down, and prepare you for actually working with a SOAP toolkit. From there, I briefly run over the SOAP projects currently available, and then delve into the Apache implementation. This chapter is not meant to be the complete picture on SOAP; the next chapter fills in lots of gaps. Take this as the first part of a miniseries; many of your questions at the end of this chapter will be answered in the next. Programming Web Services with SOAP We demonstrate how to create, deploy, and use SOAP web services using toolkits for Java, Perl, and Microsoft's new .NET platform. We cover the installation, configuration, and use of SOAP::Lite for Perl, Apache SOAP for Java, and Microsoft .NET for C#. .NET Framework Essentials: Web Services In this chapter, we describe the .NET Web Services architecture and provide examples of a web service provider and several web service consumers. This article covers 'Web Service wire formats', 'Web Service description in WSDL (Web Services Description Language)' and 'Web Service discovery' in detail. Programming Web Services with XML-RPC: Client-Server Communication Java was built from the ground up as a network-centric development environment. As a Java developer, XML-RPC offers you an opportunity to extend that foundation in a structured way. Adding XML-RPC to your toolkit makes it easier to integrate a Java application with an application built using another environment or simply to establish lightweight point-to-point communication between Java programs running on different computers. Although XML-RPC goes against the grain of much Java network programming (and even against some of the fundamental principles of object-oriented development), its alternative approach can be useful in many relatively common scenarios. SOAP Services With Web Services, we are on the verge of a new programming model. A set of standards has been developed that gives us programmatic access to the application logic of the web. This application logic is accessible to clients on every platform, and in every programming language. Using this model, we can build applications that integrate components using standard Internet protocols. As has already been touched upon in Chapter 1, at the core of the Web Services model is SOAP (Simple Object Access Protocol), the protocol that allows messages to be transmitted as XML documents and invokes the capabilities of Web Services. The SOAP standard is the key to Web Services. This chapter delves into SOAP 1.1, and the concepts needed to start using SOAP in applications. We will cover the fundamentals of SOAP and its design, and then we will drill down into the details of SOAP messages, transports, and conventions. Implementing a Web Service with Microsoft SOAP Toolkit Version 2 In this article you will become familiarized with some new but still evolving Web Services technologies and how they can be implemented in your project needs. Many current and future projects aim on the Windows DNA approach of designing and developing distributed applications. This articles explains how to do this. XML Interoperability Presenting current and emerging state-of-the-art XML-based solutions to the interoperability puzzle, such as SOAP, BizTalk and the BizTalk Server, this presentation will show how these XML technologies can be used to solve real-world integration and interchange challenges. What Is SOAP? SOAP, the Simple Object Access Protocol, is an XML syntax for exchanging messages. Because it is XML, it is both language and platform independent. SOAP is a fundamental part of .NET, Microsoft's new development platform, and it will be important for developers moving to .NET to understand what SOAP is and how it works. Chris is the subwebmaster of SOAPWorkshop on topxml.com C++ SOAP client for MS SOAP Toolkit 1.0 In July 2000 Microsoft released first version of SOAP Toolkit for Visual Studio 6.0. In September 2000 was released the beta 1 of SOAP Toolkit Version 1.0. In my opinion the most remarkable feature that was added is the SSL support. The most recent non-beta version is version from December 2000 with bug fixes and small changes in the exposed interfaces. The purpose of this article is to demonstrate the wire transfer technique using a C++ client using also ATL. Understanding SOAP This session describes what the Simple Object Access Protocol is, and how it can be used to solve common interoperability and firewall problems. SOAP SDK (A Real SOAP Implementation) The Simple Object Access Protocol (SOAP) is an XML vocabulary that provides a standard envelope for sending messages across the wire. SOAP forms the basis of Web Services, an important part of the future of the Web. The MS SOAP SDK takes advantage of this structure to invoke methods on remote objects. In this session, you learn how to use the SDK on your Web site to turn your information into a sharable programmable Web service. XML Over the Web Today with Internet Explorer 5 and XmlHttpRequest You've heard about SOAP being a simple and generic protocol which is supposed to become an industry standard to invoke remote methods over HTTP. However, you're still waiting for it to become widely accepted. Internet Explorer 5 already provides a component called XmlHttpRequest that does something similar. With it, you can exchange XMLDOM between a IE5-based client and a Web server. In this session, you learn how to write an ATL based application which uses XmlHttpRequest to obtain info from a Web site and use it locally Using XML Technologies to Build eBusiness Applications XML technologies are changing the entire architecture of business application development. This session covers Microsoft's XML strategy and current and future products that can be used to address your development challenges. Presenters show a tangible business application that uses MSXML (DOM, Schema, XSLT), SOAP SDK, BizTalk and SQL Server XML features. The goal for this session is to provide you with a clear road map of where and how Microsoft XML technologies can help your development efforts. COM+ and CORBA Interop with XML-based Web Services While XML based web services like SOAP provide a great protocol for interoperability across the web, they are also a great mechanism for cross platform interoperability in the server to server environment. This presentation demonstrates techniques for exposing an existing CORBA application that integrates with and is accessible from a COM+ application using XML and the Microsoft SOAP SDK. We will look in detail at the requirements of the SOAP listener and how it’s integrated with the SOAP SDK. The sample application will be built using Visual Basic, the SOAP SDK, Java, and C++
|