Hi Eric:

This had been working fine for the past couple of days but fails now
(without any code or lib changes) with the following error:

Exception in thread "main" AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
 faultSubcode:
 faultString: QuotaCheckError.INCOMPLETE_SIGNUP_APP_INFO_MISSING @
 faultActor:
 faultNode:
 faultDetail:
        {https://adwords.google.com/api/adwords/o/v200909}
ApiExceptionFault:<ns2:message>QuotaCheckError.INCOMPLETE_SIGNUP_APP_INFO_MISSING
@ </ns2:message><ns2:ApplicationException.Type>ApiException</
ns2:ApplicationException.Type><ns2:errors xmlns:xsi="http://www.w3.org/
2001/XMLSchema-instance" xsi:type="ns2:QuotaCheckError"><ns2:fieldPath/
><ns2:trigger/><ns2:ApiError.Type>QuotaCheckError</
ns2:ApiError.Type><ns2:reason>INCOMPLETE_SIGNUP_APP_INFO_MISSING</
ns2:reason></ns2:errors>

QuotaCheckError.INCOMPLETE_SIGNUP_APP_INFO_MISSING @
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance
(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at org.apache.axis.encoding.ser.BeanDeserializer.<init>
(BeanDeserializer.java:104)
        at org.apache.axis.encoding.ser.BeanDeserializer.<init>
(BeanDeserializer.java:90)
        at com.google.api.adwords.v200909.cm.ApiException.getDeserializer
(ApiException.java:142)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized
(BaseDeserializerFactory.java:154)
        at
org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs
(BaseDeserializerFactory.java:84)
        at org.apache.axis.encoding.DeserializationContext.getDeserializer
(DeserializationContext.java:464)
        at
org.apache.axis.encoding.DeserializationContext.getDeserializerForType
(DeserializationContext.java:547)
        at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild
(SOAPFaultDetailsBuilder.java:157)
        at org.apache.axis.encoding.DeserializationContext.startElement
(DeserializationContext.java:1035)
        at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
Source)
        at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement
(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
$FragmentContentDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at org.apache.axis.encoding.DeserializationContext.parse
(DeserializationContext.java:227)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
        at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke
(MustUnderstandChecker.java:62)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)
        at org.apache.axis.client.Call.invoke(Call.java:2443)
        at org.apache.axis.client.Call.invoke(Call.java:2366)
        at org.apache.axis.client.Call.invoke(Call.java:1812)
        at
com.google.api.adwords.v200909.o.TargetingIdeaServiceSoapBindingStub.get
(TargetingIdeaServiceSoapBindingStub.java:1202)


Any ideas why?


On Nov 30, 3:02 pm, AdWords API Advisor <[email protected]>
wrote:
> Hi SEMDEV,
>
> To address your questions:
>
> a) The RelatedToKeywordSearchParameter has a limit of 100 keywords, as
> stated in the documentation:
>
>  http://code.google.com/apis/adwords/v2009/docs/reference/TargetingIde...
>
> b) The number of results returned can be very large, and must be
> retrieved in pages.  The page size can be a maximum of 800 for get()
> and 500 getBulkKeywordIdeas():
>
>  http://code.google.com/apis/adwords/v2009/docs/reference/TargetingIde...
>
> c) The API has various systems to protect against malicious users, but
> the details of these systems aren't made public.
>
> Best,
> - Eric
>
> On Nov 30, 4:51 pm, SEM <[email protected]> wrote:
>
>
>
> > Hi Eric:
>
> > Thanks ... explicitly specifying additional attribute types worked!
> > On a related note, I have a few questions re: throttling / bandwidth
> > restrictions...
>
> > a] What is the max number of keywords I can submit in a single request
> > to get keyword variations?
>
> > b] Suppose I submit a set of 100,000 keywords as an input, what are
> > the limits w.r.t. returning results?
> > Does the adwords system throttle at Y output suggestions for X input
> > keywords?
>
> > c] Are there any "rate limit" thresholds w.r.t. number of times this
> > API may be called per unit time per app token or per IP?
>
> > Let me know.
>
> > Regards.
>
> > On Nov 30, 12:29 pm, AdWords API Advisor
>
> > <[email protected]> wrote:
> > > Hi SEMDEV,
>
> > > I'm glad to hear this is working now, and thanks for the feedback
> > > about the client library.
>
> > > As for the TargetingIdeaService, there are two types of objects that
> > > are easy to confuse: SearchParameters and AttributeTypes.
> > > SearchParamters are used to constrain or filter the results that are
> > > returned:
>
> > >  http://code.google.com/apis/adwords/v2009/docs/reference/TargetingIde...
>
> > > AttributeTypes are used to bring back extra fields for each result
> > > that is returned:
>
> > >  http://code.google.com/apis/adwords/v2009/docs/reference/TargetingIde...
>
> > > Both of these are set on theTargetingIdeaSelector, in the fields
> > > searchParameters and requestedAttributeTypes respectivly:
>
> > >  http://code.google.com/apis/adwords/v2009/docs/reference/TargetingIde...
>
> > > In your case you want the AttributeTypes
> > > AVERAGE_TARGETED_MONTHLY_SEARCHES and GLOBAL_MONTHLY_SEARCHES.
>
> > > Best,
> > > - Eric
>
> > > On Nov 30, 3:06 pm, SEM <[email protected]> wrote:
>
> > > > Hi Eric:
>
> > > > I switched to instantiating the user using the client library code
> > > > at...
>
> > > >         AdWordsServiceLogger.log();
> > > >         AdWordsUser user = new AdWordsUser(EMAIL, PASSWORD, "xxx",
> > > > "xxx", "xxx");
> > > >         TargetingIdeaServiceInterface targetingIdeaService =
> > > > user.getService(AdWordsService.V200909.TARGETING_IDEA_SERVICE);
>
> > > > ... and this worked for me.
>
> > > > In digging deeper into the soap request, found that the request
> > > > header's namespace used by the client library was ...
>
> > > >https://adwords.google.com/api/adwords/o/v200909
>
> > > > ... whereas my manually written code had an error and used the
> > > > following incorrect namespace ...
>
> > > >https://adwords.google.com/api/adwords/cm/v200909
>
> > > > The error message wasn't clear in identifying that but this is now
> > > > solved.
>
> > > > The reason why we prefer not to use Google's generated client library
> > > > is because version info is hardwired in to the generated package
> > > > names.
> > > > e.g. when you switch users from using 200906 to 200909, all of their
> > > > imports need to be manually changed.
> > > > If the generated client library omitted the version number from the
> > > > package name, our transition from one version of the API to the next
> > > > would be less effort.
>
> > > > Once I got my prototype working, the TargetingIdea elements display
> > > > keyword text, match type and idea type.
> > > > How do I get it to display the average targeted monthly search volume
> > > > and the global monthly search volume for the keyword variations?
> > > > The documentation on AverageTargetedMonthlySearchesSearchParameter and
> > > > GlobalMonthlySearchesSearchParameter aren't clear.
> > > > Are these fields used as an input to restrict the suggestions that fit
> > > > within a volume range?
> > > > OR are they used as parameters to determine what output fields are
> > > > generated for the TargetingIdea elements? e.g. show me the volume for
> > > > the keyword variations?
> > > > The old deprecated v13 API for this that returned keyword variations
> > > > ashttp://code.google.com/apis/adwords/docs/developer/KeywordVariation.html
> > > > was more intuitive to use.
>
> > > > Let me know.
>
> > > > Thanks.
>
> > > > On Nov 30, 8:39 am, AdWords API Advisor <[email protected]>
> > > > wrote:
>
> > > > > Hi SEMDEV,
>
> > > > > Looking at your code it doesn't appear you are using the client
> > > > > library to generate your service.  Please see the
> > > > > GetRelatedKeywords.java example for more information on how to use the
> > > > > client library:
>
> > > > >  http://code.google.com/p/google-api-adwords-java/source/browse/trunk/...
>
> > > > > Best,
> > > > > - Eric
>
> > > > > On Nov 29, 11:37 pm, SEM <[email protected]> wrote:
>
> > > > > > Hi Eric:
>
> > > > > > I just updated my project to use the newly downloaded client lib 
> > > > > > with
> > > > > > adwords-lib 6.2.0's jar
> > > > > > In addition, I updated my source to use all parameters as in the
> > > > > > example above but this still fails with this ambiguous error:
>
> > > > > > Fault occurred while processing.
>
> > > > > > Here's my updated source...
>
> > > > > >         final TargetingIdeaServiceInterface tisi = new
> > > > > > TargetingIdeaServiceLocator().getTargetingIdeaServiceInterfacePort();
> > > > > >         ((Stub) tisi).setHeader(
> > > > > >             GOOGLE_API_NAMESPACE, "RequestHeader",
> > > > > >             new SoapHeader("APP-TOKEN-REMOVED", AUTH_TOKEN, null,
> > > > > > EMAIL, "DEV-TOKEN-REMOVED", "USER-AGENT")
> > > > > >         );
>
> > > > > >         Keyword[] kwa = new Keyword[1];
> > > > > >         kwa[0] = new Keyword();
> > > > > >         kwa[0].setText("cheap airline tickets");
> > > > > >         kwa[0].setMatchType(KeywordMatchType.BROAD);
>
> > > > > >         LanguageTarget lt = new LanguageTarget();
> > > > > >         lt.setLanguageCode("en");
> > > > > >         CountryTarget ct = new CountryTarget();
> > > > > >         ct.setCountryCode("US");
>
> > > > > >        TargetingIdeaSelectortis = newTargetingIdeaSelector();
> > > > > >         tis.setSearchParameters(new SearchParameter[]
> > > > > >                         {
> > > > > >                         new RelatedToKeywordSearchParameter(null, 
> > > > > > kwa),
> > > > > >                         new ExcludedKeywordSearchParameter(null, 
> > > > > > kwa),
> > > > > >                         new KeywordMatchTypeSearchParameter(null, 
> > > > > > new
> > > > > > KeywordMatchType[] { kwa[0].getMatchType() } ),
> > > > > >                         new CompetitionSearchParameter(null, new
> > > > > > CompetitionSearchParameterLevel[]
> > > > > > {CompetitionSearchParameterLevel.LOW}),
> > > > > >                         new LanguageTargetSearchParameter(null, new 
> > > > > > LanguageTarget[]
> > > > > > {lt}),
> > > > > >                         new CountryTargetSearchParameter(null, new 
> > > > > > CountryTarget[]
> > > > > > {ct})
> > > > > >                         }
> > > > > >                 );
> > > > > >         tis.setIdeaType(IdeaType.KEYWORD);
> > > > > >         tis.setRequestType(RequestType.IDEAS);
> > > > > >         tis.setPaging(new Paging(0, 6));
>
> > > > > >         TargetingIdeaPage tip = tisi.get(tis);
> > > > > >         TargetingIdea[] tia = tip.getEntries();
> > > > > >         for (TargetingIdea ti : tia)
> > > > > >         {
> > > > > >             System.out.println(ti);
> > > > > >         }
>
> > > > > > The error I still get is...
>
> > > > > > Exception in thread "main" AxisFault
> > > > > >  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
> > > > > >  faultSubcode:
> > > > > >  faultString: Fault occurred while processing.
> > > > > >  faultActor:
> > > > > >  faultNode:
> > > > > >  faultDetail:
> > > > > >         {http://xml.apache.org/axis/}stackTrace:Fault occurred while
> > > > > > processing.
> > > > > >         at org.apache.axis.message.SOAPFaultBuilder.createFault
> > > > > > (SOAPFaultBuilder.java:222)
> > > > > >         at org.apache.axis.message.SOAPFaultBuilder.endElement
> > > > > > (SOAPFaultBuilder.java:129)
> > > > > >         at 
> > > > > > org.apache.axis.encoding.DeserializationContext.endElement
> > > > > > (DeserializationContext.java:1087)
> > > > > >         at
> > > > > > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement
> > > > > > (Unknown Source)
> > > > > >         at
> > > > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scan
> > > > > >  EndElement
> > > > > > (Unknown Source)
> > > > > >         at
> > > > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
> > > > > > $FragmentContentDriver.next(Unknown Source)
> > > > > >         at 
> > > > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next
> > > > > > (Unknown Source)
> > > > > >         at
> > > > > > com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next
> > > > > > (Unknown Source)
> > > > > >         at
> > > > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scan
> > > > > >  Document
> > > > > > (Unknown Source)
> > > > > >         at 
> > > > > > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse
> > > > > > (Unknown Source)
> > > > > >         at
>
> ...
>
> read more »- Hide quoted text -
>
> - Show quoted text -

--

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