Complaint about PHP client library not fixing problems and closing issues prematurely

72 views
Skip to first unread message

Chloe

unread,
Aug 25, 2016, 5:38:55 PM8/25/16
to AdWords API Forum
I want to complain about the PHP client library maintainers closing issues and preventing comments on problems without even fixing them. I had to open a new ticket.

I continue to get the error even for separate projects. I cannot provide a SOAP log because 1) the project is on Heroku with ephemeral file systems, 2) it's not possible to enable logging without a config file https://groups.google.com/d/msg/adwords-api/ydrmX4lVL4E/dlelWlmKCQAJ, 3) I cannot check a config file into Git with credentials, 4) I cannot use config file as we use different logins depending on environment and have multiple accounts, 5) the problem is intermittent.

The maintainer even closed the new ticket. They re-opened the old one, but they still won't let me comment. I even reloaded the page several times. Now I can't comment on either issue.

Michael Cloonan (AdWords API Team)

unread,
Aug 26, 2016, 7:57:52 AM8/26/16
to AdWords API Forum
Hello,

I will let the maintainers of that library know about this thread and that you are having difficulty commenting in that issue. Please know that their actions were meant to keep the issue tracker clean as best they could with their current knowledge. They reopened the issue as soon as you brought up more information. I'm sure they didn't realize that something is preventing you from commenting.

Regards,
Mike, AdWords API Team

Chloe

unread,
Aug 26, 2016, 4:08:02 PM8/26/16
to AdWords API Forum
OK. The problem is still happening and I still can't comment on the issue in GitHub.

307 <190>1 2016-08-26T03:17:49.585566+00:00 app scheduler.2914 - - PHP Notice: Failed to load response into DOM: DOMDocument::loadXML(): Empty string supplied as input in /app/vendor/googleads/googleads-php-lib/src/Google/Api/Ads/Common/Lib/AdsSoapClient.php on line 251 Context
307 <190>1 2016-08-26T03:17:49.597630+00:00 app scheduler.2914 - - PHP Notice: Failed to load response into DOM: DOMDocument::loadXML(): Empty string supplied as input in /app/vendor/googleads/googleads-php-lib/src/Google/Api/Ads/Common/Lib/AdsSoapClient.php on line 348 Context
307 <190>1 2016-08-26T03:17:49.597831+00:00 app scheduler.2914 - - PHP Notice: Failed to load response into DOM: DOMDocument::loadXML(): Empty string supplied as input in /app/vendor/googleads/googleads-php-lib/src/Google/Api/Ads/Common/Lib/AdsSoapClient.php on line 366 Context

Thanet Knack Praneenararat (AdWords API Team)

unread,
Aug 28, 2016, 10:32:03 PM8/28/16
to AdWords API Forum
Hello Chloe,

I'm sorry to hear that you have a problem with our github repository.
However, we've never locked any github issues and always open for everyone to post new issues / re-open the old ones / comment on any issues.
So, it is likely that this is a problem on github side.

For your original issue, as it's intermittent and it's involved with Heroku, which is out of our scope, it would take long time to investigate and resolve.
We'll update the progress on the github issue #152.

Meanwhile, is it possible for you to get any help from Heroku about setup / network configurations or log files as well?

Cheers,
Thanet, AdWords API Team

Chloe

unread,
Aug 29, 2016, 7:30:03 PM8/29/16
to AdWords API Forum
Please contact GitHub to get them to fix their site. I still can't comment. See the screenshot above.

Just because I mention Heroku, you are using that as a red herring. That's like me saying "the software is running on a Dell computer" and you responding "oh Dell is out of our scope". 

The errors are becoming more & more frequent now. I ran a request from development against the production database and production AdWords to collect a log file. It ran very, very slow. Here is the request info log:

[Aug 28 2016 03:25:58.000000 - ERROR] effectiveUser=9999999999 service=AdGroupCriterionService method=query operators={} responseTime=null requestId=null operations=null units=null server=adwords.google.com isFault=true faultMessage=Error Fetching http body, No Content-Length, connection closed or chunked data

Here is the soap XML log:

[Aug 28 2016 03:25:58.000000 - ERROR] POST /api/adwords/cm/v201605/AdGroupCriterionService HTTP/1.1
Host: adwords.google.com
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.6.24, gzip
Accept-Encoding: gzip, deflate
Content-Encoding: gzip
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Content-Length: 434
Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<?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/v201605">
  <SOAP-ENV:Header>
    <ns1:RequestHeader>
      <ns1:clientCustomerId>9999999</ns1:clientCustomerId>
      <ns1:developerToken>xxxxxxxxxxxxxxxxx</ns1:developerToken>
      <ns1:userAgent>ShopWiz (AwApi-PHP/10.0.0, Common-PHP/10.0.0, PHP/5.6.24)</ns1:userAgent>
    </ns1:RequestHeader>
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <ns1:query>
      <ns1:query>SELECT Id, KeywordText, KeywordMatchType, AdGroupId, Status, CpcBid where CriteriaType = KEYWORD and CampaignId = 423787137 LIMIT 11000,1000</ns1:query>
    </ns1:query>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=UTF-8
Content-Encoding: gzip
Date: Sat, 27 Aug 2016 16:57:57 GMT
Expires: Sat, 27 Aug 2016 16:57:57 GMT
Cache-Control: private, max-age=0
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Alt-Svc: clear
Transfer-Encoding: chunked



Chloe

unread,
Aug 29, 2016, 7:45:11 PM8/29/16
to AdWords API Forum
Never mind about GitHub. I figured out what the problem is. Let me know if you want me to tell you. The AdWords API problem still remains.

Thanet Knack Praneenararat (AdWords API Team)

unread,
Aug 30, 2016, 3:50:27 AM8/30/16
to AdWords API Forum
Hi Chloe,

Sorry if my words weren't clear. 
Of course, we're trying to help you but as we're not expert in Heroku and we can't try many things on your account directly, it's difficult for me to help you resolve the issue very quickly.

Could you please give me your requestId (if you can get it from the log) or your clientCustomerId via Reply privately to author please?
I need to use that to double check if your request's response has been sent out from our server.

Thank you so much in advance.

Best,
Thanet, AdWords API Team

Thanet Knack Praneenararat (AdWords API Team)

unread,
Aug 30, 2016, 3:59:17 AM8/30/16
to AdWords API Forum
Hi Chloe,

In SoapClientFactory, could you try adding the following lines anywhere in the GenerateServiceClient method?
$contextOptions['http']['protocol_version'] = '1.0';
$contextOptions['http']['header'] = 'Connection: Close';

Could you try adding that and see if the situation is getting better please?

Thanks,
Thanet, AdWords API Team

Chloe

unread,
Sep 30, 2016, 11:16:48 AM9/30/16
to AdWords API Forum
OK that seemed to work for the single time I ran it locally, but I can't insert those lines into the Composer distribution for deployment on Heroku. Heroku pulls the library from Composer during build/deploy automatically. The problem is also intermittent so I can't tell if it is fixed for good. I replied privately to your previous message.
Reply all
Reply to author
Forward
0 new messages