ASP.NET C# Object reference not set to an instance of an object.

"mcgmatt" <[email protected]> Tue, 03 Apr 2007 18:49:39 -0000
Newsgroups gmane.text.xml.rpc.specification
Message-ID <[email protected]>
THE RESPONSE:
I'm new to XML-RPC.  Are the duplicates and members without names
normal, or am I getting junk data from the provider?

<?xml version="1.0" encoding="iso-8859-1"?>
<methodResponse>
<params>
  <param>
   <value>
    <array>
     <data>
      <value>
       <boolean>1</boolean>
      </value>
      <value>
       <string>succcess</string>
      </value>
      <value>
       <struct>
        <member>
         <name/> <!--WTF?-->
         <value>
          <string>1583</string> <!--Same as next member's value-->
         </value>
        </member>
        <member>
         <name>id</name>
         <value>
          <string>1583</string>
         </value>
        </member>
        <member>
         <name/> <!--WTF?-->
         <value>
          <string>email</string> <!--Same as next member's value-->
         </value>
        </member>
        <member>
         <name>auth</name>
         <value>
          <string>email</string>
         </value>
        </member>
        <member>
         <name/> <!--etc-->
         <value>
          <string>1</string> <!--etc-->
         </value>
        </member>
        <member>
         <name>confirmed</name>
         <value>
          <string>1</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>0</string>
         </value>
        </member>
        <member>
         <name>deleted</name>
         <value>
          <string>0</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>myusername</string>
         </value>
        </member>
        <member>
         <name>username</name>
         <value>
          <string>myusername</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string/>
         </value>
        </member>
        <member>
         <name>idnumber</name>
         <value>
          <string/>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>John</string>
         </value>
        </member>
        <member>
         <name>firstname</name>
         <value>
          <string>John</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>Doe</string>
         </value>
        </member>
        <member>
         <name>lastname</name>
         <value>
          <string>Doe</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>[email protected]</string>
         </value>
        </member>
        <member>
         <name>email</name>
         <value>
          <string>[email protected]</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>0</string>
         </value>
        </member>
        <member>
         <name>emailstop</name>
         <value>
          <string>0</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string/>
         </value>
        </member>
        <member>
         <name>icq</name>
         <value>
          <string/>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>123-456-7890</string>
         </value>
        </member>
        <member>
         <name>phone1</name>
         <value>
          <string>123-456-7890</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string/>
         </value>
        </member>
        <member>
         <name>phone2</name>
         <value>
          <string/>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string/>
         </value>
        </member>
        <member>
         <name>institution</name>
         <value>
          <string/>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string/>
         </value>
        </member>
        <member>
         <name>department</name>
         <value>
          <string/>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>123 Test St</string>
         </value>
        </member>
        <member>
         <name>address</name>
         <value>
          <string>123 Test St</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>Testburgh NY 12345</string>
         </value>
        </member>
        <member>
         <name>city</name>
         <value>
          <string>Testburgh NY 12345</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>US</string>
         </value>
        </member>
        <member>
         <name>country</name>
         <value>
          <string>US</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>en</string>
         </value>
        </member>
        <member>
         <name>lang</name>
         <value>
          <string>en</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>-4</string>
         </value>
        </member>
        <member>
         <name>timezone</name>
         <value>
          <string>-4</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>1173890857</string>
         </value>
        </member>
        <member>
         <name>firstaccess</name>
         <value>
          <string>1173890857</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>1175285736</string>
         </value>
        </member>
        <member>
         <name>lastaccess</name>
         <value>
          <string>1175285736</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>1174939830</string>
         </value>
        </member>
        <member>
         <name>lastlogin</name>
         <value>
          <string>1174939830</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>1175285732</string>
         </value>
        </member>
        <member>
         <name>currentlogin</name>
         <value>
          <string>1175285732</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>192.168.0.0</string>
         </value>
        </member>
        <member>
         <name>lastIP</name>
         <value>
          <string>192.168.0.0</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>mysecret</string>
         </value>
        </member>
        <member>
         <name>secret</name>
         <value>
          <string>mysecret</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>1</string>
         </value>
        </member>
        <member>
         <name>picture</name>
         <value>
          <string>1</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>http://foo.bar/</string>
         </value>
        </member>
        <member>
         <name>url</name>
         <value>
          <string>http://foo.bar/</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string> </string>
         </value>
        </member>
        <member>
         <name>description</name>
         <value>
          <string> </string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>1</string>
         </value>
        </member>
        <member>
         <name>mailformat</name>
         <value>
          <string>1</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>2</string>
         </value>
        </member>
        <member>
         <name>maildigest</name>
         <value>
          <string>2</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>0</string>
         </value>
        </member>
        <member>
         <name>maildisplay</name>
         <value>
          <string>0</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>1</string>
         </value>
        </member>
        <member>
         <name>htmleditor</name>
         <value>
          <string>1</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>0</string>
         </value>
        </member>
        <member>
         <name>autosubscribe</name>
         <value>
          <string>0</string>
         </value>
        </member>
        <member>
         <name/>
         <value>
          <string>1174404714</string>
         </value>
        </member>
        <member>
         <name>timemodified</name>
         <value>
          <string>1174404714</string>
         </value>
        </member>
       </struct>
      </value>
     </data>
    </array>
   </value>
  </param>
</params>
</methodResponse>


THE CODE (stripped down a bit):

[XmlRpcUrl( "http://foo.bar/xmlrpc.php <http://foo.bar/xmlrpc.php> " )]
public interface IMyProxy : IXmlRpcProxy
{
  [XmlRpcMethod( "MethodName" )]
  object MethodName(
   string input
  );
}

//IMyProxy proxy = (IMyProxy)XmlRpcProxyGen.Create( typeof(IMyProxy) );
//NET1.1
IMyProxy proxy = XmlRpcProxyGen.Create<IMyProxy>(); //NET2.0
proxy.Credentials = new NetworkCredential( username, password );
proxy.XmlEncoding = Encoding.GetEncoding( "iso-8859-1" );
proxy.UseIndentation = false;
proxy.NonStandard = XmlRpcNonStandard.All;
proxy.XmlRpcMethod = "MethodName";
object result = proxy.MethodName( inputValue );
// fails on line above - see the error below


THE ERROR:

------------------------------------------------------------------------\
--------
Description: 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.
Exception Details: System.NullReferenceException: Object reference not
set to an instance of an object.

Stack Trace:
[NullReferenceException: Object reference not set to an instance of an
object.]
    CookComputing.XmlRpc.XmlRpcSerializer.ParseHashtable(XmlNode node,
Type valueType, ParseStack parseStack, MappingAction mappingAction) +250
    CookComputing.XmlRpc.XmlRpcSerializer.ParseValue(XmlNode node, Type
ValueType, ParseStack parseStack, MappingAction mappingAction, Type&
ParsedType, Type& ParsedArrayType) +370
    CookComputing.XmlRpc.XmlRpcSerializer.ParseArray(XmlNode node, Type
ValueType, ParseStack parseStack, MappingAction mappingAction) +537
    CookComputing.XmlRpc.XmlRpcSerializer.ParseValue(XmlNode node, Type
ValueType, ParseStack parseStack, MappingAction mappingAction, Type&
ParsedType, Type& ParsedArrayType) +160
    CookComputing.XmlRpc.XmlRpcSerializer.ParseValue(XmlNode node, Type
ValueType, ParseStack parseStack, MappingAction mappingAction) +39
    CookComputing.XmlRpc.XmlRpcSerializer.DeserializeResponse(XmlDocument
xdoc, Type returnType) +410
    CookComputing.XmlRpc.XmlRpcSerializer.DeserializeResponse(Stream stm,
Type svcType) +229
    CookComputing.XmlRpc.XmlRpcClientProtocol.ReadResponse(XmlRpcRequest
req, WebResponse webResp, Stream respStm, Type returnType) +117
    CookComputing.XmlRpc.XmlRpcClientProtocol.Invoke(Object clientObj,
MethodInfo mi, Object[] parameters) +623
    CookComputing.XmlRpc.XmlRpcClientProtocol.Invoke(MethodInfo mi,
Object[] Parameters) +11
    XmlRpcProxye359d129-53dc-4c3a-a4aa-605c6ffe3f69.SelectAccount(String
) +122
    CompanyName.WwwV10.WebService.Consumer.MyProxy.SelectAccount(String
username) in
C:\!SourceSafe\Clients\CompanyName\Projects\WwwV10\wwwWorking\WebService\
\Consumer\MyProxy.cs:162
   
CompanyName.WwwV10.WebService.Consumer.Test.SelectAccount_Click(Object
sender, EventArgs e) in
C:\!SourceSafe\Clients\CompanyName\Projects\WwwV10\wwwWorking\WebService\
\Consumer\Test.aspx.cs:61
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
    System.Web.UI.WebControls.Button.RaisePostBackEvent(String
eventArgument) +107
   
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.Rai\
sePostBackEvent(String eventArgument) +7
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument) +11
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
+33
    System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
+5102
------------------------------------------------------------------------\
--------
Version Information: Microsoft .NET Framework Version:2.0.50727.42;
ASP.NET Version:2.0.50727.210




[Non-text portions of this message have been removed]



 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/xml-rpc/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/xml-rpc/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[email protected] 
    mailto:[email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/