Chad Nash Posts:5260
|
04-21-2010 01:46 PM |
|
Nathan, Yes this can be troublesome to debug for a few reasons... But mostly because the code to actually handle the post isn't really all too complicated and it really depends on what they are returning to our module from the post. A few things can help though... 1. The original post on this thread from 2008 was related to a server error that was specifically related to trying to post to an internal page. After reading your description this doesn't sound like the same situation. Is the error the same? Are you posting to a URL in your same server. If not we might also want to move this to another thread as it could be confusing. 2. If your HTML form that is working, can you copy and paste what the form submit looks like. Is it a FORM POST or a FORM GET action in the HTML form? 3. You keep mentioning the error but can you please let me know or attach a screen shot of the error. Could you possibly copy and paste the actual error that is coming up, or maybe the error showing up under admin/event viewer. 4. Does it work if you do a post to this same site on www.betasprings.com. This is really key to find out if this is between your server and their server or if this is between the type of post that is being sent on any server. Depending on these answers we can move forward quicker to help you solve the problem. -Chad |
|
|
|
|
Nathan Byrer
going with the flow Posts:33
|
04-21-2010 03:15 PM |
|
Chad,
Thanks for taking a look at this for me. My answers are below.
1. I am posting to a different server, but the error is the same. I didn't mean to jack the thread. If we need to move it to another thread, just let me know where it gets moved to.
2. I listed the HTML of my working HTML form earlier in this thread. It is an HTTP Post.
3. Below is the error out of the Event Viewer:
AssemblyVersion: 5.2.1
PortalID: 24
PortalName: UCTS Online Portal
UserID: 1
UserName: host
ActiveTabID: 3215
ActiveTabName: Request Service
RawURL: /Resources/RequestService.aspx
AbsoluteURL: /Default.aspx
AbsoluteURLReferrer: https://ucts.uc.iupui.edu/Resources/RequestService.aspx
UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2
DefaultDataProvider: DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider
ExceptionGUID: 4948b36c-50f8-40be-92bc-8b730b5dad48
InnerException: Object reference not set to an instance of an object.
FileName:
FileLineNumber: 0
FileColumnNumber: 0
Method: DataSprings.Modules.DynamicForms.DynamicForms.ProcessEvents
StackTrace:
Message: DotNetNuke.Services.Exceptions.PageLoadException: Object reference not set to an instance of an object. ---> System.NullReferenceException: Object reference not set to an instance of an object. at DataSprings.Modules.DynamicForms.DynamicForms.ProcessEvents(Boolean blnRedirectOnly, Boolean blnPaymentGateway, String strPaymentStatus, String strResponseID, Int32 intPaymentUserID) at DataSprings.Modules.DynamicForms.DynamicForms.SubmitForm(Boolean ProcessPaymentNotification, String strResponseID, Boolean blnByPassValidation) at DataSprings.Modules.DynamicForms.DynamicForms.lnkSave_Click(Object sender, EventArgs e) at System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) at System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) --- End of inner exception stack trace ---
Source:
Server Name: IN-UCOL-WEBSRV1
4. I've added the form on betasprings and got the same error. It should still be there on a page named after me if you want to take a look at it. |
|
|
|
|
Chad Nash Posts:5260
|
04-21-2010 04:29 PM |
|
Hi Nathan, Ok. Thanks for your post... I think this helps. It sounds like its not a problem with your specific server or your specific version of DNN if we are also having the same problem on our test site. So... Lets move forward I noticed on your HTML form you posted the URL you were posting to was this: https://footprints-test.uits.iu.edu/forms/form_processor.php But when I go to that URL the page doesn't load for me? It says that the connection has timed out. If the connection is timing out that could cause a problem, or I am wondering if this is how it should be performing. Each URL you post something too can also return a value back, do you know if the URL you are posting too is supposed to return a value back? Finally, can you give me the URL or TabID on Beta Springs where you setup the form? -Chad |
|
|
|
|
Nathan Byrer
going with the flow Posts:33
|
04-21-2010 04:40 PM |
|
That is the correct URL. It is locked down by IP address and won't respond unless you are on our campus network. If you want to test this, I think I'll need to get you an account on our network and have you make a VPN connection.
It does respond with a little text regarding the ID number of your entry and what queue you submitted in when you successfully communicate.
The URL on betasprings is:
http://www.betasprings.com/NathanBy...fault.aspx
Nathan |
|
|
|
|
Chad Nash Posts:5260
|
04-21-2010 05:01 PM |
|
Hi Nathan... Well its possible this could make a big difference... So basically if I can't access it from my IP, and the IP from the server wasn't allowed to work then I am not really sure how we can do a proper test. More then likely its failing because it can't get through and the other server is blocking it. This leads me to another point which is that right now I believe the 'credentials' are forced and setup directly within the module right now and are probably not getting passed the way it might require. Currently with an HTTP Post event you can't specify the credentials and there are many types that are possible (I guess this just hasn't come up before). Currently the module doesn't pass any network credentials... ASP.NET does allow you to setup something like this: objRequest.Credentials(New NetworkCredential("UserNameHere","PasswordHere", "DomainHere")) The domain is optional... Anyway, this is not currently a feature the module offers and its possible (not guaranteed) but possible this is whats causing the problem. We might review this in the future and add additional properties that can be optional but this isn't a feature that is currently avaliable. If you needed us to code something special or add this option (might want to test with hard coded values first) we can do this via our Premium Support services at http://www.datasprings.com/Premium-Support. Actually debugging any HTTP Post is really outside of our standard support but I wasn't sure if this would be a quick fix or not. In this case I wasn't aware that the post URL had IP restrictions and so forth. So in short... I think it doesn't matter if you are on a campus network, its possible those campus credentials are not getting passed through and the credentials are coming from the server itself (such as Beta Springs). -Chad |
|
|
|
|
Nathan Byrer
going with the flow Posts:33
|
04-22-2010 01:12 AM |
|
It is not using credentials to access the form. It just looks at the source IP address to see if it is in one of our subnets. So, from home if I try to go to the URL, the server will not respond at all. Once I make a VPN connection, the server will respond immediately. |
|
|
|
|
Chad Nash Posts:5260
|
04-22-2010 07:59 AM |
|
Hi Nathan, Well I guess that is still my point... Since the post is taking place in the ASP.NET application and not necessarily in a standard HTML only form post, I am not sure what 'source' IP its looking at. It could be looking at the IP from the server (betasprings.com) and I am not sure its passing the IP from the user. When we do a silent post I don't think we pass the IP address directly from the user to the HTTP Post. -Chad |
|
|
|
|
Nathan Byrer
going with the flow Posts:33
|
04-22-2010 09:15 AM |
|
Oh, yes, I'm sure the HTTP headers are using the IP address of the DNN server and not the client. That is the way I need it to work. That means that the betasprings test didn't really tell us anything other than I am getting the same error. My working HTML form and DNN are on the same server and using the same IP address, so it may not matter. |
|
|
|
|
Chad Nash Posts:5260
|
04-22-2010 11:42 AM |
|
You might still go back to them and ask them what restrictions or setup that might be done to have an 'HTTP Post' from ASP.NET Vs a standard POST from an HTML form. We haven't really run into this before but its difficult to support since its posting to other URL's ok and its locked out from our servers to post to. -Chad |
|
|
|
|
Nathan Byrer
going with the flow Posts:33
|
04-30-2010 06:05 AM |
|
Chad,
I worked with the owner of the server. In their logs, they are not showing any attempt by my form to try to post content to their server. It's like the error happens before the form can attempt to post the content to the server.
Nathan |
|
|
|
|
Nathan Byrer
going with the flow Posts:33
|
05-10-2010 10:47 AM |
|
Chad,
Any thoughts about going forward?
Nathan |
|
|
|
|
Chad Nash Posts:5260
|
05-10-2010 11:02 AM |
|
Well... I can add some debug code and put it in place to see if we can see the exact error... I know that there is only so much code that is in this specific area though and that we do have many customers that are able to use the HTTP Post completion event successfully. This might help us narrow down the exact error coming in though. I can try and have a patch ready with additional error handling in maybe 2 weeks? -Chad |
|
|
|
|
Nathan Byrer
going with the flow Posts:33
|
05-11-2010 01:28 AM |
|
I sure would appreciate it. I think if I could see what is going on when the error occurs, I could speak more intelligently with the people that run the website I am trying to post too.
Thanks,
Nathan |
|
|
|
|
Nathan Byrer
going with the flow Posts:33
|
07-22-2010 04:22 AM |
|
Any updates on this, Chad? |
|
|
|
|
Nathan Byrer
going with the flow Posts:33
|
08-05-2010 03:24 PM |
|
Chad, did you have a chance to work up the code to be able to troubleshoot my problem? I am still experiencing the issue.
Nathan |
|
|
|
|
Chad Nash Posts:5260
|
08-06-2010 07:13 AM |
|
Hi Nathan - Well so far we have not had anyone else reporting this issue so its somewhat hard to find a solution for. We did change some code in 3.4 release (will be released Monday) so you might try it again on Beta Springs and see if you are still running into the issue. We are using the same type of posting code in many locations such as posting to authorize.net and other gateways... I notice before you said that you thought it was happening 'before' it got to the other servers because their logs showed you never tried... Could it be something related to either permissions on your site or a firewall on your site that would prevent it from going out? At this point I would be happy to setup a go to meeting to help but if direct assistance was needed this would require Premium Support hours to be picked up. Since there are two parties involved here and we don't have anyone else reporting an issue with the HTTP Post this would fall outside of our standard product support agreement. You can find whats included with standard support VS Premium Support at http://www.datasprings.com/ProductSupport. Thanks, -Chad |
|
|
|
|
Nathan Byrer
going with the flow Posts:33
|
08-06-2010 08:41 AM |
|
Yes, it looks like this is erroring out before it makes contact with the other site. A regular HTML form on the same server posting to the same destination is able to send data without issue.
I'll try the new code when it comes out and if that doesn't fix it, I'll look into Premium Support.
Nathan Byrer |
|
|
|
|
Ryan Bakerink
river guide Posts:1900
|
08-24-2010 11:30 AM |
|
Hello Nathan,
If you run into any questions please let us know so we can be of assistance.
Thanks,
Ryan |
|
|
|
|