MORE INFORMATION
If you want to use the Systinet WASP 4.6 development toolset
to create applications that communicate with SQL Server 2005, we highly
recommend that you use the simple Web Services Description Language (WSDL)
document instead of the default (extended) WSDL document. You can retrieve the
simple WSDL document by including the "?wsdlsimple" query string at the end of
the URL. For example, use a URL that is similar to the following URL:
http://server/endpoint?wsdlsimple
SQL Server 2005 requires correct Microsoft Windows NT
authentication before you can retrieve the WSDL document. For the Systinet WASP 4.6 development toolset to import
the WSDL document, you may have to retrieve the WSDL document and then save the
WSDL document as a file or as a Web page.
The following
interoperability issues may occur when you use the Systinet WASP 4.6
development toolset together with native HTTP SOAP support in SQL Server 2005.
You may have to modify the XML Schema
definition for the SqlRowSet complex type
For the Systinet WASP 4.6
development toolset to correctly parse the default (extended) WSDL document
that SQL Server 2005 generates, you may have to modify the XML Schema
definition language (XSD) schema definition for the
SqlRowSet complex type. The XML Schema definition that SQL Server 2005
generates is similar to the following code example.
<xsd:complexType name="SqlRowSet">
<xsd:sequence maxOccurs="unbounded">
<xsd:element ref="xsd:schema" />
<xsd:any />
</xsd:sequence>
</xsd:complexType>
You may have to modify the schema to the following code example.
<xsd:complexType name="SqlRowSet">
<xsd:sequence>
<xsd:any minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
The proxy class code that is generated by the Systinet WASP 4.6
development toolset WSDL tool requires a workaround to correctly compile
The Systinet WASP 4.6
development toolset WSDL tool generates a C++ client-side proxy class code
for the
SqlTransaction type in the following
struct statement.
struct EXTENDEDDLL_API Type
{
enum Type {
Begin
, Commit
, Rollback
, EnlistDTC
, Defect
};
};
This code causes a compile error, and you receive the following error
message:
error C2580: redefinition of class name
'Type::Type'
To work around this issue, change the name of the
struct definition. Then, apply the name change to the rest of the code as
shown in the following code example.
struct EXTENDEDDLL_API SqlTransactionType
{
enum Type {
Begin
, Commit
, Rollback
, EnlistDTC
, Defect
};
};
The Systinet WASP 4.6
development toolset generates the client proxy code where the deserialization function for a type that is defined as a sequence of the <xsd:any> element causes a runtime exception
A runtime exception occurs when the Systinet WASP 4.6
development toolset parses the server response.
Because the Systinet WASP 4.6
development toolset requires a strongly defined structure, some generic structures
such as the
SqlRowSet type and the
SqlXml type are not correctly handled by the WASP-generated
deserialization function. The
SqlRowSet type and the
SqlXml type are defined as a sequence of the
<xsd:any> element.
Regardless of whether the default (extended)
WSDL document or the simple WSDL document is used to generate the client-side
code, the server response format is defined as the
<xsd:any> element. The WASP-generated
deserialization function looks for an element that is named "any" instead of
interpreting the concept of the
<xsd:any> element.
The Systinet WASP 4.6
development toolset handles the SQL Server Datetime data type as the WASP DateTime data type
The Systinet WASP 4.6
development toolset handles the SQL
Server
Datetime data type that is defined in the default (extended) WSDL document
and translates the SQL Server
Datetime data type into the WASP
DateTime data type. The WASP
DateTime data type serializes values into the
xsd:datetime data type format. However, the SQL
Server
Datetime data type does not support the same serialization format as the
xsd:datetime data type.
To work around this issue, use the simple
WSDL document where the SQL Server
Datetime data type is defined as the
xsd:string data type.
The Systinet WASP 4.6
development toolset
handles the sql_variant data type as an XML element, and this causes the
client application to throw an exception
The Systinet WASP 4.6
development toolset handles the
sql_variant data type as an XML element. The XML element does not allow for
text values. Therefore, the client application throws an exception when the
client application tries to parse the server response and looks for the "start
element" text value.
The WASP-generated class serializer for the typed XML parameter data
type throws an access violation when the WASP client application sends the request
At runtime, when the WASP client application is serializing the
typed XML parameter class into XML, an access violation is
thrown.
The
third-party products that this article discusses are manufactured by companies
that are independent of Microsoft. Microsoft makes no warranty, implied or
otherwise, regarding the performance or reliability of these products.