Hello Sinisa,
You can capture the response by setting log level to "DEBUG" in the configuration file. You can also pass a custom logger to log data into a file, see example here: http://code.google.com/p/google-api-ads-ruby/source/browse/adwords_api/examples/v201206/basic_operations/get_campaigns.rb#32 -Danial, AdWords API Team. On Friday, September 14, 2012 3:33:36 PM UTC+4, sgrgic wrote: > > Hi, > > We are using ruby client and recently we hit some simple but hard to track > error. > Here is what we are using: > gem 'rails', '3.2.6' > gem 'google-adwords-api', '0.6.3' > and ruby is ruby-1.9.3-p125 > > So, the problem is simple now when I debug and notice that we tried to > deploy ad which "url" param contained space in it. > More complex problem is how to debug and get to the point where I finally > got this message saying: > > <faultstring>[AdError.INVALID_INPUT @ operations[0].operand.ad.url; > trigger:'These characters are not allowed: [space]']</faultstring> > > > And here is story: we are using google-adwords-api and we have our library > to deploy ads via ad_group_ad_service. > Deploying ads is totally same as shown in examples for ruby client. So > when we ran deploy ads we have only this error message: > AdwordsApi::V201109::AdGroupAdService::ApiException: > AdwordsApi::V201109::AdGroupAdService::ApiException > and exception trace: > from > /Users/sgrgic/.rvm/gems/ruby-1.9.3-p125@DWR32/gems/google-ads-common-0.7.3/lib/ads_common/savon_service.rb:118:in > > `handle_errors' > from > /Users/sgrgic/.rvm/gems/ruby-1.9.3-p125@DWR32/gems/google-ads-common-0.7.3/lib/ads_common/savon_service.rb:83:in > > `execute_action' > from > /Users/sgrgic/.rvm/gems/ruby-1.9.3-p125@DWR32/gems/google-adwords-api-0.6.3/lib/adwords_api/v201109/ad_group_ad_service.rb:25:in > > `mutate' > and that's it. > > Finally after some brutal adding prints to savon_service.rb we got > response saying: > > <soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>[AdError.INVALID_INPUT > > @ operations[0].operand.ad.url; trigger:'These characters are not allowed: > [space]']</faultstring><detail><ApiExceptionFault xmlns=\" > https://adwords.google.com/api/adwords/cm/v201109\"><message>[AdError.INVALID_INPUT > > @ operations[0].operand.ad.url; trigger:'These characters are not allowed: > [space]']</message><ApplicationException.Type>ApiException</ApplicationException.Type><errors > > xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" > xsi:type=\"AdError\"><fieldPath>operations[0].operand.ad.url</fieldPath><trigger>These > > characters are not allowed: > [space]</trigger><errorString>AdError.INVALID_INPUT</errorString><ApiError.Type>AdError</ApiError.Type><reason>INVALID_INPUT</reason></errors></ApiExceptionFault></detail></soap:Fault></soap:Body></soap:Envelope> > > > Where is clear that we have space somewhere and it just lead us to > checking parameters and quickly finding solution. > My concern/question here is: is there solution to pull response text, or > in this case fault code/fault string on higher level so we can > easily log it and next time when we get such kind of error we can just > look into log and fix it in 5 minutes? > > Maybe this will help in understanding what we need, this is call stack: > AdwordsApi::V201109::AdGroupAdService mutate > AdsCommon::SavonService execute_action > after this handle_errors method raises exception. > Question is, is it possible to get soap response somehow on higher level, > say when we call mutate to get response? > Maybe there is some other solution but any thought here are welcome. > > Regards, > Sinisa. > > > -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en
