Hi Jeff Couldn't get on with WSDL settings so went for a windows app instead, and everything works fine in the sandbox. Roll on the API token!
Rgds JN On Jan 26, 4:56 pm, AdWords API Advisor <adwordsapiadvi...@google.com> wrote: > Hello, > > If you'd like, you can generate a web reference from Visual Studio by > following the steps outlined at > > http://msdn.microsoft.com/en-us/library/d9w023sx.aspx > > The WSDL URLs are listed at the top of each service's documentation > page. For instance, the AccountService WSDL URL is listed at the top > of > > http://code.google.com/intl/en/apis/adwords/docs/developer/AccountSer... > > For v13 it's > > https://adwords.google.com/api/adwords/v13/AccountService?wsdl > > Cheers, > -Jeff Posnick, AdWords API Team > > On Jan 25, 3:28 pm, "jakobni...@googlemail.com" > > <jakobni...@googlemail.com> wrote: > > Hello Jeff > > > I think I have the same problem as adchased, I've - > > > - downloaded and built the google-api-adwords-dotnet project & added a > > reference to the dll > > - added AdWordsUser.cs to my ASP.NET web project > > - amended the web.config so it includes the custom configuration > > 'adwordsHeaders' section > > - added login details that have worked in other test scripts > > > but when I try and make a call to CampaignService I get the following > > null > > > System.ArgumentNullException: Value cannot be null. Parameter name: > > type at System.Activator.CreateInstance(Type type, Boolean nonPublic) > > at com.google.api.adwords.lib.AdWordsUser.getService(String name) at > > CampaignServiceFuncs.AddCampaign() > > > How can I switch to WSDL? > > > Thanks > > > JN > > > On Dec 22 2008, 8:55 pm, adchased <adcha...@googlemail.com> wrote: > > > > 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 -~----------~----~----~----~------~----~------~--~---