PackageDescription: SOAPEtc(Bundle)


SOAP Etc

Last published: September 29, 2004 by 'tkogan'

No bundle comment found. Component comments follow

PackageDescription: WebServicesNamespace

Provides the WebServices name space for the Web Services framework (XMLObjectMarshalers/SOAP/WSDL/UDDI).

PackageDescription: WSDLWizard

Contains a WsdlWizard Tool that helps to create Smalltalk classes from a Wsdl schema and a Wsdl schema from a service class.

PackageDescription: WebServicesClient

Loads all Web Services client packages.

The Web Services clients enable you to:

• Find a WSDL description using a UDDI registry
• Load a description from the Internet
• Create an XML-to-object binding
• Create Smalltalk classes from the WSDL specification
• Invoke services described in a WSDL

PackageDescription: WebServicesServer

Loads all Web Services server packages.

Enables you to create and run an Opentalk SOAP server.

PackageDescription: WebServicesDemo

Provides the Web Services Tool demo. Classes that are used in this demo are from the Library demo. You can find more information about the Library Demo in LD class methods: #purpose and #scenario.
The purpose of the Web services demo is to provide some samples that show how to
- create Smalltalk classes from the Wsdl specification
- create the Wsdl specification from classes that provide web services
- create and run Opentalk-SOAP server


Creating Smalltalk classes from the Wsdl specification
-------------------------------------------------------------------------------
WSLD1TestCreateClasses>>testCreateClassesFromSchemaDoc
WSLD1TestCreateClasses>>testCreateClassesFromSchemaRPC
the samples:
- read the Wsdl specification from any data source (stream.url),
- create XML to Smalltalk object binding from customer defined XML types section,
- create service classes from the Wsdl operations
- create a client class for each Wsdl port to invoke web services

WSLD1TestCreateClasses>>testCreateClassesInteropGroupB:
- creates a client class from the Wsdl Interop Lab Group B specification
- creates an instance of the client
- the client sends and receives messages from Opentalk-Soap server
that runs Interop SOAP Builder Tests

WSLD1TestCreateClasses>>testCreateOpentalkServerClassDoc and
WSLD1TestCreateClasses>>testCreateOpentalkServerClientClassesRPC:
- create and starts Opentalk-SOAP server
- create a service class and adds some service implementation
- create Opentalk-SOAP proxy client class
- the proxy client sends and receives message from the server
- stop the proxy client and Opentalk-SOAP server


Creating the Wsdl specification from classes
----------------------------------------------------------------
A WSDL specification can be generated from the information found in
either a service class that provides a web service interface description or
an Opentalk server class.
There are a few steps required before we can generating the WSDL:
1 Provide descriptions for service interfaces.
2 Provide descriptions for user types.
3 Optionally, provide descriptions for service access points

Right now we don't provide a tool to generate the type and service descriptions. You can run some
utilities that can help to create templates for type and services. Then these templates should be updated
with correct types. How to create templates see
WSLD1TestCreateClasses>>createPragmaTemplatesForInterfaces
WSLD1TestCreateClasses>>createPragmaTemplatesForTypes
WSLD1TestCreateClasses>>testCreateOpentalkServerTemplate1.

WSLD1TestCreateWSDL>>testCreateSpec1DocFromOpentalkServerClass:
-creates the full Wsdl specification from Opentalk-SOAP server class (OpentalkServerSrvcGenPublicDoc).
The OpentalkServerSrvcGenPublicDoc class>>portDescription provides information
about a service class and access point to the server

WSLD1TestCreateWSDL>>testCreateSpec2DocFromServiceClass:
- creates the Wsdl specification from the WSLDSrvcGeneralPublicDoc service class.
The WSLDSrvcGeneralPublicDoc and its superclass provide interface description in method pragmas.
See methods in 'public api' category.

All data type definitions used to describe the parameters in the messages
exchanged have to be define in the Wsdl element in the form of
an XML Schema. The current implementation supports complex, simple, collection,
choice, and soap array types.
Each complex object must have attribute type descriptions for the
attributes that are to participate in the message exchange. The attribute
description should be provided in the set accessor pragma.
See type descriptions in classes WSLDAgentLibrary, LDAgent, LDHoldingBook and others.


Creating and running Opentalk-SOAP server
----------------------------------------------------------------
The Opentalk-SOAP server class can be created using the WsdlClassBuilder class
or from a Wsdl specification.

WSLD1TestOpentalkServer includes some samples that
- create a Wsdl specification from a service class
- load a Wsdl binding from the Wsdl specification
- start the Opentalk server and proxy client
- invoke some services from the server
- stop the server and client