Hi,

 I am not sure what I am doing wrong. I am setting the 
CampaignAdExtension.setAdExtension to SitelinksExtension. I am still not 
able to create sitelinks. When I look at the Soap request, the Operand 
contains the campaign id but empty tag for AdExtension. I am using 201109 
version of the api. Here is my code:

        SitelinksExtension sitelinksExtension = new SitelinksExtension();

        List<Sitelink> sitelinksList = new ArrayList<Sitelink>();

        Sitelink sitelink = new Sitelink();

        sitelink.setDisplayText("Display Text");

        sitelink.setDestinationUrl("DestinationUrl");

        sitelinksList.add(sitelink);

        

        Sitelink[] sitelinkArray = sitelinksList.toArray(new 
Sitelink[sitelinksList.size()]);

        sitelinksExtension.setSitelinks(sitelinkArray);      


        CampaignAdExtension campaignAdExtension = new CampaignAdExtension();

        campaignAdExtension.setCampaignId(hydraVendorCampaign.getId());

        campaignAdExtension.setAdExtension(sitelinksExtension);


        //Create the operation

        CampaignAdExtensionOperation operation = new 
CampaignAdExtensionOperation();        

        operation.setOperand(campaignAdExtension);

        operation.setOperator(Operator.ADD);



        CampaignAdExtensionReturnValue retVal =

                campaignAdExtensionService.mutate(new 
CampaignAdExtensionOperation[] {operation});


        if (retVal != null && retVal.getValue() != null && 
retVal.getValue().length > 0) {

            log.info("Created Successfully");

        } else {

            log.error("Error creating sitelinks");

        }


Part of Request:

<mutate xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns="
https://adwords.google.com/api/adwords/cm/v201109";><operations><operator>ADD</operator><operand><campaignId>36486119</campaignId><adExtension/></operand></operations></mutate></soapenv:Body></soapenv:Envelope
>

Part of Response:

<serviceName>CampaignAdExtensionService</serviceName><methodName>mutate</methodName><operations>1</operations><responseTime>948</responseTime><units>1</units></ResponseHeader></soap:Header><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>[CampaignAdExtensionError.MUST_USE_CONCRETE_ADEXTENSION<https://adwords.google.com/api/adwords/cm/v201109%22%3E%3CrequestId%3E0004c6081aa505180a962f1a00001d26%3C/requestId%3E%3CserviceName%3ECampaignAdExtensionService%3C/serviceName%3E%3CmethodName%3Emutate%3C/methodName%3E%3Coperations%3E1%3C/operations%3E%3CresponseTime%3E948%3C/responseTime%3E%3Cunits%3E1%3C/units%3E%3C/ResponseHeader%3E%3C/soap:Header%3E%3Csoap:Body%3E%3Csoap:Fault%3E%3Cfaultcode%3Esoap:Server%3C/faultcode%3E%3Cfaultstring%3E%5BCampaignAdExtensionError.MUST_USE_CONCRETE_ADEXTENSION>@
 
operations[0].operand.adExtension]</faultstring><detail><ApiExceptionFault 
xmlns="
https://adwords.google.com/api/adwords/cm/v201109";><message>[CampaignAdExtensionError.MUST_USE_CONCRETE_ADEXTENSION@
 
operations[0].operand.adExtension]</message><ApplicationException.Type>ApiException</ApplicationException.Type><errors
 
xsi:type="CampaignAdExtensionError" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance";><fieldPath>operations[0].operand.adExtension</fieldPath><trigger/><errorString>CampaignAdExtensionError.MUST_USE_CONCRETE_ADEXTENSION</errorString><ApiError.Type>CampaignAdExtensionError</ApiError.Type><reason>MUST_USE_CONCRETE_ADEXTENSION</reason></errors></ApiExceptionFault></detail></soap:Fault></soap:Body></soap:Envelope
>

I can't figure out what's wrong. Any help would be great!


Regards,

Senthil

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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