SOAP Web Service Tutorials - Herong's Tutorial Examples

http://www.herongyang.com/Web-Services

Copyright © 2017 by Dr. Herong Yang. All rights reserved.

SOAP Web Service Tutorials This free book is an excellent tutorial book for beginners. It is a collection of notes and sample codes written by the author while he was learning Web service and SOAP himself. Topics include Binding, Data Model, Encoding, HTTP, Java, Message, Message Exchange Patterns, NuSOAP, PEAR, Perl, PHP, RPC, SAAJ, SOA, SOAP 1.2, SOAP Extension, SOAP::Lite, SoapUI, UDDI, Web Method, Web service, WSDL, WS-Security.

Table of Contents

About This Book

Introduction to Web Service

What Is a Web Service?

Web Service Related Technologies

Introduction to SOAP (Simple Object Access Protocol)

What Is SOAP?

SOAP Communication Example

SOAP Message Structure

SOAP Generic Message Structure

SOAP Fault Message Structure

SOAP Message Transmission and Processing

SOAP Protocol Binding

SOAP Distributed Processing Model

SOAP Features and Modules

SOAP Data Model

SOAP Encoding

What Is SOAP Encoding?

Multiple References and Circular References

Node Types - simple, struct, array

SOAP Encoding Attributes and Namespace

Using SOAP Encoding in SOAP Messages

SOAP RPC Presentation

What Is SOAP RPC Presentation?

Using Web Methods to Invoke RPC

Using SOAP Messages to Invoke RPC

RPC Response Messages

SOAP Properties Model

SOAP Message Exchange Patterns

What Are SOAP Message Exchange Patterns?

Request-Response Message Exchange Pattern

Response Message Exchange Pattern

Web Method Feature

SOAP Action Feature

SOAP HTTP Binding

SOAP Perl Implementations

SOAP Perl Implementation - SOAP::Lite

SOAP::Lite for Perl on Windows

Installing ActivePerl v5.8.7 on Windows

SOAP::Lite 0.55 in ActivePerl 5.8.7

SOAP PHP Implementations

SOAP PHP Implementations: PEAR::Package::SOAP and NuSOAP

PHP 5.0.4 by The PHP Group

Installing SOAP Library on Windows

SOAP Java Implementations

What Is SAAJ (SOAP with Attachments API for Java)?

SOAP Java Implementations: Axis and Apache WebService

Axis Installation Requirements on Windows

Installing Axis 1.2.1 on Windows

Installing JAF 1.0.2

Perl SOAP::Lite - SOAP Server-Client Communication Module

What Is SOAP?

What Is SOAP::Lite?

SOAP::Transport::TCP::Server - SOAP Server with TCP Protocol

SoapTcpClient.pl - SOAP Client Example with TCP Protocol

SOAP::Lite Tracing Functions

SOAP::Transport::HTTP - SOAP Server with HTTP Protocol

Perl Socket Test Program for HTTP and SOAP

SocketRequestResponse.pl - Socket Level Testing Program

Examples of HTTP 1.0 Requests and Responses

Examples of HTTP 1.1 Requests and Responses

SOAP 1.1 Request - Content-Length Too Small

SOAP 1.1 Request - Content-Length Too Large

SOAP 1.1 Request and Response of GetSpeech

SOAP 1.2 Request and Response of GetSpeech

Perl SOAP::Lite for GetSpeech SOAP 1.1 Web Service

GetSpeech Failed - Incorrect SOAPAction Header Line

GetSpeech Failed - Incorrect Parameter Name c-gensym

Using Socket Program to Request Parameter Name

GetSpeech Worked - Using SOAP::Data Class and on_action() Function

GetSpeech_SOAP_1_1.pl - SOAP::Lite for SOAP 1.1 Web Service

Perl SOAP::Lite 0.710 for SOAP 1.2 Web Services

Installing SOAP::Lite 0.710 to Support SOAP 1.2

Features in SOAP::Lite 0.710

Methods on SOAP::Lite 0.710 Client Object

Testing SOAP::Lite Client Objects

Request Differences between SOAP 1.1 and SOAP 1.2

GetSpeech_localhost.pl - Testing GetSpeech on Local Host

soapversion('1.2') and envprefix('soap12') Must Used Together

default_ns() - Setting Default namespace for Body Elements

SOAP::Data - Utility Class to Generate XML Elements

SOAPAction - Not Needed, But No Way to Remove It

Unsupported Media Type: "application/soap"

DEFAULT_HTTP_CONTENT_TYPE='application/soap+xml'

content_type() method in the HTTP::Headers Class

GetSpeech_SOAP_1_2.pl - SOAP::Lite for SOAP 1.2 Web Service

Perl SOAP::Lite 0.710 for WSDL

First WSDL Test Failed with SOAP::Lite

Downloading and Editing WSDL Document

Testing service() Function Locally

soapversion('1.2') Sets Correct Envelope namespace

Error: Object reference not set to an instance of an object

PHP SOAP Extension Client Programs

What Is PHP SOAP Extension?

GetTemp.php - First Example with SOAP

PHP SOAP Extension Functions for Client Programs

GetTempDump.php - Dumping Debugging Information

Whis Is WSDL (Web Services Definition Language)?

Using SOAP Extension in non-WDSL Mode

PHP SOAP Extension Server Programs

PHP SOAP Extension Functions for Server Programs

HelloServer.php - First SOAP Server Application

HelloServer12.php - SOAP 1.2 Server Application

HelloServerWsdl.php - SOAP 1.2 Server Application in WSDL Mode

Java Socket and HttpURLConnection for SOAP

SocketRequestResponse.java - Socket Client Testing Program

SocketRequestResponseServer.java - Socket Server Testing Program

Capturing the HTTP Request from a Browser

"read(byteBuf) = -1" Not Working

Using java.net.HttpURLConnection to Send SOAP Messages

Using HttpURLConnection to Call GetSpeech SOAP 1.1

Capturing HTTP Request Generated by the HttpURLConnection Class

Calling GetSpeech SOAP 1.1 Web Service

Using HttpURLConnection to Call GetSpeech SOAP 1.2

Calling GetSpeech SOAP 1.2 Web Service

SAAJ - SOAP with Attachments API for Java

SAAJ API 1.3 Classes and Interfaces Overview

SAAJ API and Default Implementation in JDK 1.6.0

SAAJ API Reference Implementation 1.3.4

First SOAPConnection Test Program

Creating SOAPConnection and SOAPMessage Objects

SAAJ SOAPMessage Structure and Classes/Interfaces

Populating the SOAP Body with Request XML Elements

Don't Use xml* as namespace Prefix

addHeader() - Setting SOAPAction Header Line

Calling GetSpeech SOAP 1.1 with SAAJ

SOAPConstants.SOAP_1_2_PROTOCOL

Calling GetSpeech SOAP 1.2 with SAAJ

SoapUI - SOAP Web Service Testing Tool

What Is SoapUI?

Downloading and Installing SoapUI 5.0.0

Validating and Inspecting WSDL Documents

Using Interface Viewer on Bindings

Generating SOAP Test Request

Submiting SOAP Test Requests to Server

WS-Security - SOAP Message Security Extension

What Is WS-Security (WSS)?

Using XML Signature and Encryption with WSS

SOAP Header Element "Security"

What Is WS-Security Username Token Profile?

SoapUI Configuration for Username Token

Generating Username Token with SoapUI

Validating wsse:Password Digest String

Password Digest Validation Program

WS-Security X.509 Certificate Token

What Is WS-Security X.509 Certificate Token Profile?

What Is XML Signature Syntax and Processing?

Generating a Self-Signed Certificate with "keytool"

SoapUI Configuration for Messaging Signing

Generating Digital Signature with SoapUI

Validating ds:Signature with X.509 Certificate

Digital Signature Options Supported in SoapUI

What Is XML Encryption Syntax and Processing?

SoapUI Configuration for Messaging Encryption

"not an RSA key" - Encryption Failed in SoapUI

Encryption using RSA Public Key with SoapUI

2-Step Message Encryption - Symmetric and RSA

Decrypting Encrypted SOAP Message

Message Encryption Options Supported in SoapUI

Web Services and SOAP Terminology

References

PDF Printing Version

Keywords: SOAP, UDDI, WSDL, Web service