VA Smalltalk Developer Build Readme
Welcome to VA Smalltalk V8.0.1. VA Smalltalk enables software developers to create highly
portable, scaleable, multi-tier business applications using object-oriented technology.
VA Smalltalk allows for incremental and rapid development of new Smalltalk applications.
Developers can build and deploy enterprise Web service solutions for dynamic e-business
using VA Smalltalk.
This new release of VA Smalltalk provides new functionality:
* Seaside 3.0 alpha5: Support for Seaside Core, jQuery, Scriptaculous and RSS.
* Enhanced Web Services: XML tools now correctly generate a map-file from a schema
* Continued Tabbed Browser Enhancements: New tabbed browsers for Applications, Class Edition,
Methods and Method Edition Browsers; tooltips added for tabbed browser toolbars;
word wrap now supported for tabbed browser text panes.
* Windows® 7: Support has been added to the VA Smalltalk IDE for the Microsoft® Windows 7
* Windows “cdecl” Calling Convention: DLLs entry-points defined with the Windows
“cdecl” calling convention can now be called.
* Improved Error Diagnostics for Memory Allocation: An immediate exception is made for
heap memory allocation errors, allowing better diagnosis of memory allocation problems.
* Enhanced SST resource management: SST provides faster execution and uses less memory
due to improved management of communications buffer memory and TCP socket handles
Instantiations has made use of the Totally Objects ToolBar in the tabbed browsers.
Developers interested in using the Toolbar in their own applications must purchase
a license from Totally Objects. For further information, contact David Pennington
Please refer to the Instantiations Smalltalk home page for technical information including
tips and product updates made after this product release. The web page includes information
about what's included in the release, and how to contact us as well as hints and tips for
using and deploying VA Smalltalk.
You can download the latest product updates, as well as product add-ons, from the
Instantiations Smalltalk download page.
Each supported VA Smalltalk platform has three downloadable components:
* Client - The Client component contains the VA Smalltalk development IDE. You will need to
install a client on each machine on which you wish to develop VA Smalltalk applications.
You must download and install the correct client package for your workstation operating
* Manager — The Manager component contains the VA Smalltalk source code repository ('manager')
file and the EMSRV code used to access the repository file in a team environment. The manager
is used in conjunction with the workstation client IDE. One code repository can support many
clients concurrently. Therefore you will only need to install the manager one time on a
suitable server machine.
You must download and install the correct manager package for your server machine's operating
system. It does not have to match the client operating system. A Linux manager install, for
example, can concurrently service Windows, AIX, Solaris and Linux clients. The same is true
for all of the other manager installs.
* Server Runtime — This is the runtime support needed for deploying Smalltalk applications
developed using VA Smalltalk. There is no formal install program for Server Runtime. You
simply use unzip to unpack the runtime files and add your packaged Smalltalk application
into the resulting directory structure.
You must download and unpack the correct Server Runtime package for your workstation
If you do not already have a suitable unzip program, then you can download a no-charge unzip
program such as Info-ZIP.
Note: The gunzip program will not work with the VA *.zip files. The VA *.zip files are multi-file
archives; gunzip is only designed to handle single compressed files.
You must unzip the client and manager zips on the same kind of machine that you intend to
install them on. Do not, for example, unzip a Solaris client install onto a Windows machine.
Complete install instructions, such as how to set up EMSRV, can be found in the Installation
Guide. The Installation Guide is in the doc directory of the unzipped client or manager
install directory tree (it is the same document in both zip files):
* on Windows, open a browser on cd_c\doc\ig\index.html or cd_m\doc\ig\index.html
* on Unix, open a browser on cd_c/doc/ig/index.html or cd_m/doc/ig/index.html
Note: There are special steps for installing on UNIX and Windows Vista which are documented
in the Installation Guide.
The Installation Guide is also available at Instantiation's Smalltalk website.
To install VA Smalltalk, follow the instructions for your specific platform.
We recommend you install the manager before you install the client.
If you are new to Smalltalk, we recommend you install the client with the on-line
documentation. Once you have installed the manager and the client, refer to the
Installation Guide for further instructions on how to configure your environment
before you launch VA Smalltalk.
If you have a version of VisualAge Smalltalk or VA Smalltalk already installed, please
refer to the Migration Guide for important information before using VA
Smalltalk V8.0.1. The Migration Guide can be installed with the VA
Smalltalk Client by selecting the "VA Smalltalk Documentation" feature.
This section lists the corrections and enhancements introduced by each release of
the VA Smalltalk product.
What's New in V8.0.x
* Platform Support
- Windows 7 32- and 64-bit
* Seaside support
- Seaside Core 3.0alpha5
- Slime (Smalllint extensions)
- Development Tools
* Web services enhancements
- Namespace Importation Improvements
- Deserialization of a SOAP Envelope handles defining schema containing an element
using a ref attribute referring to an imported schema
- Wsdl Deployment handles duplicated importation of a schema in schema definition
- Proper serialization of XML utilizing imported schemas using the document/literal
and document/literal wrapped WSDL style
- Correct deployment of WSDL using the document/literal and document/literal wrapped style
* Enhanced IDE
- Tabbed browsers
- Flat toolbars
- Windows Theme support on Windows XP
* New documentation delivery system
- Full-function, web or local
- Easier navigation
- Improved search
- Preserves F1 functionality in IDE
* Improve documentation content
- Migration Guide
- Installation Guide matches workflow of installing on a particular platform.
Additional troubleshooting is available.
Corrections and Product enhancements in V8.0
2121 Tabbed Browsers (hierarchy, class, and application) and Workspace
9511 Smalltalk identifier should allow underscores
10751 Fix: available printers in Windows 2003 Server
20377 Improve Installation Guide
24660 Mouse Scroll Wheel support
24948 ANSI exception handling -- behaviour when falling through handlerBlock
24949 Exception class>>#exceptionalEvent change for cross platform compatibility
26175 Enable Windows Theme support on Windows XP
27772 Cannot unload SUnit Feature
29223 Web Services Example using arrays and complex types
29238 Update F1 Help to match Improved Documentation Delvery system
30176 Oracle 10g Timestamp milliseconds
30362 Ctrl+V for entry fields
30375 Error deserializing Java 1.4.2 and 1.5 RMI stream
30574 Bugs in Oracle Decimal datatype interface (8 and 10)
30674 Incorrect initialization of some browsers
31234 Add convenience methods for MethodWrappers
31244 Web Services in 10 Minutes Example does not run on IBM ST Linux
31264 Error in VA Assist when versioning a class
31327 OSCall>>createProcess:.... leaks handles on Windows
31344 Secure web services example submitting a bad password eventually locks up resources of host web service
31347 Web service in 10 min example disables the remote deployment step
31348 Web Services in 10 min example does not log steps
31665 Setting VA Assist abbreviations yields stack overflow
31735 Uninitialized Oracle mapping variable causes walkback
31784 Change OleAutomationObject to facilitate subclassing
31805 Error in timerProcs processing
32480 XML mapping error ##ObjectInitializationError: 'Unable to process element ''TransactionStatus'''
32624 When applications are loaded, some methods are color coded as if there were no implementors
32629 A problem with VASt: untranslatedConstants
32717 Add ifNil:, ifNotNil:, ifNil:ifNotNil:, and ifNotNil:ifNil: methods to assist in porting code
32732 Documentation Update: Replace Emsrv MultiProcessor Warning with Verbiage From FAQ
32959 Debugger gets walkback: "Array's should not implement this method"
33346 Update Object>>#copy to ease code porting
33633 Error reading JPEG file
34042 SUnitPreload application needs updates for ANSI Exceptions
34133 GDI Objects leak from WindowBuilder apps
34223 Remove OS/2 reference in DB Guide on Binding Files
34224 Fix Code in 'How to Bind to a DB' section of the DB Guide
34249 hover help walksback over notebook
34325 Merge ENVY/Image Controls apps into mainline apps
34385 Recursive Schema Import fils when looping reference to previous schema import
34405 Globals created in unmanaged namespace
34406 Composition Editor does not expand canvas when script is moved outside canvas
34614 Incorrect makefile for primitiv sample on Windows
34944 Version dialog poorly displayed in AIX development
35046 Description of codeCacheSize in Smalltalk BaseUser's Guide is incorrect
36073 XML mapping of DateAndTime changes value
36083 EsbCallTree>>#printOn: problem
36133 Remove the requirement to bind ST image to db2 database
36166 Slow AbtTimestamps
36188 Support ANSI Exception ZeroDivide
36189 Support ANSI Exception MessageNotUnderstood
36229 Remove all OS/2 code from VA Smalltalk
36419 Eliminate link to IBM VAST Newsgroup from Help
36513 Namespace Import Issue
36809 Problem installing EMSRV as a Windows service
36861 AbtXmlStreamConverter does not recognize UTF-8 BOM (Byte Order Mark)
36980 Improved Documentation delivery system
37094 Smalltalk compiler overloads error: which disallows raising real Error exception
37123 Walback when opening frame spec for part once attached to a deleted part
37165 Walkback when opening part with database parts
37268 Value errors for some ANSI floatCharacterization methods
37389 2 versions of app SgmlSupport 5.5  in V7.5.2 manager
37444 CwComboBox Incorrect Color After Saved Second Time
37485 Inspector improvements
37490 Remove Information Center Launching from IDE
37606 Simplify and clarify Server Smalltalk (SST) features
37652 Walkback converting Float to ScaledDecimal
37727 Schema elements with ref attributes are not properly prefixed when serializing a SOAP envelope
37867 Advice on Unix NumLock in readme
37885 Database Sample features don't load
37903 Remove Search Dialog Launching from IDE
37915 Rationalize conflicting base extensions (GF/ST, RB, and Seaside)
38026 Write ENVY/QA loaded message to Transcript rather than a popup for unattended loading
38042 CwExtendedWidget needs to be more polymorphic with CwBasicWidget
38075 EtApplicationBrowser>>#fileinApplication does a double close of the input stream when it gets an error
38077 DBString>>#storeOn:recursionSet: produces bad output
38170 Error in SubApplication class>>#differencesWith:includeSubApplications:
38224 AbtTimestamp class>>#mutateObjects:fromPlatform:named:withDefinition: fails when a bogus input is received
38247 Document Out of memory and Memory Tuning Options
38326 References to the FileDirectory class and the class have been deleted
38329 CgWinPrinterServer class>>#allPrinterScreenInfos does not find any printers
38389 Add Seaside Slime
38398 Assistance Replicating XD Images
38441 Remove VW-specific subapps from Refactoring Browser
38494 Document IBM Image Verification Tool
38504 Add ENVY/Image Interactive Test Suites map now shipped
38505 VA Assist Undefined method warning is not shown
38592 Windows Controls palette parts labels are missing
38594 Add simple benchmarking methods to ENVY/Stats
38618 Missing Prerequisite in Application SstWebServicesParserApp
38681 Ensure only one EtToolsVendorExtensionsApp in distribution
38717 Performance Problem with element mapping mitigated
38757 Extend AbtTimestamp with fromMicroseconds: and asMicroseconds to replace deprecated methods
38782 Generate New Certificates for the SSL Client/Server Example in the Manual
38950 Promote #pass, #return and #return: from Exception to Signal
39109 WbApplicationFramework subapp configuration expressions are broken
39116 Migration Guide discusses the old changes to Block>>on:do:
39120 SstHttpServletRequest>>#getContentType doesn't match Java Servlet Specification 2.4 definition
39141 HTTP doHead: fails to recognize all forms of response code 200
39372 AbtTimestamp : ...
39426 VA80 Beta - Class Browser gets walkbacks
39502 VA Smalltalk V8 Beta1 Time>>#milliseconds: missing
39609 Add UML Designer Goodie to ship with VA Smalltalk V8
39641 Release RefactoringBrowser CS12.RC3
39777 Add new CW API for resurfacing a shell
39839 CgScreen>>#parseRGB:digits: does not handle lowercase hex digits (a - f) properly
39910 Release SUnit Browser CS14.NFR.4
39911 EsQueue fails to grow when its initial size is 1
Corrections and Product enhancements in V8.0.1
16202 Improvements to Installation Process
24638 Add support on Windows for cdecl calling convention
24948 ANSI exception handling -- behaviour when falling through handlerBlock
29222 Provide example of Smalltalk communicating with an existing server
33783 Walkback in OSEventManager class>>#runDeferredMessages
37579 Misplaced check for ACO Support in PlatformFunction>>asyncCallWithArguments:stackSize:
37986 Tooltips do not work for the OSToolBar and OSTabFolder controls
39111 Web Services WDSL fails in VA7
39189 SST mismanages freeing of its OSObjects
40099 Seaside 3.0a5
40175 WkTableWidgetView cell edit lost when cell scrolled off view
40578 Make 'use emulated toolbars' a global setting
40669 Platform Functions dealing with large files
40736 Problem handling WARequestContextNotFound exception
40815 Script Editor has two Options menu items
40873 Create a Tabbed StsApplicationsBrowser
40887 Organizer status line shows multiline revision note
40945 map-file not correctly generated for schema with a class hierarchy
40950 Include AbtProgressBar (EwProgressBar) to VA ST
41022 Problem resizing the information line in a Visual Parts Editor
41108 Change isMapped to isManaged in the TobFlatToolBarsWidgetsApp
41370 EmLibraryStatistics produces walkbacks when library being verified has problems
41545 VA Assist Inspector Variables List shows tool bar on only the right half of the window
41546 StsWorkspaceIndexedCollectionInspector has no Workspace Context Menu
41629 Tabbed Versions of Class Edition Methods Method Edition Browser
41671 Warning Message for circular constraints moved to give better information to user
41740 VA Smalltalk install fails on Windows 7 RC1
41785 Tabbed Browser text pane needs word wrap option
41786 Tabbed browsers and inspectors use the same superclass toolbar and information line methods
41787 StsApplicationManager uses an OS status line if on windows
41832 Opening a tabbed browser from an 'Implementors of' browser doesn't handle breakpoints
41884 Hover Help broken for Sliders
41888 StsTabbedClassesBrowserWin lost when disable and enable Va-Assist
42070 TranscriptTTY writes extra blank lines to the log file on Windows
42105 AbtTimedWait won't load in passive image
42338 Tabbed Toolbar leaks GDI objects
42453 AbtSplitWindowView does not show splitbar colors
42456 Integer>>#even is fast but Integer>>#odd is slow
42526 Promote commonly useful methods from SeasideVASTProloadApp to Kernel
42798 Dictionary>>#copy misbehaves
42817 Remove OS/2 as a Cross Development (XD) image type
42904 Walkback in AbtXmlStreamConverter>>convertStream:withEncoding:
42944 ExceptionalEvent>>#signalWithArguments: is missing a ^
43008 Different look and feel windows controls development image and runtime
43064 sstwsdl.xsd schema contains two syntax errors
43155 WAVASTPlatform>>#filesIn: returns incorrect results
43156 WAVASTPlatform doesn't handle Squeak method categories correctly
43201 Create loadable feature for VAStGoodies.com Tools
43385 Reference to StsWorkspaceInspectorWin in StsTabbedBrowserAppWin causes load error
43392 Class-based exception mapping to instance-based exceptions fails when #isResumable answer is not constant
43420 Spelling of HTTP Status Code 200 reason phrase breaks some proxies
43476 Change VM memory management from GlobalAlloc/Free to HeapAlloc/Free on Windows
43489 OLE Registry Browser does not print the property flag correctly
43490 OLE Registry Browser does not properly handle keys when a control is missing
43571 SstRmiRegistry>>#bind:to: incorrectly checks for existing entry
43620 DateAndTime class>>#from: has parsing error
43674 RRRfc822DateTime>>#encodeOn: should use English locale date names on all platforms
43689 ZeroDivide answers incorrect value on #return: or #resume:
43772 StsTabbedChangesBrowserWin produces extraneous debug output
44070 Doc error in Server Smalltalk Guide, Examples of Java RMI support
44082 SstPingPongRmi retrieves Java typing info from wrong app
The following sections list some important information about some of the components and features.
For the latest product information, please refer to Instantiations Smalltalk web page.
On AIX, turn NumLock off when dropping parts
Be sure that your numlock key is turned off if you are using the
composition editor. The numlock will prevent parts from being dropped
on the Composition Editor.
On UNIX, "X Error: BadWindow" message appears for Slider part
Each time the Slider part is repainted the "X Error: BadWindow (invalid Window parameter)"
message is printed in the xterm window where VA Smalltalk was launched.
The Slider part still functions normally.
(7.5.1) Configuration Map Browser enhancement to lineup management
Prior to this enhancement, the only support for reordering the required
maps lineup was to move selected maps to the beginning or the end of the lineup.
Now the Required Maps -> Move menu (and popup menu) provides 4 options --
Up and Down move the selected maps up or down one position in the lineup.
On MVS, INIs are optional for packaged applications. All other platforms, INIs are required for packaged applications
On MVS, an .ini file is optional. On all other platforms, an .ini file is required. The .ini file
may have the same name and be in the same directory as your executable (on Unix, the executable is
es or esnx). The .ini file can also have the same name and be in the same directory as your .icx or
In addition, you can specify your .ini file as a command line parameter. For example, you can
launch your program by typing the following:
abt -imyapp.icx -ini:c:\any.ini
(7.5.1) Support for more than 2GB memory on Windows
The executables (abt, nodialog, esvio, abtntsir, and abtntsrv) are linked
with the /LARGEADDRESSAWARE switch so that more than 2GB of memory can be
be referenced if the Windows environment is setup properly to support such
access. For information on how to setup the Windows environment to support
this capability, see the MSDN article titled "4GT RAM Tuning"
(8.0.1) Tabbed Browsers
Core tabbed browsers are available for Windows and UNIX: Class, Class hierarchy,
Class Shadow and Applications browsers.
Extensions to tabbed browsers available on Windows: Class Edition, Methods and
Method Edition Browsers.
(8.0.1) VerifyMemorySpaces, VerifyVMSlots, VerifyImage
VerifyMemorySpaces, VerifyVMSlots, VerifyImage can be used to identify Smalltalk
memory corruption. Since these primitives write to the TTY Transcript, the image
to be verified must be started with the '-l' commandline option in
order to collect the verification information. Before using these methods on the
UNIX platform, the use must execute the following Smalltalk expression:
No additional information at this time.
Get schema function on Stored Procedure Specification Settings
When using stored procedures with the new Oracle 8 database connection, the Get schema function on
the Stored Procedure Specification Settings view only works for procedures that are not contained
in packages. Users must manually define host variables for procedures that are contained in
On Unix, running Database Features
On Unix, if you are using database features and experience a core dump when exiting VA Smalltalk,
comment out the PlatformLibrary>>shutDown method. An alternative solution for your packaged
application is to execute the following code when exiting:
Oracle initialization mode can be changed without subclassing AbtOracle8DatabaseManager
Prior to this fix, the only provided method for changing the Oracle initialization mode was to
create a subclass of AbtOracle8DatabaseManager in order to override the #userDefinedInitializeMode
method. While this method is still available, it is now possible to change the default
initialization mode by setting a class variable. The provided method for doing this is
AbtOracle8DatabaseManager class>>#defaultInitializeMode: . The shipped default value is
OCI_DEFAULT, which is unchanged from previous VA Smalltalk version. See the comment in
AbtOracle8DatabaseManager class>>#defaultInitializeMode: for other possible values.
Prerequisite AbtRecordStructureApp in Database Applications
Some database applications will need to add a prerequisite for the AbtRecordStructureApp
application. Applications that use Database Parts will not need to add this prerequisite because
the parts will include the AbtRecordStructureApp application. If an application manipulates
instances of any of the subclasses of AbtRow, they will probably need to add this prerequisite.
If you package your application and get the error The attribute Pub <Attr name> does not
exist at runtime, you need to include the AbtRecordStructureApp application.
Display Resolution for DBCS machines
To ensure all information is displayed on your computer, we encourage you to use the highest
resolution offered by your display terminal.
Identifying browser and newsreader on Unix
If you get no response from Smalltalk when requesting Help (from the Help menu or F1),
the most likely cause is that the browser and/or the newsreader installed on the system
cannot be found. To correct this problem, edit the .ini file (for example, abt.ini)
and add links to the installed browser and/or newsreader in the [Help] stanza -- you
will see examples of specifying Firefox and Thunderbird. You can specify either a
complete path to the browser and/or newsreader (not usually necessary) or a relative path.
Starting online help on Unix
Enter the following URL one of the following into a Firefox browser:
Using an English version of Lotus Notes
The NLS versions of Lotus Notes must be installed on the native Operating System (OS) platforms, in
order for Notes to work. If a US-English version of Lotus Notes is installed on the native OS, then
the user will not be able to input either SBCS or DBCS characters correctly. This is a restriction
with Lotus Notes.
Error detaching documents using Domino Connection
When detaching a file attachment using the Domino connection, the detached file is corrupted. The
problem only shows up if the attachment is BASE64 encoded. Detaching the same attachment using the
Notes Client works fine. Detaching via Domino connection also works fine if the file has been
attached manually using the Notes Client.
EMSRV support for Windows NT/2000 on SMP hardware
There are no known current issues with multiprocessor boxes under any recent version of Windows
since Windows 2000. Under much older versions of Windows such as Windows NT, repository corruption
was observed on multiprocessor machines. It was never reproducible or diagnosed, but speculation
at the time was that the problem was a file sharing bug in Windows itself (that has likely been
long since corrected). As far as we know, no fix is necessary under any recent version of Windows.
As long as you us the -mp switch, you should not have any problem using EMSRV under any recent
version of Windows. We have had no reports of manager corruption in the past 5 years or more.
Many customers are running with the -mp override.
In any case you should always make sure to have a current backup available in case there is any
sort of problem.
If you are still concerned about this issue, you can always use a single processor box or use a
single-processor VMWare image.
Note: Without the override results in a warning
WARNING: Running EMSRV for Windows NT/2000 on multiprocessor hardware is not supported due to
suspected operating system bugs that may result in repository corruptions. Install and run EMSRV
on a machine with a single processor or start EMSRV with the -mp option to bypass this check.
Note: When starting with the -mp command line option, EMSRV will still report a warning to the console
(or to the Application Log if EMSRV is running as a service):
WARNING: Running EMSRV for Windows NT/2000 on multiprocessor hardware is not supported due to
suspected operating system bugs that may result in repository corruptions. You have chosen to
start EMSRV with the -mp option to bypass a check that normally restricts EMSRV from running on
multiprocessor hardware. This may cause repositories to become corrupted.
(7.5.2) Native password validation on Linux
EMSRV native password validation on Linux uses Pluggable Authentication Modules (PAM). The
sample PAM file shipped with VA Smalltalk is correct for older Linux distributions, but
does not work for newer distributions
Copying from Windows Explorer into an OLE Client part
Use copy and paste to share OLE objects between the Windows Explorer and an OLE Client part.
Dropping an OLE object that was dragged from the Windows Explorer onto an OLE Client part does not
No additional information at this time.
(7.5.1) HTTP server access log
An SST HTTP server can write an "access" log containing an entry for each request received by the
server. Entries in the log are formatted according to the default format used by the Apache HTTP
server in order to enable tooling for Apache logs to be used for SST logs as well.
The access log is initialized in SstHttpServer>>startUp. If an access log is desired, it can be
specified in 2 ways:
1. The application can send SstHttpServer>>accessLogFormatPolicy: AND SstHttpServer>>accessLog:
prior to sending SstHttpServer>>startUp.
2. The application can be started with the following command line switch: -sstaccesslog. This will
cause a log file named httpd.log to be written in the current directory.
Performance improvement in writing walkback log
By default, when an error occurs, the walkback information is written to TranscriptTTY.
This causes the walkback information to be written to the console or to a log file identified
by the -l command line option. Since TranscriptTTY does unbuffered character-at-a-time output,
it can be very time consuming to write a large volume of walkback information.
For VisualAge Smalltalk V5.5.2 and later, an alternative output mechanism is provided. When it is
enabled, this mechanism writes the walkback information to a file stream just as would be done for
a Reduced Runtime image. This is a buffered operation which can be more than an order of magnitude
faster than writing to TranscriptTTY.
To enable writing the walkback information to a file stream, you must provide the startUp class
with the filename of the file to be associated with the file stream. For example, to see the
difference in behavior, create an XD image and load the HelloWorld application. Then package it
specifying AbtHeadlessRuntimeStartUp as the image startup class and HelloWorld haltHelloWorld
as the application entry point. When you execute the packaged application, a walkback will be
written using TranscriptTTY. However if you specify:
System image startUpClass walkbackFileName: 'runtimeWB.log'
before you package, the walkback will be written to the runtimeWB.log file.
SST IIOP Support is Obsolete
CORBA IIOP facilities provided by SST in previous releases are obsolete as of this release. The
implementation provided in previous releases continues to be shipped with this release, but all
methods have been recategorized as 'OBSOLETE'. There will be no further development or enhancement
of these facilities, and they may be removed from the product in a future release.
Customer applications which made use of these facilities in a previous release will continue to be
supported as they are migrated to this current release.
Customers are advised to make use of Web Services technologies, such as XML and WSDL, for future
Support for JDK 1.4 and JDK 1.5 using RMI
The RMI in Server Smalltalk has been tested with JDK 1.3 through JDK1.5, using the same techniques
that were required for JDK 1.2.
Using XD Interactive Debugger over TCP/IP with no nameserver
When trying to use the interactive debugger, if you are getting the error EHOSTNOTFOUND or
EADDRNOTAVAIL on the runtime side, the problem may be that your runtime machine cannot resolve the
dotted TCP/IP address of your development machine. You can work around this problem by adding an
entry to the hosts file on the runtime machine for your development machine.
Uninstalling VA Assist
Uninstalling VA Assist is a bit involved. To uninstall the feature,
1. Start with an image named the generic name: abt.icx.
2. Launch the image.
3. Disable VA Assist (From the Transcript choose Tools -> VA Assist Pro -> Disable.)
4. Save (using the Transcript -> Save) and restart the image.
5. Uninstall the feature. There are two ways to do this:
a) From the Transcript choose Tools -> Load/Unload Features...
Select VA_ VA Assist Pro from the right pane and move it with the << button to the
left pane. Dismiss the dialog with an OK.
b) From the Transcript choose Tools -> VA Assist Pro ->Uninstall.
6. Save the image using the Transcript -> Save.
7. If you renamed your image, restore its former name.
Web Connection does not support DBCS char for Cookies
DBCS cookies are not supported using the Servlet Interface. This is a limitation of the HTTP
(8.0) Deserialization of a SOAP Envelope failed when the defining schema contained an element using a ref attribute referring to an imported schema
Consider the following excerpt from the schema and mapping specs:
<?xml version="1.0" encoding="UTF-8"?>
<xs:import namespace="http://exampleSchemas.com/StatusSchema" schemaLocation="StatusSchema.xsd"/>
<xs:element name="SessionRequest" type="StartSessionRequestType"/>
<xs:element name="SessionResponse" type="StartSessionResponseType"/>
<xs:element ref="ais:Status" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SessID" type="xs:string" minOccurs="0"/>
Mapping Spec for SessionRequest:
<!DOCTYPE XmlMappingSpec SYSTEM "abtxmap.dtd">
<!-- NameSpaceURI must match with the namespace on the Schema -->
<XmlMappingSpec Name="StartSession.map" NameSpaceURI="http://exampleSchemas.com/thisSchema" >
<ClassTypeMapping TypeName="SessionRequest" ClassName="ExStartSessionRequest"/>
<ClassTypeMapping TypeName="SessionResponse" ClassName="ExStartSessionResponse">
<AttributeMapping ClassAttribute="status" NameSpaceURI="http://exampleSchemas.com/StatusSchema">
Mapping Spec for Status:
<!DOCTYPE XmlMappingSpec SYSTEM "abtxmap.dtd">
<!-- NameSpaceURI must match with the namespace on the Schema -->
<XmlMappingSpec Name="TransactionStatus.map" NameSpaceURI="http://exampleSchemas.com/StatusSchema">
<ClassTypeMapping TypeName="Status" ClassName="ExStatus">
After deploying the web service and sending a request, the web services framework did not
deserialize this response:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
It reported the error:
"XML mapping error ##ObjectInitializationError: ''Unable to process element ''''TransactionStatus''''''' ".
The problem occurred because the code considered the Status element to be in the
"http://exampleSchemas.com/thisSchema" namespace, not in the namespace of the imported schema.
The framework was modified to take into account the namespace of the prefix on an element with a ref
(8.0) WSDL deployment fails when a schema attempts to import a schema which is already being imported
The schema parser in VA Smalltalk is recursive. Whenever a schema import is encountered, a
new parser is created which begins to parse that schema. The new parser is added to a stack.
This process continues until there are no more schemas to be imported; then the final schema
import is completed. The previous import is then completed until the stack is unwoundd. If
an imported schema imports a schema which has already been imported by a previous schema, an
infinite loop results and an out of memory condition is encountered.
WSDL A imports Schema A.
Schema A imports Schema B.
Schema B imports Schema A.
Modifications were made to track schemas which have currently begun to be imported and to skip duplicate
(8.0) WSDL and imported schemas using the document/literal or document/literal wrapped style are not deployed/serialized properly
The typical error message in this situation occurs during deployment with the message:
'The type an AbtXmlQName(requestheader:WachoviaRequestHeader) for WSDL part ''SomeWSDLPart'' could not be determined'
The problem occurred when the "document/literal wrapped" style of wsdl was used and the element
was defined in an imported namespace, e.g.,
<xs:import namespace="myNamespace2" schemaLocation="C:\aSchemaLocation"/>
<wsdl:part element="importedNamespace:Request" name="Request"/>
An instance of the SstWsdlDefinitions class contains the parsed artifacts of the web service including
the schemas defined or imported in the types section. WsdlDefinitions has an instance variable "types"
which contains an instance of the SstWsdlTypes class. namespacemappings instance variable. During parsing
of the types section, schema namepsaces were added to a dictionary assigned to this variable. The schemas
themselves were placed into the schemas instance variable. Only namespaces of schemas defined wtihin the section
and schemas directly imported within the types section are included. However, these imported schemas often
import other schemas. The imported schema's namespaces and prefixes are not assigned to the schemas dictionary;
they appear in the WsdlDefinitons types instance variable in its imports dictionary. Since this dictionary is
not searched during the deserailziation/serialization process, nor during the wsdl message parsing process, web
services with this type of schema importation could not be deployed or serialized/deserialized.
Code was added to cache all namespaces contained in imported schemas during parsing; when all schemas were
imported, iterate through the cache and:
1. place all namespaces into the SsdWsdlDefinitions namespaceMappings Dictionary
2. place all schemas in the SstWsdlTypes schemas dictionary
All necessary namespaces were not included in the Soap request envelope if imported namespaces and
schemas were needed to fully define the request.
Code was added to examine all schema elements included in the request and to add their namespaces to
the Soap envelope.
In order to retain backward compatibility, the new processing has been made optional on a container--wide
basis. To use it, create a container using:
(8.0) An Element with a ref attribute referring to another namespace was
serialized incorrectly in the SOAP Envelope
A schema element which contained a ref attribute to a type in another namespace was not serialized with
the correct prefix in the Soap request envelope.
Consider the following excerpt from a schema:
<xs:schema xmlns:thisNamespace ="http://thisnnamespace.net/"
<xs:import namespace="http://customer.net/" schemaLocation="C:\theSchemaLocationl"/>
Prior to V8.0, the SOAP serialization would produce the following in a request envelope:
The code has been modified to result in the request envelope:
Since the Customer complex type is imported from the "http://customer.net/" namespace, the prefix for cust:
should be used to qualify it.
(8.0.1) web services XML directory
The default resource qualifier is <varoot>/xml where <varoot> is the installation directory.
A problem occurs on Unix if a web service attempts to write into this directory since normally
this directory can only be written into by the root user. The solution is to change permission
on the /xml directory and its content files to 766.
The same problem ocurs on Windows 7 and Vista with UAC active.
(8.0.1) Level of code
Seaside 3.0 alpha5 level of function is delivered in this release. This includes
the following applications (packages):
* Slime (Refactoring Browser Smalllint extensions)
* Web Tools
* Testing (SUnit and browser testcases)
(8.0.1) Seaside Support Documentation
Seaside support is documented in "Dynamic Web development with Seaside"
* No flow Support
* No Unicode support
XML code page conversion (unsupported encodings)
The XML parser automatically performs code page conversion before attempting to parse an XML
stream. Many code pages are handled seamlessly using the default code page conversion routine of
the runtime operating system. However, there are some character encodings that cannot be converted.
Unsupported code page conversions cause walkbacks at execution time.
The following code pages are not supported:
* EUC_JP conversion is not properly supported by native Windows code page routines.
* The code page ISO-2022-JP is not supported by native routines
The VA Smalltalk XML support attempts to map XML character set encodings to valid code pages. The
default mappings can be overridden using the API shown in the following example:
AbtXmlStreamConverter mapEncoding: 'UTF-8' toCodePage: 65001.
VA Smalltalk uses the code page conversion support APIs that are built in to each of the supported
platforms. Therefore, code page mappings may be different for different operating systems. If you
encounter a debugger with the following message it is likely that you have encountered an unmapped
or mismapped encoding.
Abt.Nls.160.e: Conversion from code page <sourceCodePage> to code page <targetCodePage> is not
THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. INSTANTIATIONS DISCLAIMS
ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND MERCHANTABILITY
WITH RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISHING THIS DOCUMENT,
INSTANTIATIONS GRANTS NO LICENSES TO ANY PATENTS OR COPYRIGHTS.
(C) Copyright Instantiations Corporation 2005, 2009. All rights reserved.