I am working with the Google AdWords API v201502 and using OAuth2 credentials via the OfflineCredentials.Builder() method.
After obtaining authorization, I attempt to create and AdWordsServices object via:
AdWordsServices adWordsServices = new AdWordsServices();
At this point, I am seeing the following:
java.lang.ExceptionInInitializerError
Caused by: com.google.inject.CreationException: Guice creation errors:
1) No implementation for com.google.api.ads.common.lib.client.HeaderHandler<com.google.api.ads.adwords.lib.client.AdWordsSession, com.google.api.ads.adwords.lib.client.AdWordsServiceDescriptor> annotated with @com.google.inject.multibindings.Element(setName=, uniqueId=2, type=MAPBINDER) was bound.
while locating com.google.api.ads.common.lib.client.HeaderHandler<com.google.api.ads.adwords.lib.client.AdWordsSession, com.google.api.ads.adwords.lib.client.AdWordsServiceDescriptor> annotated with @com.google.inject.multibindings.Element(setName=, uniqueId=2, type=MAPBINDER)
at com.google.inject.multibindings.MapBinder$RealMapBinder$1.initialize(MapBinder.java:380)
at com.google.api.ads.adwords.axis.AdWordsAxisModule.configure(AdWordsAxisModule.java:48)
2) No implementation for java.lang.String annotated with @com.google.inject.multibindings.Element(setName=, uniqueId=6, type=MAPBINDER) was bound.
while locating java.lang.String annotated with @com.google.inject.multibindings.Element(setName=, uniqueId=6, type=MAPBINDER)
at com.google.inject.multibindings.MapBinder$RealMapBinder$1.initialize(MapBinder.java:380)
at com.google.api.ads.adwords.axis.AdWordsAxisModule.configure(AdWordsAxisModule.java:57)
2 errors
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:416)
at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:188)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:122)
at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:100)
at com.google.inject.Guice.createInjector(Guice.java:95)
at com.google.inject.Guice.createInjector(Guice.java:72)
at com.google.inject.Guice.createInjector(Guice.java:61)
at com.google.api.ads.adwords.axis.factory.AdWordsServices.<clinit>(AdWordsServices.java:46)
I am using the following jars:
Slf4j-api-1.7.7.jar
Guice-4.0-beta4.jar
Google-oauth-client-1.19.0.jar
Log4j-1.2.17.jar
Commons-logging-1.1.1.jar
Commons-lang-2.3.jar
Springframework-2.5.6.jar
Axis-1.4.jar
Google-http-client-1.20.0.jar
Slf4j-log4j12-1.7.5.jar
Ads-lib-axis-1.32.0.jar
Adwords-axis-1.38.0.jar
Ads-lib-2.1.0.jar
Guava-15.0-cdi1.0.jar
Commons-beanutils-1.9.2.jar
Commons-discovery-0.4.jar
Jaxrpc-api-1.1.jar
Guice-assistedinject-4.0.jar
Guice-multibindings-4.0-beta4.jar
Inject-11.1.2.3.0.jar
Commons-configuration-1.8.jar
Jackson-core-2.6.0-rc2.jar
Guice-3.0-rc1.jar
Google-http-client-jackson2-1.18.0-rc.jar
Google-api-client-1.18.0-rc.jar
I'm thinking that somewhere there is a mismatch between jars, but haven't been able to track it down yet.
Can someone please help?
Thanks.