AdWordsServiceLogger.log();

// Get AdWordsUser from "~/adwords.properties".
AdWordsUser user = new AdWordsUser();

// Get the CampaignService.
CampaignServiceInterface campaignService =
user.getService(AdWordsService.V201302.CAMPAIGN_SERVICE);

BudgetServiceInterface budgetService =
user.getService(AdWordsService.V201302.BUDGET_SERVICE);

long campaignId = Long.parseLong(pMachineID);

// Create campaign with updated budget.
Campaign campaign = new Campaign();
campaign.setId(campaignId);
campaign.setName(pMachineName);

boolean biddingChanged = false;

if (null != pMachineBiddingStrategy && null != pOldMachineBiddingStrategy) {
if (!pMachineBiddingStrategy.equals(pOldMachineBiddingStrategy)) {
biddingChanged = true;
}
}
AdServingOptimizationStatus optimStatus = null;


// set optimization status
if (null != pMachineOptimizationStatus) {
if (pMachineOptimizationStatus.equals("OPTIMIZE")) {
optimStatus = AdServingOptimizationStatus.OPTIMIZE;
}
if (pMachineOptimizationStatus.equals("CONVERSION_OPTIMIZE")) {
optimStatus = AdServingOptimizationStatus.CONVERSION_OPTIMIZE;
}

if (pMachineOptimizationStatus.equals("ROTATE")) {
optimStatus = AdServingOptimizationStatus.ROTATE;
}
campaign.setAdServingOptimizationStatus(optimStatus);
}
// Create the bids.

BiddingStrategyConfiguration biddingConfig = new 
BiddingStrategyConfiguration();

if (null != pMachineBiddingStrategy) { 
if (pMachineBiddingStrategy.equals("ManualCPC")) {
ManualCpcBiddingScheme manualCpc = new ManualCpcBiddingScheme();
manualCpc.setEnhancedCpcEnabled(false);
biddingConfig.setBiddingScheme(manualCpc);
}
if (pMachineBiddingStrategy.equals("ManualCPM")) {
ManualCpmBiddingScheme manualCpm = new ManualCpmBiddingScheme(); 
biddingConfig.setBiddingScheme(manualCpm); 
}
if (pMachineBiddingStrategy.equals("BudgetOptimizer")) { 
BudgetOptimizerBiddingScheme budgetOptimizer = new 
BudgetOptimizerBiddingScheme(); 
biddingConfig.setBiddingScheme(budgetOptimizer);
}
if (pMachineBiddingStrategy.equals("PercentCPA")) { 
PercentCpaBiddingScheme percentCPA = new PercentCpaBiddingScheme(); 
biddingConfig.setBiddingScheme(percentCPA);
}
if (pMachineBiddingStrategy.equals("ConversionOptimizer")) {
ConversionOptimizerBiddingScheme conversionOptimizer = new 
ConversionOptimizerBiddingScheme(); 
biddingConfig.setBiddingScheme(conversionOptimizer);
} 
}

campaign.setBiddingStrategyConfiguration(biddingConfig);

if (null != pStatus && pStatus.equals("ACTIVE")) {
campaign.setStatus(CampaignStatus.ACTIVE);
}
if (null != pStatus && pStatus.equals("PAUSED")) {
campaign.setStatus(CampaignStatus.PAUSED);
}

// Create budget.
Budget budget = new Budget();
Money m = new Money();
m.setMicroAmount(new Long(1000000 * pAmount));
budget.setAmount(m);
budget.setName("campaign_before"+campaignId+"-budget"+new Date().getTime());

if (null != pDeliveryMethod && pDeliveryMethod.equals("ACCELERATED")) {
budget.setDeliveryMethod(BudgetBudgetDeliveryMethod.ACCELERATED);
}
if (null != pDeliveryMethod && pDeliveryMethod.equals("STANDARD")) {
budget.setDeliveryMethod(BudgetBudgetDeliveryMethod.STANDARD);
}

budget.setPeriod(BudgetBudgetPeriod.DAILY);

BudgetOperation budgetOperation = new BudgetOperation();
budgetOperation.setOperand(budget);
budgetOperation.setOperator(Operator.ADD);
// Add the budgetLong 
long budgetId = budgetService.mutate(new BudgetOperation[] 
{budgetOperation}).getValue(0).getBudgetId();

// Only the budgetId should be sent.
Budget newbudget = new Budget();
newbudget.setBudgetId(budgetId);
newbudget.setName("campaign_after"+campaignId+"-budget"+new 
Date().getTime());

campaign.setBudget(newbudget);

// Set the campaign network options to Search and Search Network.
NetworkSetting networkSetting = new NetworkSetting();
// networkSetting.setTargetContentContextual(pTargetContentContextual);
networkSetting.setTargetGoogleSearch(pTargetGoogleSearch);
networkSetting.setTargetSearchNetwork(pTargetSearchNetwork);
networkSetting.setTargetContentNetwork(pTargetContentNetwork);
networkSetting.setTargetPartnerSearchNetwork(pTargetPartnerSearchNetwork);
campaign.setNetworkSetting(networkSetting);

// Create operations.
CampaignOperation operation = new CampaignOperation();

operation.setOperand(campaign);
operation.setOperator(Operator.SET);

CampaignOperation[] operations = new CampaignOperation[] {operation};

// Update campaign.
CampaignReturnValue result = campaignService.mutate(operations);
When just trying to update the name and budget of the campaign I get the 
exception -

AxisFault
faultCode: 
{*http://schemas.xmlsoap.org/soap/envelope/}Server*<http://schemas.xmlsoap.org/soap/envelope/%7DServer>
faultSubcode: 
faultString: [InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ 
com.google.ads.api.services.common.error.InternalApiError.&lt;init&gt;(InternalApiErro]
faultActor: 
faultNode: 
faultDetail: 
{*https://adwords.google.com/api/adwords/cm/v201302}ApiExceptionFault*<https://adwords.google.com/api/adwords/cm/v201302%7DApiExceptionFault>:<message>[InternalApiError.UNEXPECTED_INTERNAL_API_ERROR
 
@ 
com.google.ads.api.services.common.error.InternalApiError.&lt;init&gt;(InternalApiErro]</message><ApplicationException.Type>ApiException</ApplicationException.Type><errors
 
xmlns:xsi="*http://www.w3.org/2001/XMLSchema-instance*<http://www.w3.org/2001/XMLSchema-instance>"
 
xsi:type="InternalApiError"><fieldPath/><trigger/><errorString>InternalApiError.UNEXPECTED_INTERNAL_API_ERROR</errorString><ApiError.Type>InternalApiError</ApiError.Type><reason>UNEXPECTED_INTERNAL_API_ERROR</reason></errors>

[InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ 
com.google.ads.api.services.common.error.InternalApiError.<init>(InternalApiErro]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
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.v201302.cm.ApiException.getDeserializer(ApiException.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
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 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown
 
Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(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.scanDocument(Unknown
 
Source)
at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown 
Source)
at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown 
Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown 
Source)
at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown 
Source)
at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
 
Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
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.v201302.cm.CampaignServiceSoapBindingStub.mutate(CampaignServiceSoapBindingStub.java:1290)
at handlers.MachineHandler.updateMachine(MachineHandler.java:493)
at SaveMachine.doPrivateExecute(SaveMachine.java:73)
at BaseServlet.doPost(BaseServlet.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)

Thanks.


On Thursday, April 18, 2013 12:49:34 PM UTC+2, Anash P. Oommen (AdWords API 
Team) wrote:
>
> Hi Aasaf,
>
> Could you post a sanitized SOAP request and response log? I'll investigate 
> this further.
>
> Cheers,
> Anash P. Oommen,
> AdWords API Advisor.
>
> On Thursday, April 18, 2013 12:36:14 AM UTC+5:30, assaf wrote:
>>
>> Hi,
>>
>> I get this error when trying to execute an update of a campaign name or 
>> budget?
>>
>> Is there a know issue with the test environment at the moment?
>>
>> Thanks.
>>
>> {https://adwords.google.com/api/adwords/cm/v201302}ApiExceptionFault:<message>[InternalApiError.UNEXPECTED_INTERNAL_API_ERROR
>>  
>> @ com.google.ads.api.services.common.error.InternalApiError
>>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to