Answered by:
Sharp 770SH Phone - .NET Framework 2.0 Error

Question
-
User1307442169 posted
Hello all,
I hope you can help me with a most frustrating problem.
I've created a mobile ASP.NET 2.0 Web site which works on all our target devices except one - a Sharp 770SH, which is actually a rebranded KDDI phone (model unknown).
I receive the error below as soon as the phone hits the site. I've created a completely blank site - one default page, one mobile form, the obligatory "Hello World!" message - and I receive the same error, which indicates that this is either an error with the device, or a bug in the .NET framework. Here's the error message:System.ArgumentNullException: Value cannot be null.
Parameter name: String at System.Number.StringToNumber (String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) at
System.Number.ParseInt32 (String s, NumberStyles style, NumberFormatInfo info) at
System.Web.Configuration.HttpCapabilitiesBase.get_MajorVersion() at
System.Web.UI.MobileControls.Adapters.WmlPageAdapter.IsKDDIPhone() at
System.Web.UI.MobileControls.Adapters.WmlPageAdapter.RequiresUTF8ContentEncoding() at
System.Web.UI.MobileControls.Adapters.WmlPageAdapter.HandleError(Exception e, HtmlTextWriter writer) at
System.Web.UI.MobileControls.MobilePage.OnError(EventArgs e) at
System.Web.UI.Page.HandleError(Exception e) at
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) as
System.Web.UI.Page.ProcessRequest() at
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) at
System.Web.UI.Page.ProcessRequest(HttpContext context) at
System.Web.Mobile.ErrorHandlerModule.Application_Error(Object source, EventArgs e)The message indicates to me that either the phone is not passing an expected value, or .NET is losing a value and as such is throwing an error.
The user agent for the phone is:
Vodafone/1.0/770SH/SHG001 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-V-Profile/VSCL-2.0.0
I think the phone is running a version of Linux. The browser is OpenWave UP.Browser/7.0.2.1. The site works in the OpenWave emulator, and on other handsets running OpenWave.
Any help on this will be greatly appreciated!
Thanks,
Mike.Thursday, November 30, 2006 11:25 AM
Answers
-
User-2083325243 posted
I found the same error in Japan. Phone type is V703SH,V902SH .
I think that the error is device type mismatch openwave.browser 3.x.
I tryed to change browser file.
Maybe unknown device is OK with Openwave over V.7.0(or more low version).
So. I added the tag <userAgent nonMatch="xx">.
Example
<!-- sample UA "UP.Browser/3.1.03-DS13 UP.Link/5.0.2.7" -->
<!-- sample UA "UP.Browser/3.04-UPG1 UP.Link/3.4.4" -->
<browser id="Up" parentID="Default">
<identification>
<userAgent match="(UP\.Browser)|(UP/)" />
<userAgent nonMatch="Go\.Web" />
<userAgent nonMatch="(V703SH)|(V802SH)|(V804SH)|(V902SH)|(V903SH)" />
</identification>
I checked OK with Emurator.
I am sorry in poor English.
- Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
Tuesday, June 5, 2007 9:17 PM
All replies
-
User2039740504 posted
I ran into this problem a while ago with another Sharp device. I think the user agent string is not compatible with the "openwave.browser" files that ships with the .NET framework. The user agent doesn't have a Major/Minor version with the UP.Browser. The RegEx in the file expects a version number and there isn't one.
Does anyone know if there's an update to the "openwave.browser" file?
I can repro this by using the User Agent from this user. I can fix this by changing the "UP.Browser" to "CLDC-1.0 UP.Browser".
SharpWXT91/SHS001/1.0 Browser/UP.Browser/...
I can take a good string "SHARP-TM-150" and make this happen by removing the "CLDC-1.0" from the string below.
SHARP-TM-150/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0UP.Browser/6.2.2.6.c.2.102 (GUI) MMP/1.0I think it's a bug in "openwave.browser" file that's included in "Machine.Config" this looks like where Minor/Major Version is matched.
<browsers>
<!-- sample UA "UP.Browser/3.1.03-DS13 UP.Link/5.0.2.7" -->
<!-- sample UA "UP.Browser/3.04-UPG1 UP.Link/3.4.4" -->
<browser id="Up" parentID="Default">
<identification>
<userAgent match="(UP\.Browser)|(UP/)" />
<userAgent nonMatch="Go\.Web" />
</identification>
<capture>
<userAgent match="((?'deviceID'\S*) UP/\S*
UP\.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*)
UP\.Link/)|((?'deviceID'\S*)/\S*
UP(\.Browser)*/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*))|(UP\.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*)-(?'deviceID'\S*)
UP\.Link/)|((?'deviceID'\S*)
UP\.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*)
UP\.Link/)|((?'deviceID'\S*)/(?'DeviceVersion'\S*)
UP/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*))|((?'deviceID'\S*)/(?'DeviceVersion'\S*)
UP.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*))|((?'deviceID'\S*)
UP.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*))" />
</capture>Wednesday, December 20, 2006 9:23 AM -
User1307442169 posted
Thanks for the response.
I've made some progress on this myself - to the extent that I can actually deliver dynamic content down to a Sharp phone via aspx, though in a slightly roundabout way.
If I use standard .NET code to output on the device, I hit the error. However, if I generate a HTML page via Response.Write, the page works - including dynamic content!
Example:
Response.Write("<HTML><HEAD></HEAD><BODY>");
Response.Write("Welcome to the Sharp Test Page. You are connecting at: " + System.DateTime.Now.ToString() + ".");
Response.Write("</BODY></HTML>");Apologies if my syntax isn't quite spot on. Let me know if anybody else has any success with this.
Cheers,
Mike.Friday, January 26, 2007 6:09 AM -
User-2083325243 posted
I found the same error in Japan. Phone type is V703SH,V902SH .
I think that the error is device type mismatch openwave.browser 3.x.
I tryed to change browser file.
Maybe unknown device is OK with Openwave over V.7.0(or more low version).
So. I added the tag <userAgent nonMatch="xx">.
Example
<!-- sample UA "UP.Browser/3.1.03-DS13 UP.Link/5.0.2.7" -->
<!-- sample UA "UP.Browser/3.04-UPG1 UP.Link/3.4.4" -->
<browser id="Up" parentID="Default">
<identification>
<userAgent match="(UP\.Browser)|(UP/)" />
<userAgent nonMatch="Go\.Web" />
<userAgent nonMatch="(V703SH)|(V802SH)|(V804SH)|(V902SH)|(V903SH)" />
</identification>
I checked OK with Emurator.
I am sorry in poor English.
- Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
Tuesday, June 5, 2007 9:17 PM