WSDL Wizard for PocketSOAP
This release contains support for generating proxies for rpc/encoded and document/literal services, complexTypes and custom serializers for those types are constructed from the WSDL and XSD schema information. The proxy object is generated in form of a VB6 project, a future release should contain support for additional languages (such as eVC).
Download the wsdlWiz.2.3.0.exe (255k) file and run it, this will install both a GUI based wizard and a command line tool.
GUI Tool Usage
A shortcut to the GUI tool is installed on the start menu, click this to start the GUI Wizard, you'll be prompted with the following dialog
Enter the URL to the WSDL file in the top entry box, and enter or choice a directory where the VB6 project should be generated. Once both are set hit the next button, the Wizard will parse the WSDL and present a list of PortTypes defined in the WSDL, you can then select which ones to include in your project, by default all portTypes are selected.
The wizard will now present you with a list of operations in all the PortTypes, select which ones to include in the project, by default all are selected.
Now the wizard will generate the code for the selected portTypes and operations, there will be a class generated for each portType, each complex type and a custom serializer class for each complex type, a .vbp project file is also generated. Once its finished generating code, you can now open the project in VB6 and compile the project to a COM DLL.
Command Line Usage
In addition to the GUI wizard, there is also a command line tool available, this is called wsdl-cl.exe.
Usage: wsdl-cl [@argfile] [/?|h|help] [/v|version] <wsdl> [/port <value>] [/fiximports] [/project <value>] [/class <value>] [/proxy <value>] [/proxyPort <value>] @argfile Read arguments from a file. /? Show usage. /v Show version. wsdl The URL or FileName of the source WSDL document /port <value> The name of the port to generate a proxy for /fiximports Fix missing xsd:imports for the soap-enc namespace /project <value> Overrides the name of the generated project /class <value> Overrides teh name of the generated proxy class /proxy <value> Specifies a proxy server name [only used in the generated code] /proxyPort <value> Specifies a proxy server port# [only used in the generated code]e.g.
- relative import paths only support "file.xsd" and "/file.wsdl" not "../../file.wsdl"
- GUI tool has no indicatation that it's busy parsing the WSDL file.
- no support for rpc/literal or document/encoded services.
- Not all of XSD is currently supported [notable exceptions include list and choice]
- in/out parameters are not currently supported.
- Multiple XSD schema's must use import correctly, many generated WSDL's do not currently generate all the required import statements.
- Multiple related schema's will sometimes fail with missing type declaration errors, this has been confirmed as a MSXML4.0 bug.
2.3.0 May 9, 2004
- Fixed mapping of xsd:base64Binary to byte() in doc/literal projects.
- Fixed having the GUI override the name of the generated project.
- Headers are now only serailized into the generated SOAP message if they are not null (rather than being serailized as xsi:nil='true').
- Arrays of strings that might be null for doc/literal messages won't fail during deserialization.
- Uninitialized arrays no longer generate errors during serialization.
2.2.1 Jan 28, 2004
- Fixed problem running on Windows 98.
2.2 Jan 5, 2004
- Support for complex type heirarchies.
- Fixed bug with it assuming headers will always be doc/literal.
- Improved support for xsi:nil.
2.0.1, May 1, 2003
- Added missing mapping for VT_DECIMAL.
- Added call to the list keywords that need their name adjusting.
2.0, March 21, 2003
- Minor performance tweak to the generated deserializer code.
RC1, December 28, 2002
- Added support for generating SOAP headers.
- Changed how optional elements are handled, rather than an array, they now generate a property and a second property that indicates if the element occured or not.
Beta 3, June 9, 2002
- Added support for enumerations.
- Fixed a bug in the command line tool where it would fail to reports errors that occured during the code generation phase.
- The generated serializers for complexTypes no longer generate dead code.
Beta 2, May 25, 2002
- Command line tool re-written to not require the .NET runtime.
- WSDL and XSD parsing errors are now reported correctly.
- A few minor bugs with the code generator have been fixed.
- The commandline tool now has a /fixImports option that will inject
element for the soap encoding namespace into schema's that are missing it. [These schemas are wrong, but this is a common problem]