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
