| |
White Mesa SOAP Server: Release History
Current Release: 3.2
|
|
Version 3.2 introduces:
-
Implements the W3C SOAP 1.2 Recommendation of 24 June 2003. The SOAP 1.2
envelope version is now fixed at "http://www.w3.org/2003/05/soap-envelope",
along with other necessary namespace and URI adjustments.
-
Fixed bug in which empty SOAP "Header" elements were not forwarded when
the server is acting in an intermediary role and relays the message to another node.
|
|
Version 3.1 introduced:
-
Support for "rpc/literal" services per the
WS-I Basic Profile v1.0 specification. Specification of use="literal" in the soap:body
extension elements within the WSDL description of an RPC service results in the
correct behavior by the White Mesa SOAP Server and client libraries.
Serialization/deserialization of RPC messages is accomplished in a manner
transparent to RPC service provider objects and clients, whether use is
"encoded" or "literal".
-
A suite of browser based test clients, and a supporting
WSDL document is provided to implement tests of the "rpc/literal"
features. Endpoints for both SOAP 1.1 and SOAP 1.2 versions of the test suite
are defined and work "out of the box" after installation.
-
Support for "literal" serialization of SOAP Fault message detail child
elements. Specification of use="literal" in soap:fault
extension elements results in the correct behavior by the White Mesa SOAP
Server and client libraries. Serialization/deserialization of Fault detail
child elements is accomplished in a manner transparent to RPC service provider
objects and clients, whether use is "encoded" or "literal".
-
White Mesa clients now use the "action" parameter of the
SOAP Media Type to convey any "SOAPAction" value (passed in by the
application) when generating a SOAP 1.2 request. The White Mesa Server will
capture this value from the HTTP "Content-Type" header rather than a
"SOAPAction" header when a SOAP 1.2 message is received. The behavior of the
Server is determined by the SOAP 1.2 binding given in the WSDL document for a
service. The soap12:operation extension element in the
SOAP 1.2 binding may contain two attributes of interest: the
"soapAction" attribute specifies the action value expected, and the
"soapActionRequired" attribute specifies whether or not use of the action
parameter is mandatory. If soapActionRequired="true" for a given operation, the
Server will generate a fault message if a request does not contain an action
parameter, or the value of the action parameter conflicts with that given in
the binding.
-
The WSDL Reader and XMLDocument Class now handle redirects properly when
loading a document using HTTP GET. Also, a bug was fixed in which document URLs
containing a query string were mishandled.
|
|
|
|
Version 3.0 introduced:
-
Support for SOAP 1.2 (Candidate Rec Version), including the Web Method
feature. The WSDL reader component now recognizes the
SOAP 1.2 binding extensions for WSDL 1.1
which are published on the Soapbuilders list site. The behavior of client
libraries and the Server is determined by the choice of SOAP binding used for a
service endpoint (port). This is specified in the WSDL document describing the
service.
-
An intial implementation of the
SOAP 1.2 Test Collection
is included, ready to run, along with simple browser based test clients to
drive the test services.
-
Server configuration data now stored in XML document rather than registry, to
simplify backup and allow modification using a text editor.
-
SOAP client classes now have HTTP proxy support.
-
Additional convenience classes are included to ease the creation of SOAP
clients and header/body processors for applications using "document" style SOAP
messages.
-
The Header processing system has changed to support the SOAP 1.2 requirement
that all header blocks be verified as "understood" by a Header block processor
before actual processing begins. These changes are outlined
here.
-
A improved digest authentication scheme is now used by the Control Panel
applications, the SOAP Digest Authentication SOAP
extension. Authentication services are now provided by the wmsoapauthsvc
Header processor.
-
A log file rotation feature has been added. If enabled, open log files are
rotated periodically, the interval is controlled by the "logRotationInterval"
parameter in the server configuration file. The interval is specified in hours,
and may have any value in the range 1 to 1193 (49 days).
-
Individual services may now be enabled/disabled using one of the Control Panel
applications while the Server is running.
-
Individual services may be configured so that the "xsi:type" attribute
containing type information is placed on accessor elements for SOAP RPC
response messages, which use SOAP Encoding. This is useful if clients using the
service require this information ("explicit" typing) in order to process
responses. The SOAP and DIME RPC clients can be configured to do the same for
the request messages they generate.
-
Individual services may now be configured to so that the soap-enc:nodeType
attribute is placed on accessor elements of SOAP 1.2 RPC response messages,
which use SOAP Encoding. The SOAP and DIME RPC clients can be configured to do
the same for the request messages they generate.
-
The Server may now be bound to a specific IP address by means of an entry in
the configuration file.
-
Services may now be assigned multiple "actor" (SOAP 1.1) or "role" (SOAP 1.2)
URIs. These are the identities assumed by the SOAP node for the purpose of
determining whether or not it is the target of Header blocks contained in a
SOAP message.
-
The source code is now distributed as a VS.NET "solution", and requires Visual
C++ v7.0 to compile. It remains an ordinary C++ application ("unmanaged code"
in .NET parlance) and does not require the .NET Framework to run.
-
Many other enhancements and bug fixes, including easier installation.
-
The key COM support component interfaces Iwmsoapmsg and Iwmwsdlclient
have been revised to Iwmsoapmsg2 and Iwmwsdlclient2
in order to support additional functionality.
-
Please Note: because of extensive change to support SOAP 1.2
functionality, White Mesa SOAP Server v3.0 is NOT backward compatible with
earlier versions. Applications developed for earlier versions require slight
modification and a recompile to work under version 3.0 (Details here..)
|
|
|
|
Version 2.7 introduced:
-
Added support for DIME packaging of SOAP messages, including "attachments".
Details here.
-
Added support for "one-way" message exchange pattern for document style
operations.
-
Enhancements to WS-Routing implementation to improve compliance with spec.
-
Various bug fixes.
-
Release 2.7.1:
-
Fixed bug in DIME test client program which prevented temporary files from
being deleted from disk.
-
Release 2.7.2:
-
Updated DIME support to comply with revised
DIME and
WS-Attachments
specs of June 17, 2002.
-
Added limited support for DIME "options", available to doc/literal
applications.
-
Client is now allowed to force DIME packaging of SOAP request message even if
it contains no attachments.
-
Fixed bug in WSDL reader preventing proper default namespace resolution in
attribute values of type "qname".
-
Fixed bug preventing proper line counting in XML parser.
|
|
|
Previous Releases
|
|
Version 2.6 introduced:
-
Support for "document" style SOAP messaging.
Details here. A sample document style service is provided
(interopsvcdoc.dll), along with a suite of brower based test clients
(interopdoc_index.htm), and WSDL document (interopdoc.wsdl)
-
Support for "literal" type header entries... mixed literal and encoded header
entries are properly handled. Details here.
-
An revised implementation of the Web Services Routing Protocol is
provided, along with a test service, browser based test client, and supporting
WSDL docs. The WS-Routing test endpoint will be configured and ready to go
immediately after installation. This version uses "literal" WS-Routing header
entries, and supersedes the previous version. Details
here.
-
Fixed bug in intermediary functionality... forwarded message elements are
reproduced accurately, "encodingStyle" information is preserved.
-
Fixed memory leak in server-side remote control facility.
-
Fixed several memory leaks in interop "base" and "Group B" services.
-
Fixed Common Log Format time bug... local time now used.
-
Fixed bug causing return of improper fault message in certain header processing
failure scenarios.
-
Release 2.6.1:
-
Fixed WSDL processing bug preventing operations imported from another namespace
from being recognized.
-
Fixed bug preventing Section 5 decoding of SOAP RPC messages when the
SOAP-ENV:encodingStyle attribute was not present.
-
Release 2.6.2:
-
Further WSDL processing improvements, including support for simpleTypes,
elementFormDefault, and anonymous type declarations in schemas.
-
Fixed HTTP client bug in which "Host" HTTP header value failed to include port
number when other than the default (80).
|
|
|
|
Version 2.5 introduced:
-
An experimental implementation of the Web Services Routing Protocol is
provided, along with a test service, browser based test client, and supporting
WSDL docs. The WS-Routing test endpoint will be configured and ready to go
immediately after installation. Note: superseded by the implementation provided
in Release 2.6.0
-
Support for struct
members with qualified names.
-
Support for xsi:nil
(xsi:null if using 1999 Schema) attributes for simple type accessors.
-
Support for polymorphic
accessors for simple types (these are declared with type "anyType" in WSDL, and
must carry an "xsi:type" attribute).
-
Fixed thread synchronization problem in SOAP Listener.
-
Release 2.5.1:
-
Support for relative URIs in WSDL "import" element "location" attribute.
-
Support for "style" attribute in WSDL "operation" elements.
-
Fixed HTTP header line unfolding bug.
-
Fixed Winsock asynch I/O bug causing crashes under heavy load... Special thanks
to Jeremy Frens.
-
Fixed Winsock bug causing crashes when MS Winsock Proxy Client is installed on
same machine as server... Again, thanks Jeremy!
-
Fixed bug causing "root" attribute to be ignored on header entry elements.
-
Added an experimental implementation of a SOAP Extension providing Digest
Authentication facilities for use with any SOAP service. Browser based test
clients and a test service are configured and ready to go immediately after
installation. Details here.
Version 2.4 introduced:
-
Support for xsd:dateTime (xsd:timeInstant if using 1999 Schema), xsd:date,
and xsd:time
types.
-
Support for xsd:decimal
type.
-
Support for xsi:nil
(xsi:null if using 1999 Schema) attribute in deserializer for structs, arrays,
strings, and byte array types.
-
Added additional methods to "interop" test suite.
-
Added component implementing the "Notification" service, part of Simon Fell's
SOAP Interop Registration and Notification Service. This service
receives notifications when the Registration database is updated.
- Fixed bug
preventing request message from appearing in trace log output if
deserialization failed.
-
2.4.1: Added support for decimal type.
-
2.4.2: Fixed time zone conversion bug in deserializer.
-
2.4.3: Fixed serialization bug affecting arrays of time and date types.
Version 2.3 introduced:
-
Support for xsd:hexBinary
type. Encoding/decoding is automatic.
-
Changed xsd:string types in Digest Authentication headers (used in the
White Mesa SOAP server's remote control service) to xsd:hexBinary
for struct members carrying MD5 hashes.
-
Fixed bug in serialization/deserialization of base64
types.
-
Additional rework of serialization/deserialization code.
Version 2.2 introduced:
-
More WSDL 1.1 features:
-
Support for WSDL import functionality. This allows allows the
"separation of the different elements of a service definition into independent
documents, which can then be imported as needed" (WSDL 1.1 sec. 2.1.2). This is
great for importing WSDL docs containing the abstract interface or binding
definitions into one's own doc containing the service and port definitions.
Here is an example
of such a document.
-
Support for soap:header
declarations. This allows header entry elements to be declared as message
"parts" and referenced in the SOAP binding on a per operation basis. This
provides a convenient way to document header entries, and was the result of the
changes made to WSDL section 3.7 in the 1.1 version.
-
Support for soap:headerfault declarations. These are nested within a soap:header
declaration and declare the header(s) that will be returned if the processing
of the enclosing header results in a fault. This is a new feature introduced in
WSDL 1.1.
-
Support for soap:fault
declarations. This allows SOAP Fault message "detail" elements returned in a
fault message to be declared on a per operation basis.
-
The White Mesa WSDL Reader used by the client and server understands these
extension elements. The information they convey is used to
serialize/deserialize header entry elements and fault message detail elements.
Here is an example of the use of soap:header
and soap:headerfault in the WSDL document for the White Mesa SOAP
server's remote control service. The headers involved support the Digest
Authentication scheme for the service.
-
Added "wmechoheader" header handler. It functions to "echo" headers received in
SOAP request messages back to the sender for test purposes.
-
More bug fixes.
Version 2.1 introduced:
-
Added mult-ref support (id/href).
-
Added support for WSDL 1.1 "arrayType" feature.
-
Added "echoBase64()" demonstration service method.
-
Added "wmmsgrouter" dynamic message path header handler.
-
"xsi:type" explicit typing checked for conflicts with WSDL doc for service.
-
Improved SOAP spec compliance.
-
Misc. bug fixes.
|