I did compare the working one on my local , with my server, and yes,
the difference is on that xsi:type.
Just wondering, since i use the same code in my local and server, how
could it be different in soap call. Below is my code :
// Get AdGroupAdService
$adGroupAdService = $this->user->GetAdGroupAdService($this->VERSION,
$this->ENDPOINT);
foreach($ads as $ad){
// Create text ad.
$textAdObj = new TextAd();
$textAdObj->id = null;
$textAdObj->headline = $ad['headline'];
$textAdObj->description1 = $ad['description1'];
$textAdObj->description2 = $ad['description2'];
$textAdObj->displayUrl = $ad['displayUrl'];
$textAdObj->url = $ad['url'];
// Create ad group ad.
$textAdGroupAd = new AdGroupAd();
$textAdGroupAd->adGroupId = $ad['adgroup_id'];
$textAdGroupAd->ad = $textAdObj;
// Create operations.
$textAdGroupAdOperation = new AdGroupAdOperation();
$textAdGroupAdOperation->operand = $textAdGroupAd;
$textAdGroupAdOperation->operator = 'ADD';
$operations[] = $textAdGroupAdOperation;
}
$result = $adGroupAdService->mutate($operations);
On Jun 23, 5:42 am, AdWords API Advisor <[email protected]>
wrote:
> Hi,
>
> From what I can tell the error is being caused by the Ad not having a
> type set:
>
> <ns1:ad xsi:type="">
>
> How are you creating these ad objects?
>
> Best,
> - Eric
>
> On Jun 21, 8:24 am, Hudar <[email protected]> wrote:
>
> > Hi,
>
> > I have logged the soap request and response. Hope this will help :
>
> > [Jun 21 2010 20:11:45.000000 - INFO] POST /api/adwords/job/v200909/
> > BulkMutateJobService HTTP/1.1
> > Host: adwords.google.com
> > Connection: Keep-Alive
> > User-Agent: PHP-SOAP/5.2.6-1+lenny6, gzip
> > Accept-Encoding: gzip, deflate
> > Content-Encoding: gzip
> > Content-Type: text/xml; charset=utf-8
> > SOAPAction: ""
> > Content-Length: 1255
>
> > <?xml version="1.0" encoding="UTF-8"?>
> > <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
> > envelope/" xmlns:ns1="https://adwords.google.com/api/adwords/cm/
> > v200909" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> > <SOAP-ENV:Header>
> > <ns1:RequestHeader xsi:type="ns1:RequestHeader">
> > <ns1:applicationToken>xxxxxxxxxxxxxxxxxxxxxxx</
> > ns1:applicationToken>
>
> > <ns1:authToken>DQAAAJsAAAAAxoVJVErbu17P0I_k8lXKWh_C7tpE6ML6v8BRuxXyOHq3j5Se
> > W1gfY7y621Rb1D9LURCiO_UzLI-84_h6uwcsUS6ABtbPcwY-
> > nbJ0zKa6xUMiEwU-E_RxkFBk2v8rM9mDCC26asor-
> > hLOPud9OtlEdroBOTCkaH_R9gXhN68Z5gpaes6pG46Rc04waOrCCRluLCvup467PGdi7Z-6N-
> > F7</ns1:authToken>
> > <ns1:clientCustomerId>4556198678</ns1:clientCustomerId>
> > <ns1:clientEmail>xxxxxxxxxxxxxxxxxx</ns1:clientEmail>
> > <ns1:developerToken>xxxxxxxxxxxxxxxxxxxxxxxxxx</
> > ns1:developerToken>
> > <ns1:userAgent>PHP v5.2.6-1+lenny6 - AdWords API PHP Client
> > Library - v2.0.0 - Campaign Test</ns1:userAgent>
> > </ns1:RequestHeader>
> > </SOAP-ENV:Header>
> > <SOAP-ENV:Body>
> > <ns1:mutate xsi:type="mutate">
> > <ns1:operation xmlns:ns1="https://adwords.google.com/api/adwords/
> > cm/v200909" xsi:type="ns1:JobOperation">
> > <ns1:operator>ADD</ns1:operator>
> > <ns1:operand xmlns:ns1="https://adwords.google.com/api/adwords/
> > cm/v200909" xsi:type="ns1:BulkMutateJob">
> > <ns1:request xmlns:ns1="https://adwords.google.com/api/
> > adwords/cm/v200909" xsi:type="ns1:BulkMutateRequest">
> > <ns1:partIndex>0</ns1:partIndex>
> > <ns1:operationStreams xmlns:ns1="https://
> > adwords.google.com/api/adwords/cm/v200909"
> > xsi:type="ns1:OperationStream">
> > <ns1:scopingEntityId xmlns:ns1="https://
> > adwords.google.com/api/adwords/cm/v200909" xsi:type="ns1:EntityId">
> > <ns1:type>CAMPAIGN_ID</ns1:type>
> > <ns1:value>54227500</ns1:value>
> > </ns1:scopingEntityId>
> > <ns1:operations xmlns:ns1="https://adwords.google.com/
> > api/adwords/cm/v200909" xsi:type="ns1:AdGroupAdOperation">
> > <ns1:operator>ADD</ns1:operator>
> > <ns1:operand xmlns:ns1="https://adwords.google.com/api/
> > adwords/cm/v200909" xsi:type="ns1:AdGroupAd">
> > <ns1:adGroupId>1744860340</ns1:adGroupId>
> > <ns1:ad xsi:type="">
> > <ns1:url>http://somedomain.com?
> > utm_source=myadengine&utm_medium=Google&utm_campaign=API
> > Campaign BF</ns1:url>
> > <ns1:displayUrl>somedomain.com</ns1:displayUrl>
> > <ns1:headline>Need products?</ns1:headline>
> > <ns1:description1>Good reason to buy!</
> > ns1:description1>
> > <ns1:description2>Call now for free quote</
> > ns1:description2>
> > </ns1:ad>
> > </ns1:operand>
> > </ns1:operations>
> > <ns1:operations xmlns:ns1="https://adwords.google.com/
> > api/adwords/cm/v200909" xsi:type="ns1:AdGroupAdOperation">
> > <ns1:operator>ADD</ns1:operator>
> > <ns1:operand xmlns:ns1="https://adwords.google.com/api/
> > adwords/cm/v200909" xsi:type="ns1:AdGroupAd">
> > <ns1:adGroupId>1744860340</ns1:adGroupId>
> > <ns1:ad xsi:type="">
> > <ns1:url>http://somedomain.com?
> > utm_source=myadengine&utm_medium=Google&utm_campaign=API
> > Campaign BF</ns1:url>
> > <ns1:displayUrl>somedomain.com</ns1:displayUrl>
> > <ns1:headline>Where to go for products?</
> > ns1:headline>
> > <ns1:description1>Special Online Promotions</
> > ns1:description1>
> > <ns1:description2>Call now for free quote</
> > ns1:description2>
> > </ns1:ad>
> > </ns1:operand>
> > </ns1:operations>
> > <ns1:operations xmlns:ns1="https://adwords.google.com/
> > api/adwords/cm/v200909" xsi:type="ns1:AdGroupAdOperation">
> > <ns1:operator>ADD</ns1:operator>
> > <ns1:operand xmlns:ns1="https://adwords.google.com/api/
> > adwords/cm/v200909" xsi:type="ns1:AdGroupAd">
> > <ns1:adGroupId>1744860340</ns1:adGroupId>
> > <ns1:ad xsi:type="">
> > <ns1:url>http://school.com?
> > utm_source=myadengine&utm_medium=Google&utm_campaign=API
> > Campaign BF</ns1:url>
> > <ns1:displayUrl>http://school.com</ns1:displayUrl>
> > <ns1:headline>Your Best School</ns1:headline>
> > <ns1:description1>We provide online coaching</
> > ns1:description1>
> > <ns1:description2>and time independent</
> > ns1:description2>
> > </ns1:ad>
> > </ns1:operand>
> > </ns1:operations>
> > <ns1:operations xmlns:ns1="https://adwords.google.com/
> > api/adwords/cm/v200909" xsi:type="ns1:AdGroupAdOperation">
> > <ns1:operator>ADD</ns1:operator>
> > <ns1:operand xmlns:ns1="https://adwords.google.com/api/
> > adwords/cm/v200909" xsi:type="ns1:AdGroupAd">
> > <ns1:adGroupId>1744860340</ns1:adGroupId>
> > <ns1:ad xsi:type="">
> > <ns1:url>http://school.com?
> > utm_source=myadengine&utm_medium=Google&utm_campaign=API
> > Campaign BF</ns1:url>
> > <ns1:displayUrl>http://school.com</ns1:displayUrl>
> > <ns1:headline>Exam Preparation</ns1:headline>
> > <ns1:description1>Prepare you exam</
> > ns1:description1>
> > <ns1:description2>We are the best</
> > ns1:description2>
> > </ns1:ad>
> > </ns1:operand>
> > </ns1:operations>
> > </ns1:operationStreams>
> > </ns1:request>
> > <ns1:numRequestParts>2</ns1:numRequestParts>
> > </ns1:operand>
> > </ns1:operation>
> > </ns1:mutate>
> > </SOAP-ENV:Body>
> > </SOAP-ENV:Envelope>
>
> > HTTP/1.1 500 Internal Server Error
> > Content-Type: text/xml; charset=UTF-8
> > Content-Encoding: gzip
> > Transfer-Encoding: chunked
> > Date: Mon, 21 Jun 2010 12:11:45 GMT
> > Expires: Mon, 21 Jun 2010 12:11:45 GMT
> > Cache-Control: private, max-age=0
> > X-Content-Type-Options: nosniff
> > X-Frame-Options: SAMEORIGIN
> > X-XSS-Protection: 1; mode=block
> > Server: GSE
>
> > <?xml version="1.0"?>
> > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> > <soap:Body>
> > <soap:Fault>
> > <faultcode>soap:Server</faultcode>
> > <faultstring>Unmarshalling Error: input is empty </faultstring>
> > </soap:Fault>
> > </soap:Body>
> > </soap:Envelope>
>
> > [Jun 21 2010 20:11:45.000000 - INFO] POST /api/adwords/job/v200909/
> > BulkMutateJobService HTTP/1.1
> > Host: adwords.google.com
> > Connection: Keep-Alive
> > User-Agent: PHP-SOAP/5.2.6-1+lenny6, gzip
> > Accept-Encoding: gzip, deflate
> > Content-Encoding: gzip
> > Content-Type: text/xml; charset=utf-8
> > SOAPAction: ""
> > Content-Length: 702
>
> > <?xml version="1.0" encoding="UTF-8"?>
> > <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
> > envelope/" xmlns:ns1="https://adwords.google.com/api/adwords/cm/
> > v200909" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> > <SOAP-ENV:Header>
> > <ns1:RequestHeader xsi:type="ns1:RequestHeader">
> > <ns1:applicationToken>LtTI4H5PC4XAO1I0zxBMqg</
> > ns1:applicationToken>
> > <ns1:authToken>*****</ns1:authToken>
> > <ns1:clientCustomerId>4556198678</ns1:clientCustomerId>
> > <ns1:clientEmail>[email protected]</ns1:clientEmail>
> > <ns1:developerToken>RGSFSK93Gbp4zTdzLJBh9w</ns1:developerToken>
> > <ns1:userAgent>PHP v5.2.6-1+lenny6 - AdWords API PHP Client
> > Library - v2.0.0 - MyAdEngine Test</ns1:userAgent>
> > </ns1:RequestHeader>
> > </SOAP-ENV:Header>
> > <SOAP-ENV:Body>
> > <ns1:get xsi:type="get">
> > <ns1:selector xmlns:ns1="https://adwords.google.com/api/adwords/
> > cm/v200909" xsi:type="ns1:BulkMutateJobSelector">
> > <ns1:jobIds>0</ns1:jobIds>
> > </ns1:selector>
> > </ns1:get>
> > </SOAP-ENV:Body>
> > </SOAP-ENV:Envelope>
>
> > HTTP/1.1 500 Internal Server Error
> > Content-Type: text/xml; charset=UTF-8
> > Content-Encoding: gzip
> > Transfer-Encoding: chunked
> > Date: Mon, 21 Jun 2010 12:11:45 GMT
> > Expires: Mon, 21 Jun 2010 12:11:45 GMT
> > Cache-Control: private, max-age=0
> > X-Content-Type-Options: nosniff
> > X-Frame-Options: SAMEORIGIN
> > X-XSS-Protection: 1; mode=block
> > Server: GSE
>
> > <?xml
>
> ...
>
> read more »
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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