Network Component  Version 7.17.0
MDK Middleware for IPv4 and IPv6 Networking

Using the Simple Object Access Protocol.

Using the Simple Object Access Protocol.

SOAP Support

The Simple Object Access Protocol (SOAP) is an XML-based protocol to let applications exchange information over HTTP. It is created to enable communication between applications. It is important for application development to allow Internet communication between programs. A better way to communicate between applications is over HTTP, because HTTP is supported by all Internet browsers and servers. SOAP provides a way to communicate between applications running on different operating systems, with different technologies and programming languages.

SOAP Interface

SOAP messages in HTTP consist of a POST request, submitted by the client, and a response generated by the web server. The Network Component's HTTP server handles SOAP messages differently. Instead of processing them internally and notifying the user via a callback function, it delivers a complete SOAP message to the user via the callback function.

In general, SOAP messages are large. Embedded systems that run a web server with SOAP, need much more RAM for message buffering and processing. A typical configuration would have:

The following extensions have been added to the HTTP server:

Large POST Messages

When the web server receives a POST request, the server checks the Content-Type header. All XML-encoded content types are not processed further, but the data is delivered to the user in a callback function. It is the responsibility of the user to correctly assemble large POST messages, because they are fragmented and delivered from several TCP packets. For the first and subsequent packets, the web server calls the callback function with code 5:

netCGI_ProcessData (5, dat, len);

The user should now start to buffer the data.

For the last or single data packet, the web server calls the callback function with code 4:

netCGI_ProcessData (4, dat, len);

The XML-POST data is now complete and the user can start parsing the XML encoded data. In addition the user might check what was the Content-Type with the function netHTTPs_GetContentType.