<message>[EntityNotFound.INVALID_ID @ operations[0].operand.sharedSetId; trigger:'SharedSetId{id=1487241406}']</message>
Prior to making this mutate request I can query the SharedSetServiceInterface and get all the SharedSets for this account. One of the SharedSets is that with the ID I'm told is EntityNotFound.INVALID_ID:
2019-05-22 13:08:56,473 INFO - SharedSet{memberCount=78, name=REDACTED, referenceCount=5, sharedSetId=1487241406, status=ENABLED, type=NEGATIVE_KEYWORDS}
I am able to add SharedCriterion to other SharedSets for this same account.
One thing I noticed about the error trigger:
<trigger>SharedSetId{id=1487241406}</trigger>
Usually that just looks something like the following for other Service errors:
<trigger>1487241406</trigger>
I'm not sure if it's a red herring or some part of the problem but I'm constructing this service call in the same way as other valid service calls.
Full SOAP below with credentials redacted.
Thanks
Pete
2019-05-22 13:08:56,877 INFO soapXmlLogger - SOAP request:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<mutate xmlns="https://adwords.google.com/api/adwords/cm/v201809">
<operations>
<operator>ADD</operator>
<operand>
<sharedSetId>1487241406</sharedSetId>
<criterion xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201809" xsi:type="ns2:Keyword">
<ns2:text>REDACTED</ns2:text>
<ns2:matchType>PHRASE</ns2:matchType>
</criterion>
<negative>true</negative>
</operand>
</operations>
</mutate>
</soapenv:Body>
</soapenv:Envelope>
2019-05-22 13:08:56,877 INFO soapXmlLogger - SOAP response:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201809">
<requestId>0005897d05508c2c0a3f32078509c83e</requestId>
<serviceName>SharedCriterionService</serviceName>
<methodName>mutate</methodName>
<operations>1</operations>
<responseTime>164</responseTime>
</ResponseHeader>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>[EntityNotFound.INVALID_ID @ operations[0].operand.sharedSetId; trigger:'SharedSetId{id=1487241406}']</faultstring>
<detail>
<ApiExceptionFault xmlns="https://adwords.google.com/api/adwords/cm/v201809">
<message>[EntityNotFound.INVALID_ID @ operations[0].operand.sharedSetId; trigger:'SharedSetId{id=1487241406}']</message>
<ApplicationException.Type>ApiException</ApplicationException.Type>
<errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="EntityNotFound">
<fieldPath>operations[0].operand.sharedSetId</fieldPath>
<fieldPathElements>
<field>operations</field>
<index>0</index>
</fieldPathElements>
<fieldPathElements>
<field>operand</field>
</fieldPathElements>
<fieldPathElements>
<field>sharedSetId</field>
</fieldPathElements>
<trigger>SharedSetId{id=1487241406}</trigger>
<errorString>EntityNotFound.INVALID_ID</errorString>
<ApiError.Type>EntityNotFound</ApiError.Type>
<reason>INVALID_ID</reason>
</errors>
</ApiExceptionFault>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>