I have a webservice that returns PDF generated reports. This service works
fine retuning various reports, but some reports quickly fail with the error:
"The request failed with HTTP status 403: Error"
Normally, the 403 would make me think of an authorization problem, but this
is not the case, as I am using the exact same authentication for the
webservice calls. In addition, I can remove this as a possability because
the server receives the call and begins to process it. In fact, if I request
a small report, it completes the process and returns the PDF. But when I
give it parameters to return a fairly large report, this 403 error is thrown.
In fact, if I debug the webservice, I can actually watch it walk through all
the steps successfully (albiet it takes a while to complete), without any
errors, but the client quickly generates the 403: Error message.
The next thing I could think of was that this was some kind of timeout
problem, between the webserver that is requesting the PDFs and the webservice
which is suppose to serve them up. To that end, I tried manipulating the
provided "Timeout" parameter of the webservice proxy class (the one that
calls the webservice). I turned it way down and quickly got a timeout error.
Then I turned it way up (10 minutes) and I go back to getting the 403: Error
message, after 60 seconds. Is there some 60 second timeout somewhere that I
The problem is, I have no idea where this error is coming from. I have
try/catch blocks all over my webservice, and no exceptions are being thrown
from my code to produce this error. I don't believe this error is being
thrown from my code, so I have to figure out where else it could be coming
Can anyone point me in the right direction?
Here is the error info:
ex.Message = The request failed with HTTP status 403: Error
Stack Trace = at
System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
methodName, Object parameters)
walshgroup.web.users.sqlreporter.CrystalReportsBroker.GetFrontEndReport(String sKeys, String sValues)
at walshgroup.web.users.zzz.Page_Load(Object sender, EventArgs e)