I reset someinthing in IIS now Checkout/Google/NotificationListener.ashx is not responsed to Google
I get this in my event log
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 11/22/2009 5:32:04 PM
Event time (UTC): 11/22/2009 10:32:04 PM
Event ID: c298785c00b84b4db7f00d2a4d5bf966
Event sequence: 8
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1590119092/Root-3-129034027171000000
Trust level: Full
Application Virtual Path: /
Application Path: D:\FireFold\
Machine name: CRAIG
Process information:
Process ID: 4464
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: XmlException
Exception message: Root element is missing.
Request information:
Request URL: https://www.firefold.com:443/Checkout/G ... tener.ashx
Request path: /Checkout/Google/NotificationListener.ashx
User host address: 166.82.#.#
User:
Is authenticated: False
Authentication Type: Google.Checkout.Basic
Thread account name: NT AUTHORITY\NETWORK SERVICE
Thread information:
Thread ID: 11
Thread account name: NT AUTHORITY\NETWORK SERVICE
Is impersonating: False
Stack trace: at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res)
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlTextReader.Read()
at CommerceBuilder.Payments.Providers.GoogleCheckout.Util.EncodeHelper.GetTopElement(String Xml)
at NotificationListner.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Custom event details:
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Google Checkout
Re: Google Checkout
Make sure that you haven't disabled generic handlers when resting IIS. It may be because you disabled generic handlers (*.ashx) files.
Re: Google Checkout
The "Root element is missing." error is normal and expected if you load NotificationListener.ashx in a browser. That handler is expecting some XML from Google Checkout which your browser is not sending...so it complains that the XML is missing (as in the root element of the XML is missing...along with the rest of the XML).
The event log on your server will not capture very interesting information about Google Checkout errors. For the good stuff, sign on to your Google Checkout merchant account, then go to the Integration Console and look for the error log. There you will find the actual errors that Google Checkout is seeing.
The event log on your server will not capture very interesting information about Google Checkout errors. For the good stuff, sign on to your Google Checkout merchant account, then go to the Integration Console and look for the error log. There you will find the actual errors that Google Checkout is seeing.
Re: Google Checkout
I got this error from Google:
Nov 30, 2009 4:59:42 AM EST
Error: We encountered an error trying to access your server at https://www.firefold.com/Checkout/Googl ... tener.ashx -- the error we got is Send failed with code: 500. Response body was: <html> <head> <title>Object reference not set to an instance of an object.</title> <style> body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px} b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px} H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red } H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon } pre {font-family:"Lucida Console";font-size: .9em} .marker {font-weight: bold; color: black;text-decoration: none;} .version {color: gray;} .error {margin-bottom: 10px;} .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; } </style> </head> <body bgcolor="white"> <span><H1>Server Error in '/' Application.<hr width=100% size=1 color=silver></H1> <h2> <i>Object reference not set to an instance of an object.</i> </h2></span> <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "> <b> Description: </b>An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. <br><br> <b> Exception Details: </b>System.NullReferenceException: Object reference not set to an instance of an object.<br><br> <b>Source Error:</b> <br><br> <table width=100% bgcolor="#ffffcc"> <tr> <td> <code> The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:<br><br>1. Add a "Debug=true" directive at the top of the file that generated the error. Example:<br><br> <%@ Page Language="C#" Debug="true" %><br><br>or:<br><br>2) Add the following section to the configuration file of your application:<br><br><configuration><br> <system.web><br> <compilation debug="true"/><br> </system.web><br></configuration><br><br> Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.<br><br>Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.</code> </td> </tr> </table> <br> <b>Stack Trace:</b> <br><br> <table width=100% bgcolor="#ffffcc"> <tr> <td> <code><pre> [NullReferenceException: Object reference not set to an instance of an object.] CommerceBuilder.Orders.BasketItem.CanCombine(BasketItem other) +1714 CommerceBuilder.Common.SortableCollection`1.Find(Predicate`1 match) +198 CommerceBuilder.Orders.BasketItemCollection.Combine(Boolean save) +1137 CommerceBuilder.Orders.Basket.Package(Boolean resetGiftOptions, Boolean doCombine) +287 CommerceBuilder.Orders.Basket.Package(Boolean resetGiftOptions) +13 CommerceBuilder.Payments.Providers.GoogleCheckout.AC.NewOrderHandler.Process() +503 NotificationListner.ProcessRequest(HttpContext context) +600 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75 </pre></code> </td> </tr> </table> <br> <hr width=100% size=1 color=silver> <b>Version Information:</b> Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3082 </font> </body> </html> <!-- [NullReferenceException]: Object reference not set to an instance of an object. at CommerceBuilder.Orders.BasketItem.CanCombine(BasketItem other) at CommerceBuilder.Common.SortableCollection`1.Find(Predicate`1 match) at CommerceBuilder.Orders.BasketItemCollection.Combine(Boolean save) at CommerceBuilder.Orders.Basket.Package(Boolean resetGiftOptions, Boolean doCombine) at CommerceBuilder.Orders.Basket.Package(Boolean resetGiftOptions) at CommerceBuilder.Payments.Providers.GoogleCheckout.AC.NewOrderHandler.Process() at NotificationListner.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) --><!-- This error page might contain sensitive information because ASP.NET is configured to show verbose error messages using <customErrors mode="Off"/>. Consider using <customErrors mode="On"/> or <customErrors mode="RemoteOnly"/> in production environments.-->
Warnings:
XML We Sent:
<?xml version="1.0" encoding="UTF-8"?>
<new-order-notification xmlns="http://checkout.google.com/schema/2" serial-number="377767378756429-00001-7">
<buyer-billing-address>
<company-name></company-name>
<contact-name>Chris V Saavedra</contact-name>
<email>chris.saavedra@gefanuc.com</email>
<phone></phone>
<fax></fax>
<address1>7401 Snaproll NE</address1>
<address2></address2>
<country-code>US</country-code>
<city>Albuquerque</city>
<region>NM</region>
<postal-code>87109</postal-code>
</buyer-billing-address>
<timestamp>2009-11-18T19:41:22.931Z</timestamp>
<google-order-number>377767378756429</google-order-number>
<shopping-cart>
<items>
<item>
<item-name>25 Foot - Cat6 550Mhz Network Patch, Molded Snagless Boot - Orange</item-name>
<item-description></item-description>
<quantity>3</quantity>
<unit-price currency="USD">6.49</unit-price>
<merchant-private-item-data>
<ProdID>C6MB-25-ORG</ProdID>
<Options>
</Options>
<StockID>C6MB-25-ORG</StockID>
<UnitWeight>0.75</UnitWeight>
<OptionIDs>:;:;:;:;:;:;</OptionIDs>
<SampleID>0</SampleID>
<ProdType>1</ProdType>
<WarrantyGroupCode>
</WarrantyGroupCode>
<WarrantyItemCode>
</WarrantyItemCode>
<PromoProdID>
</PromoProdID>
<ExtraData>
</ExtraData>
</merchant-private-item-data>
</item>
</items>
<merchant-private-data>
<root>
<FEData>Flashecom merchant data</FEData>
</root>
<ShopperID>
</ShopperID>
<CartID>edbb8f81-b267-43f7-a5c8-600daaf44f0a</CartID>
<TotalPrice>19.47</TotalPrice>
<TotalWeight>2.25</TotalWeight>
<TotalQty>3</TotalQty>
</merchant-private-data>
<cart-expiration>
<good-until-date>2009-11-18T19:57:28.343Z</good-until-date>
</cart-expiration>
</shopping-cart>
<order-adjustment>
<merchant-calculation-successful>true</merchant-calculation-successful>
<merchant-codes />
<shipping>
<merchant-calculated-shipping-adjustment>
<shipping-name>UPS 2nd Day Air</shipping-name>
<shipping-cost currency="USD">22.94</shipping-cost>
</merchant-calculated-shipping-adjustment>
</shipping>
<total-tax currency="USD">0.0</total-tax>
<adjustment-total currency="USD">22.94</adjustment-total>
</order-adjustment>
<buyer-id>806591902682822</buyer-id>
<buyer-shipping-address>
<company-name></company-name>
<contact-name>Chris V Saavedra</contact-name>
<email>chris.saavedra@gefanuc.com</email>
<phone></phone>
<fax></fax>
<address1>7401 Snaproll NE</address1>
<address2></address2>
<country-code>US</country-code>
<city>Albuquerque</city>
<region>NM</region>
<postal-code>87109</postal-code>
</buyer-shipping-address>
<buyer-marketing-preferences>
<email-allowed>true</email-allowed>
</buyer-marketing-preferences>
<order-total currency="USD">42.41</order-total>
<fulfillment-order-state>NEW</fulfillment-order-state>
<financial-order-state>REVIEWING</financial-order-state>
</new-order-notification>
Nov 30, 2009 4:59:42 AM EST
Error: We encountered an error trying to access your server at https://www.firefold.com/Checkout/Googl ... tener.ashx -- the error we got is Send failed with code: 500. Response body was: <html> <head> <title>Object reference not set to an instance of an object.</title> <style> body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px} b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px} H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red } H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon } pre {font-family:"Lucida Console";font-size: .9em} .marker {font-weight: bold; color: black;text-decoration: none;} .version {color: gray;} .error {margin-bottom: 10px;} .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; } </style> </head> <body bgcolor="white"> <span><H1>Server Error in '/' Application.<hr width=100% size=1 color=silver></H1> <h2> <i>Object reference not set to an instance of an object.</i> </h2></span> <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "> <b> Description: </b>An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. <br><br> <b> Exception Details: </b>System.NullReferenceException: Object reference not set to an instance of an object.<br><br> <b>Source Error:</b> <br><br> <table width=100% bgcolor="#ffffcc"> <tr> <td> <code> The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:<br><br>1. Add a "Debug=true" directive at the top of the file that generated the error. Example:<br><br> <%@ Page Language="C#" Debug="true" %><br><br>or:<br><br>2) Add the following section to the configuration file of your application:<br><br><configuration><br> <system.web><br> <compilation debug="true"/><br> </system.web><br></configuration><br><br> Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.<br><br>Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.</code> </td> </tr> </table> <br> <b>Stack Trace:</b> <br><br> <table width=100% bgcolor="#ffffcc"> <tr> <td> <code><pre> [NullReferenceException: Object reference not set to an instance of an object.] CommerceBuilder.Orders.BasketItem.CanCombine(BasketItem other) +1714 CommerceBuilder.Common.SortableCollection`1.Find(Predicate`1 match) +198 CommerceBuilder.Orders.BasketItemCollection.Combine(Boolean save) +1137 CommerceBuilder.Orders.Basket.Package(Boolean resetGiftOptions, Boolean doCombine) +287 CommerceBuilder.Orders.Basket.Package(Boolean resetGiftOptions) +13 CommerceBuilder.Payments.Providers.GoogleCheckout.AC.NewOrderHandler.Process() +503 NotificationListner.ProcessRequest(HttpContext context) +600 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75 </pre></code> </td> </tr> </table> <br> <hr width=100% size=1 color=silver> <b>Version Information:</b> Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3082 </font> </body> </html> <!-- [NullReferenceException]: Object reference not set to an instance of an object. at CommerceBuilder.Orders.BasketItem.CanCombine(BasketItem other) at CommerceBuilder.Common.SortableCollection`1.Find(Predicate`1 match) at CommerceBuilder.Orders.BasketItemCollection.Combine(Boolean save) at CommerceBuilder.Orders.Basket.Package(Boolean resetGiftOptions, Boolean doCombine) at CommerceBuilder.Orders.Basket.Package(Boolean resetGiftOptions) at CommerceBuilder.Payments.Providers.GoogleCheckout.AC.NewOrderHandler.Process() at NotificationListner.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) --><!-- This error page might contain sensitive information because ASP.NET is configured to show verbose error messages using <customErrors mode="Off"/>. Consider using <customErrors mode="On"/> or <customErrors mode="RemoteOnly"/> in production environments.-->
Warnings:
XML We Sent:
<?xml version="1.0" encoding="UTF-8"?>
<new-order-notification xmlns="http://checkout.google.com/schema/2" serial-number="377767378756429-00001-7">
<buyer-billing-address>
<company-name></company-name>
<contact-name>Chris V Saavedra</contact-name>
<email>chris.saavedra@gefanuc.com</email>
<phone></phone>
<fax></fax>
<address1>7401 Snaproll NE</address1>
<address2></address2>
<country-code>US</country-code>
<city>Albuquerque</city>
<region>NM</region>
<postal-code>87109</postal-code>
</buyer-billing-address>
<timestamp>2009-11-18T19:41:22.931Z</timestamp>
<google-order-number>377767378756429</google-order-number>
<shopping-cart>
<items>
<item>
<item-name>25 Foot - Cat6 550Mhz Network Patch, Molded Snagless Boot - Orange</item-name>
<item-description></item-description>
<quantity>3</quantity>
<unit-price currency="USD">6.49</unit-price>
<merchant-private-item-data>
<ProdID>C6MB-25-ORG</ProdID>
<Options>
</Options>
<StockID>C6MB-25-ORG</StockID>
<UnitWeight>0.75</UnitWeight>
<OptionIDs>:;:;:;:;:;:;</OptionIDs>
<SampleID>0</SampleID>
<ProdType>1</ProdType>
<WarrantyGroupCode>
</WarrantyGroupCode>
<WarrantyItemCode>
</WarrantyItemCode>
<PromoProdID>
</PromoProdID>
<ExtraData>
</ExtraData>
</merchant-private-item-data>
</item>
</items>
<merchant-private-data>
<root>
<FEData>Flashecom merchant data</FEData>
</root>
<ShopperID>
</ShopperID>
<CartID>edbb8f81-b267-43f7-a5c8-600daaf44f0a</CartID>
<TotalPrice>19.47</TotalPrice>
<TotalWeight>2.25</TotalWeight>
<TotalQty>3</TotalQty>
</merchant-private-data>
<cart-expiration>
<good-until-date>2009-11-18T19:57:28.343Z</good-until-date>
</cart-expiration>
</shopping-cart>
<order-adjustment>
<merchant-calculation-successful>true</merchant-calculation-successful>
<merchant-codes />
<shipping>
<merchant-calculated-shipping-adjustment>
<shipping-name>UPS 2nd Day Air</shipping-name>
<shipping-cost currency="USD">22.94</shipping-cost>
</merchant-calculated-shipping-adjustment>
</shipping>
<total-tax currency="USD">0.0</total-tax>
<adjustment-total currency="USD">22.94</adjustment-total>
</order-adjustment>
<buyer-id>806591902682822</buyer-id>
<buyer-shipping-address>
<company-name></company-name>
<contact-name>Chris V Saavedra</contact-name>
<email>chris.saavedra@gefanuc.com</email>
<phone></phone>
<fax></fax>
<address1>7401 Snaproll NE</address1>
<address2></address2>
<country-code>US</country-code>
<city>Albuquerque</city>
<region>NM</region>
<postal-code>87109</postal-code>
</buyer-shipping-address>
<buyer-marketing-preferences>
<email-allowed>true</email-allowed>
</buyer-marketing-preferences>
<order-total currency="USD">42.41</order-total>
<fulfillment-order-state>NEW</fulfillment-order-state>
<financial-order-state>REVIEWING</financial-order-state>
</new-order-notification>
Re: Google Checkout
Did the order originate in the website or was it from another system?
If it came from another system, AC may not know how to handle the order notification.
But it looks like AC found the order and is trying to merge the item information from Google with the item information that is already in the order. I don't know why it would do that. If I were you, I would report this as a potential bug.
If it came from another system, AC may not know how to handle the order notification.
But it looks like AC found the order and is trying to merge the item information from Google with the item information that is already in the order. I don't know why it would do that. If I were you, I would report this as a potential bug.
Re: Google Checkout
I am getting it from Google
Where do I submit it as a bug?
Hello Christopher@GrouseIndustries.com,
We've made several unsuccessful attempts to send order notifications to your notification callback URL, https://www.firefold.com/Checkout/Googl ... tener.ashx As a result, you aren't receiving order status, risk, or other notifications.
To help you identify the issue with your callback URL, please review the errors we encountered while sending notifications to you. To review this error information:
1. Sign in to Google Checkout.
2. Click on the Tools tab.
3. Click Integration Console.
Error messages will appear under 'Integration Issues.' If necessary, you can also update your callback URL in the 'API callback URL' box on the same page.
For more information about receiving notifications via the notification API, visit http://code.google.com/apis/checkout/de ... tification.
Need help? Visit the Google Checkout help center. Please do not reply to this message.
©2009 Google
Where do I submit it as a bug?
Hello Christopher@GrouseIndustries.com,
We've made several unsuccessful attempts to send order notifications to your notification callback URL, https://www.firefold.com/Checkout/Googl ... tener.ashx As a result, you aren't receiving order status, risk, or other notifications.
To help you identify the issue with your callback URL, please review the errors we encountered while sending notifications to you. To review this error information:
1. Sign in to Google Checkout.
2. Click on the Tools tab.
3. Click Integration Console.
Error messages will appear under 'Integration Issues.' If necessary, you can also update your callback URL in the 'API callback URL' box on the same page.
For more information about receiving notifications via the notification API, visit http://code.google.com/apis/checkout/de ... tification.
Need help? Visit the Google Checkout help center. Please do not reply to this message.
©2009 Google
Re: Google Checkout
I meant, does every order in Google Checkout come from AbleCommerce, or do you accept Google Checkout orders from other systems as well?
To submit a bug re AbleCommerce, go to http://help.ablecommerce.com/ and then click on "Report a Bug" near the bottom.
To submit a bug re AbleCommerce, go to http://help.ablecommerce.com/ and then click on "Report a Bug" near the bottom.