Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SoapFault: SOAP-ERROR: Parsing WSDL: Couldn't load from 'clientcenter.api.bingads.microsoft.... #163

Open
austinkregel opened this issue Dec 13, 2021 · 3 comments

Comments

@austinkregel
Copy link

austinkregel commented Dec 13, 2021

Greetings!

Issue
There is intermittent failures when initializing the service client, related to fetching the SOAP document

Details
Over the last number of months my team has noticed an occasional error popping up related to the instantiation of the ServiceClient in this package.

SoapFault: SOAP-ERROR: Parsing WSDL: Couldn't load from 'clientcenter.api.bingads.microsoft.com/Api/CustomerManagement/v13/CustomerManagementService.svc?singleWsdl' : failed to load external entity "clientcenter.api.bingads.microsoft.com/Api/CustomerManagement/v13/CustomerManagementService.svc?singleWsdl"

When tracking down this issue, I learned it can be easily reproducible by killing the internet to the computer running the bit of code. Note, this is just the easiest way I found to reproduce the issue at hand. In production we're receiving occasional 500 errors when the service is initializing.

Questions 👀

  • Would it be possible for this SDK to cache or otherwise store the WSDLs in this repository instead of fetching them when initialized?
    (In my testing this could be done by using a local file path instead of an http/https path on this line https://github.com/BingAds/BingAds-PHP-SDK/blob/main/src/Auth/ServiceClient.php#L264.)
  • If it's not possible for this package to cache the wsdl files, do these files get update dynamically (if so, how often might these updates be)?
  • Would it be a problem if we cached these files ourselves and served them when needed?
  • Is there someway to prevent these requests from being made, or to direct it to something that will be available to the code 100% of the time?
@meip
Copy link

meip commented Mar 2, 2022

@eric-urban @qitia do you have any insights why the API is so unstable? On one hand the requests take very long to respond and fail often. I monitor it with this dummy script:

#!/bin/bash

while true; do
    echo "$(date) $(curl -s -o /dev/null -I -w "%{http_code}" 'https://clientcenter.api.bingads.microsoft.com/Api/CustomerManagement/v13/CustomerManagementService.svc?WSDL')"
    sleep 1
done

@qitia
Copy link
Contributor

qitia commented Mar 4, 2022

we did not notice customer management API outage recently from internal monitoring and we will do some investigation on how to embed the wsdl inside the package.

@austinkregel
Copy link
Author

Hey @qitia I just wanted to update this thread and say this is still occasionally an issue

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants