Solved

WebException when trying to retrieve HTML created from another ASPX page.

Posted on 2008-10-28
2
280 Views
Last Modified: 2013-12-17
Hi,

I am receiving a WebException when I post and retrieve HTML from an ASPX Page.
The page is responsible for creating a branded email:

  http://www.hesgroup.com.au/email/emailtemplate.aspx

The following fields are posted to it:

            string toName = string.IsNullOrEmpty(Request.Form["toName"]) ? String.Empty : Server.UrlDecode(Request.Form["toName"]);
            string toEmail = string.IsNullOrEmpty(Request.Form["toEmail"]) ? String.Empty : Server.UrlDecode(Request.Form["toEmail"]);
            string fromName = string.IsNullOrEmpty(Request.Form["fromName"]) ? String.Empty : Server.UrlDecode(Request.Form["fromName"]);
            string fromEmail = string.IsNullOrEmpty(Request.Form["fromEmail"]) ? String.Empty : Server.UrlDecode(Request.Form["fromEmail"]);
            string subject = string.IsNullOrEmpty(Request.Form["subject"]) ? String.Empty : Server.UrlDecode(Request.Form["subject"]);
            string message = string.IsNullOrEmpty(Request.Form["message"]) ? String.Empty : Server.UrlDecode(Request.Form["message"]);


The error being returned is a 500 server error and does not help me in anyway debug.
I am also retrieving the exception details (see code below) to help with debug but still cannot resolve:

I have attached all the code (in a zip file) needed to reproduce error including a 'Contact Us' page that will post fields to page creating the email.
In summary, this page posts to the email template, and then retrieves the HTML and sends the HTML by email to customer and client.

This library has never failed me until this project and I cannot seem to resolve.
My money is on an OVERFLOW error in the byte code when adding post keys.

Would love a HTTP expert to help with this - any help appreciated.

SHOULD BE EASY TO RUN ALL FILES!!

Thanks for your time.


----------------------
 

           string toName = string.IsNullOrEmpty(Request.Form["toName"]) ? String.Empty : Server.UrlDecode(Request.Form["toName"]);

            string toEmail = string.IsNullOrEmpty(Request.Form["toEmail"]) ? String.Empty : Server.UrlDecode(Request.Form["toEmail"]);

            string fromName = string.IsNullOrEmpty(Request.Form["fromName"]) ? String.Empty : Server.UrlDecode(Request.Form["fromName"]);

            string fromEmail = string.IsNullOrEmpty(Request.Form["fromEmail"]) ? String.Empty : Server.UrlDecode(Request.Form["fromEmail"]);

            string subject = string.IsNullOrEmpty(Request.Form["subject"]) ? String.Empty : Server.UrlDecode(Request.Form["subject"]);

            string message = string.IsNullOrEmpty(Request.Form["message"]) ? String.Empty : Server.UrlDecode(Request.Form["message"]);
 

------------------------------------------
 
 

catch (WebException wex)

            {

                if (this._doThrowExceptions)

                    throw wex;
 

                if (wex.Status == WebExceptionStatus.ProtocolError)

                {

                    HttpWebResponse response = wex.Response as HttpWebResponse;

                    if (response != null)

                    {

                        this._errorMessage = "HttpWebResponse.StatusCode=" + response.StatusCode + "|HttpWebResponse.StatusDescription=" + response.StatusDescription + "|" + wex.Message;

                    }

                }

                else

                {

                    this._errorMessage = wex.Message;

                }

                this._hasError = true;

                return null;

            }

Open in new window

0
Comment
Question by:smacca
2 Comments
 
LVL 2

Accepted Solution

by:
smokingspaceman earned 500 total points
Comment Utility
http://www.asp.net/learn/whitepapers/request-validation/

The error you could be getting is probably due to request validation. Try turning it off.

<%@ Page Language="VB" validateRequest="false"...>

This disables a security feature used for preventing script attacks.
0
 

Author Closing Comment

by:smacca
Comment Utility
Spot on!
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now