partialFailure for OfflineConversionFeedService broken in v201708?

91 views
Skip to first unread message

Robert Sirre

unread,
Aug 16, 2017, 9:27:55 AM8/16/17
to AdWords API Forum
After upgrading from v201705 to v201708 (using the googleads/googleads-dotnet-lib (v22.1.0) library), the API doesn't seems to adhere to the 'partialFailure' header when using the Mutate function on the OfflineConversionFeedService

I requested to accept partial failures, after which I should get a result response, but I got served an error message instead, stating the failures.

Does anyone use this feature and experienced the same? I didn't see this mentioned in the changelog ( https://developers.google.com/adwords/api/docs/reference/release-notes/v201708 ).

I reverted back to v201705

Shwetha Vastrad (AdWords API Team)

unread,
Aug 16, 2017, 10:50:02 AM8/16/17
to AdWords API Forum
Hi Robert, 

When the partialFailure header is set to true, the service will return results for successful operations and errors for failed ones. Could you enable logging and provide the SOAP request and response logs for the request to OfflineConversionFeedService where results for valid operations were not returned? Please use Reply privately to author when responding. 

Thanks,
Shwetha, AdWords API Team.

Robert Sirre

unread,
Aug 17, 2017, 5:13:36 AM8/17/17
to AdWords API Forum
Dear Swetha,

I have tried to get SOAP logging to work again but that failed too (using the exact instructions from https://github.com/googleads/googleads-dotnet-lib/wiki/How-to-capture-SOAP-messages), but no files appear. It previously had worked though.

When reverting the code back to using the v201705 API, it still is broken. Therefore this doesn' t look like an issue at the API side, but at the library side. When downgrading the library, it works again.

Regards,

Robert

Robert Sirre

unread,
Aug 17, 2017, 5:29:25 AM8/17/17
to AdWords API Forum
I opened a Github issue: GitHub issue/107

Robert Sirre

unread,
Aug 17, 2017, 5:48:09 AM8/17/17
to AdWords API Forum
Just so you known that I uthink I understand the behavior of this switch:

OfflineConversionFeedReturnValue returnValue;

// Upload all the created conversions in a batch
// By specifying 'partial failure = true' in the header, this allows individual failures not to prevent partial success, and will return 'partialFailureErrors' which then can be evaluated
offlineConversionFeedService.RequestHeader.partialFailure = true;
try
{
    returnValue = offlineConversionFeedService.mutate(operations.ToArray());
}
catch (AdWordsApiException)
{
    //Handle specific errors, code omitted for brevity
}
catch (Exception)
{
//Handle generic specific, code omitted for brevity
}

if (returnValue.partialFailureErrors != null
    && returnValue.partialFailureErrors.Any())
{
    foreach (var apiError in returnValue.partialFailureErrors)
    {
        var index = apiError.GetOperationIndex();
                var conversion = conversions[index];
        // Individual failures are handled here


On Wednesday, August 16, 2017 at 4:50:02 PM UTC+2, Shwetha Vastrad (AdWords API Team) wrote:

Shwetha Vastrad (AdWords API Team)

unread,
Aug 17, 2017, 3:27:57 PM8/17/17
to AdWords API Forum
Hi Robert, 

Thank you for providing the information. Since you have already created an issue in the library's issue tracker, you can follow up with the library owners in that thread. 

Regards,
Shwetha, AdWords API Team.

Marina O

unread,
Aug 20, 2017, 10:37:08 AM8/20/17
to AdWords API Forum
I have the same problem after upgrading to v201708

the soap header looks like this:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header><RequestHeader xmlns="https://adwords.google.com/api/adwords/cm/v201708">
<clientCustomerId>123</clientCustomerId><developerToken>token</developerToken>
<userAgent>INSERT_YOUR_COMPANY_OR_APPLICATION_NAME_HERE (AwApi-DotNet/22.1.0, Common-Dotnet/8.0.0, .NET CLR/4.0.30319.42000, OAuthApplicationFlow, gzip)</userAgent>
<partialFailure>True</partialFailure></RequestHeader>

the value True is with uppercase if i change it to lower  it works OK

How to make it  work without to change it manually? 

Shwetha Vastrad (AdWords API Team)

unread,
Aug 21, 2017, 12:53:47 PM8/21/17
to AdWords API Forum
Hi Marina, 

Could you provide the code snippet where you are setting the partialFailure header? You can refer to the HandlePartialFailures.vb and HandlePartialFailures.cs for an example on setting this header in the .NET client library. 

Robert Sirre

unread,
Aug 22, 2017, 9:19:58 AM8/22/17
to AdWords API Forum
This issue has been acknowledged and resolved for the next release.

Robert Sirre

unread,
Aug 28, 2017, 9:00:00 AM8/28/17
to AdWords API Forum
I confirmed the fix on my end.
Reply all
Reply to author
Forward
0 new messages