Thanks Jeff, I switched to WSDL now and it's working great! ASP.NET Example: this.headers = (Hashtable) System.Web.Configuration.WebConfigurationManager.GetSection ("adwordsHeaders"); AdWordsUser user = new AdWordsUser(headers);
Cheers, Andreas On Dec 19, 5:23 pm, AdWords API Advisor <adwordsapiadvi...@google.com> wrote: > Hello, > > There shouldn't be an issue with that code with the unmodified .NET > client library (it's used successfully by a decent number of > developers) and it's not something I could replicate. I can't tell you > exactly what's causing the GetType() call to return null in your > modified version of the code. I'd imagine that some possible causes > would be that the namespace for the assembly being loaded with GetType > () is somehow different (did you change any of the namespaces?) or > perhaps you're storing your custom AdUser() class in a different > location relative to the other assemblies and GetType() is relying > somehow on the location of the calling assembly to dynamically load > the helper assembly. > > But really, I'd suggest trying to use the standard .NET client > library. If you created a new class to handle reading the header > information differently, then you can just try using one of the > alternate constructors for AdWordsUser() that doesn't attempt to read > the header information from the application's config file, but instead > takes it as strings or a hash. > > Or, as another alternative, you can just forgo using the .NET client > library entirely and generate the .NET classes yourself from the > WSDLs--VisualStudio.NET makes that fairly easy, and that's all the > client library is (with a few niceties on top). > > Cheers, > -Jeff Posnick, AdWords API Team > > On Dec 18, 4:39 pm,adchased<adcha...@googlemail.com> wrote: > > > Hi Jeff, > > > yes, I created the AdUser Class, it's identical to AdWordsUser with > > one exception: It's an ASP.NET Application so I don't have an > > App.Config file. That's why my AdUser Class is reading from the > > Web.Config file via > > System.Web.Configuration.WebConfigurationManager.GetSection > > ("adwordsHeaders");. Everything else is identical. > > > I also checked if it's reading the values correctly and it does. I'm > > however stuck at > > > Type t = Type.GetType(PACKAGE_PREFIX + version + "." + name); > > > (t = null) > > > Thanks, > > Andreas > > > On Dec 18, 5:48 pm, AdWords API Advisor <adwordsapiadvi...@google.com> > > wrote: > > > > Hello, > > > > I'm afraid I don't understand. Are you using the code provided in > > > the .NET client library? There's no mention of an AdUser class there, > > > so I'm not sure what you mean when you say it's identical to > > > AdWordsUser. Is this a custom class you've created? > > > > Cheers, > > > -Jeff Posnick, AdWords API Team > > > > On Dec 18, 4:05 am,adchased<adcha...@googlemail.com> wrote: > > > > > Hello Jeff, > > > > > yes. AdUser and AdWordsUser is in fact identical. I just had to change > > > > the header retrival to > > > > > ------- > > > > // Reads headers from App.config file > > > > this.headers = (Hashtable) > > > > System.Web.Configuration.WebConfigurationManager.GetSection > > > > ("adwordsHeaders"); > > > > ------- > > > > > As ASP.NET is using a web.config file instead of an App.config. > > > > Everything else is the same.. > > > > > On Dec 18, 12:11 am, AdWords API Advisor > > > > > <adwordsapiadvi...@google.com> wrote: > > > > > Hello, > > > > > > Are you sure that that's the exact code you're running? You make > > > > > reference to an AdUser object, for instance, but the name of the class > > > > > in the .NET Client Library is AdWordsUser. > > > > > > Cheers, > > > > > -Jeff Posnick, AdWords API Team > > > > > > On Dec 17, 5:45 pm,adchased<adcha...@googlemail.com> wrote: > > > > > > > Hello, > > > > > > > I'm using C# (within ASP.NET) for the Adwords API, this is how far I > > > > > > am until now: > > > > > > > ------------------------------------------------------------------------------------------ > > > > > > using com.google.api.adwords.lib; > > > > > > using com.google.api.adwords.v12; > > > > > > ... > > > > > > > void AdApiTesting() > > > > > > { > > > > > > AdUser user = new AdUser(); > > > > > > user.useSandbox(); // use sandbox > > > > > > CampaignService campaignService = (CampaignService) > > > > > > user.getService("CampaignService");} > > > > > > > ------------------------------------------------------------------------------------------ > > > > > > > It is crashing when I try to execute this line: > > > > > > CampaignService campaignService = (CampaignService)user.getService > > > > > > ("CampaignService"); > > > > > > > Specificly here: > > > > > > ------------------------------------------------------------------------------------------ > > > > > > public object getService(String name) > > > > > > { > > > > > > object o = services[name]; > > > > > > if (null != o) > > > > > > { > > > > > > return o; > > > > > > } > > > > > > Type t = Type.GetType(PACKAGE_PREFIX + version + "." + > > > > > > name); > > > > > > o = Activator.CreateInstance(t); > > > > > > ------------------------------------------------------------------------------------------ > > > > > > > t is null which is leading to an exception. > > > > > > > ------------------------------------------------------------------------------------------ > > > > > > PACKAGE_PREFIX = "com.google.api.adwords." > > > > > > version = v12 > > > > > > name = CampaignService > > > > > > ------------------------------------------------------------------------------------------ > > > > > > > These are my settings for the adwordsHeader: > > > > > > ------------------------------------------------------------------------------------------ > > > > > > <adwordsHeaders> > > > > > > <add key="email" value="mym...@gmail.com"/> > > > > > > <add key="password" value="mypasswordXX"/> > > > > > > <add key="useragent" value="demotest"/> > > > > > > <add key="developerToken" value="awapi.d...@gmail.com++eur"/> > > > > > > <add key="applicationToken" value="1234567890123456789012"/> > > > > > > <!-- Use either clientEmail or clientCustomerId (optional) --> > > > > > > <add key="clientEmail" value="client_1+mym...@gmail.com"/> > > > > > > <!-- <add key="clientCustomerId" > > > > > > value="INSERT_CLIENT_CUSTOMER_ID_HERE"/> --> > > > > > > <!-- Use alternateUrl to make calls against Sandbox (optional) > > > > > > --> > > > > > > <add key="alternateUrl" value="https://sandbox.google.com/"/> > > > > > > <!-- Specify absolute path of the directory to which SOAP logs > > > > > > should be > > > > > > saved (optional) --> > > > > > > <add key="logPath" value="C:\\Temp"/> > > > > > > </adwordsHeaders> > > > > > > ------------------------------------------------------------------------------------------ > > > > > > > Could anyone help me out and tell me why t is NULL? > > > > > > > Thanks a lot! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en -~----------~----~----~----~------~----~------~--~---