locked
Sharp 770SH Phone - .NET Framework 2.0 Error RRS feed

  • 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.0
    I 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