Getting "The request failed with HTTP status 403: Error" ??

Getting "The request failed with HTTP status 403: Error" ??

Post by Y21he » Tue, 11 Jan 2005 14:13:01


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
am missing?

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
from.

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)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
methodName, Object[] parameters)
at
walshgroup.web.users.sqlreporter.CrystalReportsBroker.GetFrontEndReport(String[] sKeys, String[] sValues)
at walshgroup.web.users.zzz.Page_Load(Object sender, EventArgs e)
 
 
 

Getting "The request failed with HTTP status 403: Error" ??

Post by erymuzua » Tue, 11 Jan 2005 22:23:32

It's gonna be hard to really come up with a solution to your problem,
but I would normally rely on somekind of web services diagnosing tool
such as SOAPScope( you can download a trial edition). to see what's
going on.

BTW, it is always posiible to properly architect a long running web
services. one way is not to rely on HTTP request/responce, use MEP
instead.. WSE 2.0 provides a sound MEP implementation. and of course
there must be something could be done to the current webMethod too
[WebMethod]
public GetReportResponse GetReport(GetReportrequest GetReportRequest)
{
//
GetReportResponse response = new GetReportResponse();
string reportName = Guid.NewGuid.ToString() +."pdf"
response.Reportpath = reportName;

// create the report asyncrously
CreateReportAsyn(GetReportRequest);

return response;
}

HTH

regards
erymuzuan

 
 
 

Getting "The request failed with HTTP status 403: Error" ??

Post by Sami Vaara » Tue, 11 Jan 2005 22:56:01


[snip]

Is the server running Windows XP? If so, you might be running into the limit
of 10 concurrent connections.

Regards,
Sami
 
 
 

Getting "The request failed with HTTP status 403: Error" ??

Post by cmay » Wed, 12 Jan 2005 00:34:09

Hey guys,
Thanks for the reply trying to help.

I have tracked the problem to a piece of hardware on our network, a
McAfee e500 WebSheild. Its supposed to scan traffic for viruses and
stuff, but apparently it is getting in the middle of our HTTP traffic,
and cutting the connection after 60 seconds.

If I setup my laptop as the webserver on our internal network, it works
fine.

Thanks again!

Chris