Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP .Net Web Services (http://www.velocityreviews.com/forums/f64-asp-net-web-services.html)
-   -   XML Web Service fails with System.InvalidOperationException returning a DataSet with RowErrors (http://www.velocityreviews.com/forums/t781530-xml-web-service-fails-with-system-invalidoperationexception-returning-a-dataset-with-rowerrors.html)

Curly 08-19-2003 07:11 AM

XML Web Service fails with System.InvalidOperationException returning a DataSet with RowErrors
 
QuickStart app "Update.EXE"
(installed to C:\Program Files\Microsoft Visual Studio .NET
2003\SDK\v1.1\QuickStart\winforms\samples\data\upd ate\cs)

....fails with the following error message when row 4
(key/customer ID "LETSS") or row 12 (key/customer ID "TRAIH") is
modified and saved.

This exception should not be raised.

Instead, the DataSet should be returned to the calling client
program so that it can report the RowErrors to the user.
(lines 392 thru 404 of UpdateForm.cs)

These rows contain apostrophes (') in the CompanyName column and
the Web Service UpdateCustomers.asmx contains code that
validates the columns checks for invalid characters using
Acme.InputValidator.IsSafeText()
The web service sets row.RowError and calls row.SetColumnError()
(lines 116 and 117 of UpdateCustomers.asmx.cs)

When these RowErrors are returned to the calling client, an
unexpected exception is raised as below:

"System.InvalidOperationException: There is an error in XML
document (1, 2556). ---> System.NullReferenceException: Object
reference not set to an instance of an object.\r\n at
System.Xml.Serialization.XmlSerializationReader.Un knownNode(XmlNo
de unknownNode, Object o)\r\n at
System.Xml.Serialization.XmlSerializationReader.Un knownNode(Objec
t o)\r\n at
Microsoft.Xml.Serialization.GeneratedAssembly.XmlS erializationRea
der1 .Read3_SaveResponse()\r\n --- End of inner exception
stack trace -- -\r\n at
System.Xml.Serialization.XmlSerializer.Deserialize (XmlReader
xmlReader, String encodingStyle)\r\n at
System.Xml.Serialization.XmlSerializer.Deserialize (XmlReader
xmlReader)\r\n at
System.Web.Services.Protocols.SoapHttpClientProtoc ol.ReadResponse
(Soa pClientMessage message, WebResponse response, Stream
responseStream, Boolean asyncCall)\r\n at
System.Web.Services.Protocols.SoapHttpClientProtoc ol.Invoke(Strin
g methodName, Object[] parameters)\r\n at
Microsoft.Samples.Windows.Forms.Cs.Update.localhos t.UpdateCustome
rs.S ave(DataSet customersDataSet) in C:\\Program
Files\\Microsoft Visual Studio .NET
2003\\SDK\\v1.1\\QuickStart\\winforms\\samples\\da ta\\update\\cs\
\Cli ent\\Web References\\localhost\\UpdateCustomers.cs:line
31\r\n at
Microsoft.Samples.Windows.Forms.Cs.Update.UpdateFo rm.SaveData()
in c:\\program files\\microsoft visual studio .net
2003\\sdk\\v1.1\\quickstart\\winforms\\samples\\da ta\\update\\cs\
\cli ent\\updateform.cs:line 211\r\n at
Microsoft.Samples.Windows.Forms.Cs.Update.UpdateFo rm.buttonSave_C
lick (Object sender, EventArgs e) in c:\\program
files\\microsoft visual studio .net
2003\\sdk\\v1.1\\quickstart\\winforms\\samples\\da ta\\update\\cs\
\cli ent\\updateform.cs:line 389"

To reproduce this:
- Open solution "Update.sln" in the QuickStart... directory (see
"installed to" directory above)
- F5 (Start)
- Click ">" (next) on the VCR until CustomerID "LETSS",
CompanyName "Let's Stop N Shop" is displayed
* Add a single SPACE to the end of any field.
- Press "Save" button.

-- Mark
Visual Studio .NET 2003 version 7.1.3088
Microsoft .NET Framework 1.1 version 1.1.4322
Windows 2000 Server 5.00.2195 SP4 253,424KB RAM



All times are GMT. The time now is 07:46 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.