SOAP-ERROR: Parsing WSDL

1,731 views
Skip to first unread message

Mahesh

unread,
Apr 3, 2013, 2:15:31 AM4/3/13
to adwor...@googlegroups.com

Hello All,

 I am having this problem From last 10 days, some times Google Api raise below error when it try to Active campaign in loop, It does not happen continuesly , from efforts of five in two effort it raise this error.. Please Can any one have a solution? sorry for my bad English...

  Error:

SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://adwords.google.com/api/adwords/cm/v201302/CampaignService?wsdl' : failed to load external entity "https://adwords.google.com/api/adwords/cm/v201302/CampaignService?wsdl"



Paul Matthews (AdWords API Team)

unread,
Apr 3, 2013, 6:17:38 AM4/3/13
to adwor...@googlegroups.com
Hi Mahesh,

Firstly:
Have you enabled WSDL_CACHE? We've had reported issues where caching of WSDLs has caused errors. Can you try turning it off and making the same number of requests. This setting is configurable in the settings.ini .

Secondly:
This kind of problem is generally due to connectivity issues between the client server and the google servers. Often caused by either a miss-configured network proxy or a network issue. You may need to do some investigation to see if there is a network issue there.

Finally:
I recommend building in fault tolerance, to allow you to retry the failing request. I.e. whenever a request fails, it waits and retries the original request - such as the exponential backoff algorithm.

Regards,

- Paul, AdWords API Team.

Mehul HvInfotech

unread,
Jan 8, 2014, 12:45:47 AM1/8/14
to adwor...@googlegroups.com
Hi Paul ,
 Again From  This Morning we are facing this problem ..
Till the the Day it was working fine ..
we have also checked about Open SSL enabled And it is enabled ...

can you suggest in this , Please , Its so urgent ...

Evgeniy Bogdanov

unread,
Jan 8, 2014, 4:07:02 AM1/8/14
to adwor...@googlegroups.com
You could save WSDL on local disk and alter library to use it instead of remote URL.


2014/1/8 Mehul HvInfotech <me...@hvinfotech.com>
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://googleadsdeveloper.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 adwor...@googlegroups.com
To unsubscribe from this group, send email to
adwords-api...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
---
You received this message because you are subscribed to the Google Groups "AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Hardik Vyas

unread,
Jan 8, 2014, 7:48:22 AM1/8/14
to adwor...@googlegroups.com
Hello Evgeniy,

Can you guide about using WSDL Library from Local instead Remote URL?

What are the changes required?

Thanks,

Mehul HvInfotech

unread,
Jan 8, 2014, 7:50:08 AM1/8/14
to adwor...@googlegroups.com
Do you means by setting.ini ?
we have tried with all tree option for this ...

Paul Matthews (AdWords API Team)

unread,
Jan 8, 2014, 9:22:26 AM1/8/14
to adwor...@googlegroups.com
If you're still requesting the WSDL you listed before, you'll be hitting this problem because the v201302 has sunset - you would need to update to a current version of the AdWords API.

If you've updated to a working API version then as Evgeniy suggested, you should try to download the WSDL from the URL yourself:
  1. Download the wsdl and store it somewhere accessible locally on your webserver
  2. Point your application to the local wsdl rather than the URL it will currently have
  3. Make a request & check the soap logs
Regards,

- Paul, AdWords API Team.

Mehul HvInfotech

unread,
Jan 8, 2014, 9:54:56 AM1/8/14
to adwor...@googlegroups.com
Hello Paul,

We are using version v201309 with ClientLogin. Also tested with OAuth2.

We are getting this error,

SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://adwords.google.com/api/adwords/cm/v201309/CampaignService?wsdl' : failed to load external entity "https://adwords.google.com/api/adwords/cm/v201309/CampaignService?wsdl" 

Our server has OpenSSL Enabled in php.ini and we have also tested connection between our server to google adwords as,

openssl s_client -connect adwords.google.com:443

Kindly check & Let us know ASAP.

Thanks,
 
 

Paul Matthews (AdWords API Team)

unread,
Jan 8, 2014, 10:11:41 AM1/8/14
to adwor...@googlegroups.com
Are you seeing this error on other services? This error should be unrelated to your authorization mechanism (OAuth2).

Can you try downloading the wsdl from the server using wget or something. Then checking it's formed correctly. Finally modify your application so that it reads the WSDL from your local machine.

We're not getting reports of this error from other customers, so the wsdl should be available and correct.

Regards,

- Paul, AdWords API Team.

Mehul HvInfotech

unread,
Jan 8, 2014, 10:20:32 AM1/8/14
to adwor...@googlegroups.com
Hi Paul,

We will try getting WSDL file via WGET but I need to know more about HOW to modify our application so that it reads from local directory?

Can you help in that?

Mehul HvInfotech

unread,
Jan 8, 2014, 10:23:28 AM1/8/14
to adwor...@googlegroups.com
Hello,

I just tried WGET for WSDL and getting this error,


[~]# wget https://adwords.google.com/api/adwords/cm/v201309/CampaignService?wsdl
--2014-01-08 15:21:12-- https://adwords.google.com/api/adwords/cm/v201309/CampaignService?wsdl
Resolving adwords.google.com... 74.125.24.50, 2a00:1450:400b:c02::32
Connecting to adwords.google.com|74.125.24.50|:443... connected.
ERROR: certificate common name `google.com' doesn't match requested host name `adwords.google.com'.
To connect to adwords.google.com insecurely, use `--no-check-certificate'.
Unable to establish SSL connection.

Any suggestions on this?

Thanks,

Mehul HvInfotech

unread,
Jan 8, 2014, 10:28:48 AM1/8/14
to adwor...@googlegroups.com
Hello,

I also tried WGET with --no-check-certificate but it fails too,

[~]# wget --no-check-certificate https://adwords.google.com/api/adwords/cm/v201309/CampaignService?wsdl
--2014-01-08 15:27:02-- https://adwords.google.com/api/adwords/cm/v201309/CampaignService?wsdl

Resolving adwords.google.com... 74.125.24.50, 2a00:1450:400b:c02::32
Connecting to adwords.google.com|74.125.24.50|:443... connected.
WARNING: certificate common name `google.com' doesn't match requested host name `adwords.google.com'.
HTTP request sent, awaiting response... 403 Forbidden
2014-01-08 15:27:03 ERROR 403: Forbidden.

Thanks,

Paul Matthews (AdWords API Team)

unread,
Jan 8, 2014, 10:57:12 AM1/8/14
to adwor...@googlegroups.com
Hi Mehul,

I've recreated the same wget request from an example host and I don't get that error message. In the past we've seen this has being an SSL setting that's flagging the error. Can you try a wget from another machine and if successful check the differences in openssl settings.

Regards,

- Paul, AdWords API Team.

Mehul HvInfotech

unread,
Jan 8, 2014, 11:12:56 AM1/8/14
to adwor...@googlegroups.com
Hello Paul,

I have tried different server for WGET but getting exactly same errors like earlier one.

# wget https://adwords.google.com/api/adwords/cm/v201309/CampaignService?wsdl
--2014-01-08 16:09:33--  https://adwords.google.com/api/adwords/cm/v201309/CampaignService?wsdl
Resolving adwords.google.com... 173.194.67.50, 2a00:1450:400c:c05::32
Connecting to adwords.google.com|173.194.67.50|:443... connected.
ERROR: certificate common name âgoogle.comâadwords.google.comâ
To connect to adwords.google.com insecurely, use â--no-check-certificateâ.


And

--2014-01-08 16:09:55--  https://adwords.google.com/api/adwords/cm/v201309/CampaignService?wsdl
Resolving adwords.google.com... 173.194.67.50, 2a00:1450:400c:c05::32
Connecting to adwords.google.com|173.194.67.50|:443... connected.
WARNING: certificate common name âgoogle.comâadwords.google.comâ

HTTP request sent, awaiting response... 403 Forbidden

And main thing is it was working fine till Yesterday evening. And Nothing is changed before that.

Any idea about SSL settings needs to checked / modified?

Thanks,
Mehul

Evgeniy Bogdanov

unread,
Jan 8, 2014, 11:38:15 AM1/8/14
to adwor...@googlegroups.com
I got 403 from Google only at some public proxy services (I assume that Google banned them for scrapping).
Try to create SOCKS server via SSH port forwarding and open Google services at your local browser.
If any Google page shows 403 - this is not related with Adwords API.

For your question what you need to change for your local WSDLs is:

file: src/Google/Api/Ads/Common/Lib/SoapClientFactory.php
Line #99
$wsdl = $location . '?wsdl';

Change to:
$wsdl = $location;

And:

line #174

protected function GetServiceLocation($serviceName) {

if ($serviceName == 'CampaignService' || $serviceName == 'Campaign') {
   return 'path/to/local/wsdl';

}


2014/1/8 Mehul HvInfotech <me...@hvinfotech.com>
Reply all
Reply to author
Forward
0 new messages