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

Reply via email to