Web Services Package Version 1.0 Release Notes
Welcome to Web Services Package Version 1.0.
The emerging web services technology provides programmatic interfaces
for application-to-application communication on the network.
This technology allows users to integrate code from most platforms or languages
with an application.
Web Services Package is an integrational Mathematica package
that allows users to call web services from Mathematica in a completely
transparent way. Mathematica users can dynamically access new data and
functionality located on the network. Web Services Package makes the
whole universe of existing and future web services an automatic extension to
the Mathematica environment.
Web Services Package runs on Windows, Macintosh, Linux, and Unix.
Please direct comments and questions to webservices@wolfram.com.
Revision History
| 1.0.0 | 11/04 | Final 1.0.0 release |
| 1.0.0b3 | 3/04 | Minor bug fixes for ExpressionML and
MathML support, updated Amazon examples to Version 3 |
| 1.0.0b2 | 11/03 | Major upgrade with several internal fixes
and some useful features |
| 1.0.0b1 | 5/03 | First release |
Changes in Version 1.0.0
The following changes were made in this release.
- Reorganized the package
This affects where some of the files are located and how the code
loads. This fixes some problems with symbols clashing with other
symbols.
- Updated the TerraService example
The TerraService example now uses GUIKit.
- Added Web Services Navigator example
Changes in Version 1.0.0b3
The following changes were made in this release.
- Fixed the semantics for using MathML with web services
The client will support sending MathML when a type is specified as math.type,
rather than just supporting a math element defined in the MathML schema.
- Fixed the semantics for using expressions with web services
The client will support sending Mathematica expressions when an
expression type from the ExpressionML schema is specified, rather than
just supporting an expression element from the ExpressionML
schema.
- Updated Amazon examples to Version 3
Version 1 is going offline.
Changes in Version 1.0.0b2
The following changes were made in this release.
- Added support for ExpressionML
If a web service returns ExpressionML, the client will automatically transform
the data into an expression for the user.
- Added the function InsecureExprQ
This function helps to ensure that ExpressionML, which is converted by the client,
is safe. A user uses
SetSecurity to specify allowed and disallowed symbols and contexts.
This function returns True if a symbol is disallowed.
- Added the function SetSecurity
This function is used to specify which symbols and contexts are allowed and disallowed by
the function InsecureExprQ.
- Added the option ExpressionWrapperFunction
This option allows the user to specify a function
that will wrap each expression created with ExpressionML, which is returned from a
web service operation. One use of this option is to provide users with a way
to use the function Hold on an expression before it is evaluated.
- Added support for MathML
If a web service returns MathML, the client will transform the data
into SymbolicXML automatically for the user.
- Removed support for the option HeaderEncodingStyleURI
Headers will use the encoding style used by the body. The option
HeaderEncodingStyleURI did not scale properly because there could be multiple headers,
each with a different encoding style, and only the one option. Since WS-I profiles specify that
only literal encoding should be used, it
really should be the standard, and there should be no need to specify the header's
encoding style URI. However, encoding may still be used for the client, but only if the
encoding matches the body's encoding.
- Added the option DeencodeParameters
This option is mostly an internal one. Parameters are encoded with their type
and arrayType in order to identify the type and arrayType
of parameters at
run time. This is useful for a SOAP-encoded message because these encodings are required
within the message. However, a literal message does not require
these encodings in the message, and they should not be sent to the service
as they may cause interoperability problems. Therefore, the encodings must be removed
after the type and arrayType of parameters are identified by the code
building the message.
By setting this new option to True, the encodings are removed.
By setting the option to False, the encodings remain for messages that are
SOAP encoded. This option is exposed to the user as it may be useful while building a
function using InstallServiceOperation.
- Added support for the attribute elementFormDefault in XML Schema definitions
The previous version of Web Services Package was ignoring this attribute and not
building messages correctly. If a service was document style,
it used qualified elements, but if it was RPC style, it used unqualified elements.
- Fixed support for importing schema
The previous version was not importing schema defined in the types section correctly.
This should now be fixed.
Changes in Version 1.0.0b1
This is the initial release.
Known Issues in the Version 1.0.0b3 Release
XML Schema
The entire XML Schema specification is not supported. There are
complex schema type definitions that will not work properly. This
problem can be overcome by using the
function ToServiceRequest to build the requests by hand.
Additional schema support will be added in the next version.
HTTP Requests
Time-outs may occur only after a lengthy wait because the Java
libraries that are used to make the HTTP requests allow for only the
server to determine when the time-out occurs. Thus, waiting for the
server to time out, the client may wait for a longer period than
intended. It is hoped that this problem will be addressed in future
releases.
|