Hi All,
My C# web application calls a webservice to process a report. It sends XMLs as parameter and in response gets an XML node which stores Binay datatype bin.base64.
It makes an instance of the proxy class of webservice and makes a synchronous call to webservice GetReport() op.
Here is the code snippet -
*************** *************** *************** *************** *************** ************
wbFELIP.wsZProc essReport.Proce ssReport report = new wbFELIP.wsZProc essReport.Proce ssReport();
System.Xml.XmlN ode rptData = null;
rptData = report.GetRepor t(strXmlReportR equest) ;
*************** *************** *************** *************** *************** **********
WSDL -
[System.Web.Serv ices.Protocols. SoapDocumentMet hodAttribute("h ttp://tempuri.org/GetReport", RequestNamespac e="http://tempuri.org/", ResponseNamespa ce="http://tempuri.org/", Use=System.Web. Services.Descri ption.SoapBindi ngUse.Literal, ParameterStyle= System.Web.Serv ices.Protocols. SoapParameterSt yle.Wrapped)]
public System.Xml.XmlN ode GetReport(strin g vXML) {
object[] results = this.Invoke("Ge tReport", new object[] {
vXML});
return ((System.Xml.Xm lNode)(results[0]));
}
/// <remarks/>
public System.IAsyncRe sult BeginGetReport( string vXML, System.AsyncCal lback callback, object asyncState) {
return this.BeginInvok e("GetReport" , new object[] {
vXML}, callback, asyncState);
}
/// <remarks/>
public System.Xml.XmlN ode EndGetReport(Sy stem.IAsyncResu lt asyncResult) {
object[] results = this.EndInvoke( asyncResult);
return ((System.Xml.Xm lNode)(results[0]));
}
*************** *************** *************** *************** *************** **********
The above code was working fine since last 3 years but now it is returns error,
"Non-negative number required.\r\nPa rameter name: byteCount" .
--
Here is Stack Trace -
" at System.Xml.Seri alization.XmlSe rializer.Deseri alize(XmlReader xmlReader, String encodingStyle, XmlDeserializat ionEvents events)\r\n at System.Xml.Seri alization.XmlSe rializer.Deseri alize(XmlReader xmlReader, XmlDeserializat ionEvents events)\r\n at System.Xml.Seri alization.XmlSe rializer.Deseri alize(XmlReader xmlReader)\r\n at System.Web.Serv ices.Protocols. SoapHttpClientP rotocol.ReadRes ponse(SoapClien tMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)\r\n at System.Web.Serv ices.Protocols. SoapHttpClientP rotocol.Invoke( String methodName, Object[] parameters)\r\n at wbFELIP.wsZProc essReport.Proce ssReport.GetRep ort(String vXML) in c:\\inetpub\\ww wroot\\wbfelip\ \web references\\wsz processreport\\ reference.cs:li ne 43\r\n at wbFELIP.ReportR equestForm.btnR etrieveReport_C lick(Object sender, EventArgs evt) in c:\\inetpub\\ww wroot\\wbfelip\ \reportrequestf orm.aspx.cs:lin e 710"
ex1.InnerExcept ion
{"Non-negative number required.\r\nPa rameter name: byteCount" }
[System.Argument OutOfRangeExcep tion]: {"Non-negative number required.\r\nPa rameter name: byteCount" }
System.Object: {System.Argumen tOutOfRangeExce ption}
_className: null
_COMPlusExcepti onCode: -532459699
_exceptionMetho d: {System.Reflect ion.RuntimeMeth odInfo}
_exceptionMetho dString: null
_helpURL: null
_HResult: -2146233086
_innerException : { }
_message: "Non-negative number required."
_remoteStackInd ex: 0
_remoteStackTra ceString: null
_source: "mscorlib"
_stackTrace: {System.Array}
_stackTraceStri ng: " at System.Text.UTF 8Encoding.GetCh ars(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex, UTF8Decoder decoder)\r\n at System.Text.UTF 8Decoder.GetCha rs(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex)\r\n at System.IO.Strea mReader.ReadBuf fer(Char[] userBuffer, Int32 userOffset, Int32 desiredChars, Boolean& readToUserBuffe r)\r\n at System.IO.Strea mReader.Read(Ch ar[] buffer, Int32 index, Int32 count)\r\n at System.Xml.XmlS canner.Read()\r \n at System.Xml.XmlS canner.ScanCont ent()\r\n at System.Xml.XmlT extReader.Parse BeginTagExpandC harEntities()\r \n at System.Xml.XmlT extReader.Read( )\r\n at System.Xml.XmlL oader.LoadChild ren(XmlNode parent)\r\n at System.Xml.XmlL oader.LoadEleme ntNode()\r\n at System.Xml.XmlL oader.LoadCurre ntNode()\r\n at System.Xml.XmlL oader.LoadChild ren(XmlNode parent)\r\n at System.Xml.XmlL oader.LoadEleme ntNode()\r\n at System.Xml.XmlL oader.LoadCurre ntNode()\r\n at System.Xml.XmlL oader.Rea
dCurrentNode(Xm lDocument doc, XmlReader reader)\r\n at System.Xml.XmlD ocument.ReadNod e(XmlReader reader)\r\n at System.Xml.Seri alization.XmlSe rializationRead er.ReadXmlNode( Boolean wrapped)\r\n at Microsoft.Xml.S erialization.Ge neratedAssembly .XmlSerializati onReader1.Read3 _GetReportRespo nse()"
_xcode: -532459699
_xptrs: 0
HelpLink: null
HResult: -2146233086
InnerException: { }
Message: "Non-negative number required.\r\nPa rameter name: byteCount"
Source: "mscorlib"
StackTrace: " at System.Text.UTF 8Encoding.GetCh ars(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex, UTF8Decoder decoder)\r\n at System.Text.UTF 8Decoder.GetCha rs(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex)\r\n at System.IO.Strea mReader.ReadBuf fer(Char[] userBuffer, Int32 userOffset, Int32 desiredChars, Boolean& readToUserBuffe r)\r\n at System.IO.Strea mReader.Read(Ch ar[] buffer, Int32 index, Int32 count)\r\n at System.Xml.XmlS canner.Read()\r \n at System.Xml.XmlS canner.ScanCont ent()\r\n at System.Xml.XmlT extReader.Parse BeginTagExpandC harEntities()\r \n at System.Xml.XmlT extReader.Read( )\r\n at System.Xml.XmlL oader.LoadChild ren(XmlNode parent)\r\n at System.Xml.XmlL oader.LoadEleme ntNode()\r\n at System.Xml.XmlL oader.LoadCurre ntNode()\r\n at System.Xml.XmlL oader.LoadChild ren(XmlNode parent)\r\n at System.Xml.XmlL oader.LoadEleme ntNode()\r\n at System.Xml.XmlL oader.LoadCurre ntNode()\r\n at System.Xml.XmlL oader.ReadCurre n
tNode(XmlDocume nt doc, XmlReader reader)\r\n at System.Xml.XmlD ocument.ReadNod e(XmlReader reader)\r\n at System.Xml.Seri alization.XmlSe rializationRead er.ReadXmlNode( Boolean wrapped)\r\n at Microsoft.Xml.S erialization.Ge neratedAssembly .XmlSerializati onReader1.Read3 _GetReportRespo nse()"
TargetSite: {System.Reflect ion.RuntimeMeth odInfo}
------------------------------------------------------------------------------------------------------------
To make sure I refreshed the WSDL , but still getting same error. I am able to create reports using the webservice in ASP using Get method. Moreover I spoke to webservice administrators , they can see the SOAP request coming on webserver and response is also getting genereated successfully. But I don't know what's wrong in my application code. I googled a lot to find but didn't get any clue.
Any kind of help on this issue will greatly be appreciated !
Regards,
Santosh
My C# web application calls a webservice to process a report. It sends XMLs as parameter and in response gets an XML node which stores Binay datatype bin.base64.
It makes an instance of the proxy class of webservice and makes a synchronous call to webservice GetReport() op.
Here is the code snippet -
*************** *************** *************** *************** *************** ************
wbFELIP.wsZProc essReport.Proce ssReport report = new wbFELIP.wsZProc essReport.Proce ssReport();
System.Xml.XmlN ode rptData = null;
rptData = report.GetRepor t(strXmlReportR equest) ;
*************** *************** *************** *************** *************** **********
WSDL -
[System.Web.Serv ices.Protocols. SoapDocumentMet hodAttribute("h ttp://tempuri.org/GetReport", RequestNamespac e="http://tempuri.org/", ResponseNamespa ce="http://tempuri.org/", Use=System.Web. Services.Descri ption.SoapBindi ngUse.Literal, ParameterStyle= System.Web.Serv ices.Protocols. SoapParameterSt yle.Wrapped)]
public System.Xml.XmlN ode GetReport(strin g vXML) {
object[] results = this.Invoke("Ge tReport", new object[] {
vXML});
return ((System.Xml.Xm lNode)(results[0]));
}
/// <remarks/>
public System.IAsyncRe sult BeginGetReport( string vXML, System.AsyncCal lback callback, object asyncState) {
return this.BeginInvok e("GetReport" , new object[] {
vXML}, callback, asyncState);
}
/// <remarks/>
public System.Xml.XmlN ode EndGetReport(Sy stem.IAsyncResu lt asyncResult) {
object[] results = this.EndInvoke( asyncResult);
return ((System.Xml.Xm lNode)(results[0]));
}
*************** *************** *************** *************** *************** **********
The above code was working fine since last 3 years but now it is returns error,
"Non-negative number required.\r\nPa rameter name: byteCount" .
--
Here is Stack Trace -
" at System.Xml.Seri alization.XmlSe rializer.Deseri alize(XmlReader xmlReader, String encodingStyle, XmlDeserializat ionEvents events)\r\n at System.Xml.Seri alization.XmlSe rializer.Deseri alize(XmlReader xmlReader, XmlDeserializat ionEvents events)\r\n at System.Xml.Seri alization.XmlSe rializer.Deseri alize(XmlReader xmlReader)\r\n at System.Web.Serv ices.Protocols. SoapHttpClientP rotocol.ReadRes ponse(SoapClien tMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)\r\n at System.Web.Serv ices.Protocols. SoapHttpClientP rotocol.Invoke( String methodName, Object[] parameters)\r\n at wbFELIP.wsZProc essReport.Proce ssReport.GetRep ort(String vXML) in c:\\inetpub\\ww wroot\\wbfelip\ \web references\\wsz processreport\\ reference.cs:li ne 43\r\n at wbFELIP.ReportR equestForm.btnR etrieveReport_C lick(Object sender, EventArgs evt) in c:\\inetpub\\ww wroot\\wbfelip\ \reportrequestf orm.aspx.cs:lin e 710"
ex1.InnerExcept ion
{"Non-negative number required.\r\nPa rameter name: byteCount" }
[System.Argument OutOfRangeExcep tion]: {"Non-negative number required.\r\nPa rameter name: byteCount" }
System.Object: {System.Argumen tOutOfRangeExce ption}
_className: null
_COMPlusExcepti onCode: -532459699
_exceptionMetho d: {System.Reflect ion.RuntimeMeth odInfo}
_exceptionMetho dString: null
_helpURL: null
_HResult: -2146233086
_innerException : { }
_message: "Non-negative number required."
_remoteStackInd ex: 0
_remoteStackTra ceString: null
_source: "mscorlib"
_stackTrace: {System.Array}
_stackTraceStri ng: " at System.Text.UTF 8Encoding.GetCh ars(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex, UTF8Decoder decoder)\r\n at System.Text.UTF 8Decoder.GetCha rs(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex)\r\n at System.IO.Strea mReader.ReadBuf fer(Char[] userBuffer, Int32 userOffset, Int32 desiredChars, Boolean& readToUserBuffe r)\r\n at System.IO.Strea mReader.Read(Ch ar[] buffer, Int32 index, Int32 count)\r\n at System.Xml.XmlS canner.Read()\r \n at System.Xml.XmlS canner.ScanCont ent()\r\n at System.Xml.XmlT extReader.Parse BeginTagExpandC harEntities()\r \n at System.Xml.XmlT extReader.Read( )\r\n at System.Xml.XmlL oader.LoadChild ren(XmlNode parent)\r\n at System.Xml.XmlL oader.LoadEleme ntNode()\r\n at System.Xml.XmlL oader.LoadCurre ntNode()\r\n at System.Xml.XmlL oader.LoadChild ren(XmlNode parent)\r\n at System.Xml.XmlL oader.LoadEleme ntNode()\r\n at System.Xml.XmlL oader.LoadCurre ntNode()\r\n at System.Xml.XmlL oader.Rea
dCurrentNode(Xm lDocument doc, XmlReader reader)\r\n at System.Xml.XmlD ocument.ReadNod e(XmlReader reader)\r\n at System.Xml.Seri alization.XmlSe rializationRead er.ReadXmlNode( Boolean wrapped)\r\n at Microsoft.Xml.S erialization.Ge neratedAssembly .XmlSerializati onReader1.Read3 _GetReportRespo nse()"
_xcode: -532459699
_xptrs: 0
HelpLink: null
HResult: -2146233086
InnerException: { }
Message: "Non-negative number required.\r\nPa rameter name: byteCount"
Source: "mscorlib"
StackTrace: " at System.Text.UTF 8Encoding.GetCh ars(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex, UTF8Decoder decoder)\r\n at System.Text.UTF 8Decoder.GetCha rs(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex)\r\n at System.IO.Strea mReader.ReadBuf fer(Char[] userBuffer, Int32 userOffset, Int32 desiredChars, Boolean& readToUserBuffe r)\r\n at System.IO.Strea mReader.Read(Ch ar[] buffer, Int32 index, Int32 count)\r\n at System.Xml.XmlS canner.Read()\r \n at System.Xml.XmlS canner.ScanCont ent()\r\n at System.Xml.XmlT extReader.Parse BeginTagExpandC harEntities()\r \n at System.Xml.XmlT extReader.Read( )\r\n at System.Xml.XmlL oader.LoadChild ren(XmlNode parent)\r\n at System.Xml.XmlL oader.LoadEleme ntNode()\r\n at System.Xml.XmlL oader.LoadCurre ntNode()\r\n at System.Xml.XmlL oader.LoadChild ren(XmlNode parent)\r\n at System.Xml.XmlL oader.LoadEleme ntNode()\r\n at System.Xml.XmlL oader.LoadCurre ntNode()\r\n at System.Xml.XmlL oader.ReadCurre n
tNode(XmlDocume nt doc, XmlReader reader)\r\n at System.Xml.XmlD ocument.ReadNod e(XmlReader reader)\r\n at System.Xml.Seri alization.XmlSe rializationRead er.ReadXmlNode( Boolean wrapped)\r\n at Microsoft.Xml.S erialization.Ge neratedAssembly .XmlSerializati onReader1.Read3 _GetReportRespo nse()"
TargetSite: {System.Reflect ion.RuntimeMeth odInfo}
------------------------------------------------------------------------------------------------------------
To make sure I refreshed the WSDL , but still getting same error. I am able to create reports using the webservice in ASP using Get method. Moreover I spoke to webservice administrators , they can see the SOAP request coming on webserver and response is also getting genereated successfully. But I don't know what's wrong in my application code. I googled a lot to find but didn't get any clue.
Any kind of help on this issue will greatly be appreciated !
Regards,
Santosh
Comment