Home             Free Software             Software Support             Training             Conferences                    

  Stonebroom.ASP2XML Technical Support

The product support pages contain information about the topics which arise most frequently. If you need more help or wish to report a problem with ASP2XML or any of our other products please mail us directly at support@stonebroom.com. You can also use the contact details on the home page to submit comments, suggestions, or technical queries.


Using ASP2XML under the .NET Framework.

The ASP2XML component is not specifically designed for use under the Microsoft .NET Framework. It is a standard COM DLL, and so will require you to run any managed code application or ASP.NET page that uses it in "compatibility" mode (i.e. include AspCompat="true" in the <%@Page ... %> directive). Alternatively you can use the .NET TLBIMP utility to create a managed code wrapper for the component. However, please note that we cannot provide support for issues that arise in conjunction with using the component within a .NET application.


Checking the component version number.

If you are having problems with ASP2XML, you should check the component version number and include this with your inquiry. The component file is asp2xml.dll, which is installed by default in your Winnt\System32 folder. To check which version you have installed:

  • Open the Winnt\System32 folder and select the file asp2xml.dll.
  • Right-click on it, select Properties, and open the Version page.
  • The version number is shown at the top of this page, in the format xx.xxxx

Changed features in version 1.1x.

If you have used a previous version of ASP2XML, you will find that the new version has some differences:

  • The component can now create XML documents using the getXML method that don't contain any data type attributes. This makes them easier to use with databinding and ADO scripting in Internet Explorer 5 when loaded into a data island.
  • The component now supports the addition of custom namespaces to the XML document created by the getXML method.
  • The putXML method has been updated to accept files containing namespaces, and files that do not contain data type attributes.
The component itself is version-compatible with earlier components, and has the same class string of 'Stonebroom.ASP2XML'. However, the XML it creates is slightly different, and so existing applications may need minor changes. In particular, the name of the data type attribute has changed from DataType to A2X_DataType in line with the other custom element names.
Changed features in version 1.3x.

Version 1.3 of ASP2XML added a new data integrity checking feature, where the component only updates the original data if it has not changed since the XML document was created. This feature can be disabled to allow compatible behavior with earlier applications.

Other than that, the component itself is version-compatible with earlier components, and has the same class string of 'Stonebroom.ASP2XML'. However, the XML it creates is different, and so existing applications may need minor changes. In particular, by default, the XML contains the new A2X_Original_fieldname elements.


Changed features in version 1.4x.

Version 1.4 of ASP2XML added a new optional parameter to both the getXML and putXML methods. The default value for these parameters (if omitted) is True.

The new getXML Boolean parameter is HTMLEncode, which forces the values extracted from the database to be output with all characters that are not legal in XML replaced by the equivalent entity reference, i.e. all '<', '>', '&' and accented or special characters and are replaced by the legal XML equivalents.

The new putXML Boolean parameter is HTMLUnEncode, which forces any HTML-encoded characters in the source XML to be converted from into the original characters before being placed into the the database.


Obtaining the latest version.

The file that has changed is asp2xml.dll, which is installed by default in your Winnt\System32 folder. The current versions of this file are 1.40 (evaluation version) and 1.41 (full version). To check which version you have installed:

  • Open the Winnt\System32 folder and select the file asp2xml.dll.
  • Right-click on it, select Properties, and open the Version page.
If the File Version entry is earlier than the current version, you can obtain an upgrade by contacting us at sales@stonebroom.com. We require the name of the distributor where you obtained the component, the date of purchase, and the invoice/order number. You can download the updated evaluation component DLL here.

See the topic Checking the component version number for help on determining the version number of the components on your system. See the topic Replacing or deleting the ASP2XML DLL file for help on updating or replacing existing component files.


ODBC or SQL Error: 'Can't find item in collection'.

The getXML method of the component creates a recordset from your data source, based on the values you provide for the parameters when you call the method. It then converts the recordset into an XML document, and inserts into this document special elements that define the individual record- using its record key field values. Because of the way the component works, these fields must always appear in the recordset that is created internally by the component. This means that they must be included in the specification of the document that will the created by the getXML method.

In effect, this means that you must always ensure that either the SQLQueryString or the FieldList parameter (whichever you are using) includes these fields or specifies all fields using the asterisk (*) character. If you omit both the SQLQueryString and FieldList parameters, the component will include all the fields in the XML document automatically.


ASP2XML Error: Cannot create output file.

If you are writing the XML document to a disk file, the ASP2XML component requires appropriate disk access permissions to be able to create the file. If you encounter the message:

ASP2XML Error: Cannot create output file: xxxxxxxx.xxx

you will need to edit the Permissions list in the Properties dialog for the directory specified as the DiskFileName parameter (using Windows NT Explorer). Give the account that will use the component Write or Full Control permission. If the component is being accessed anonymously, the account in use will be either IUSR_machinename or IWAM_machinename depending on whether you have installed the component as a Virtual Application in Internet Service Manager.


I can't replace or delete the ASP2XML DLL file.

Windows NT and the Web server cache the components they use in memory, and lock them so that they cannot be moved or deleted while in use. In some cases stopping and restarting the Web server may release the component. Otherwise restarting Windows or rebooting the server will do the trick. To avoid this problem, if you are using Internet Information Server 4 or higher, you can create Virtual Applications and place all your ASP pages that use the component inside this folder. It's then possible to unload the component from memory using the Properties dialog of the Virtual Application folder in Internet Service Manager.


How do I view the documentation from a remote machine?

The documentation and sample pages for ASP2XML are found in the directory where you installed the component. By default this is C:\Program Files\Stonebroom\ASP2XML. To make these files available through the Web server so that you can view them from another machine, you can either copy them into a directory underneath your WWWRoot directory, or create a virtual root (or Alias) that points to the directory containing the files. Make sure that you specify 'Script Executable' permission for the directory. If you only want to view the HTML documentation pages you don't need to specify Executable permission for the directory.


Runtime error 800a01ad 'ActiveX component can't create object'.

This general error message can be caused by many things. To cure it, try the following:

  • Make sure you are using Server.CreateObject() in VBScript in ASP pages. CreateObject() alone should only be used in Visual Basic.
  • If you are running the object in a separate process in IIS4, it may be that MTS has become confused and is holding an invalid object pointer. Try unloading the object using the Properties dialog of the virtual application directory. Otherwise reboot the server.
  • Alternatively, it might be that the DLL has been moved or deleted, or that for some reason the registered information is wrong. Re-register the DLL (probably in Winnt\System32) using the RegSvr32 utility:

    regsvr32 path_to_dll\asp2xml.dll

Finally, if you've got any suggestions - or any comments on ASP2XML generally - we'd love to hear from you.


Home | Free utilities | Software support | Training | Conferences | Contact
  ©2013 Stonebroom Limited, England