PDA

View Full Version : New failure


Bud
26-06-09, 11:47
Site went down last night:

Does this mean anything to anyone?

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://api.productserve.com/v1/ProductServeService?wsdl' in /home/login/public_html/includes/soap/classes/class.php5Client.php:31 Stack trace: #0 etc etc
#7 {main} thrown in /home/login/public_html/includes/soap/classes/class.php5Client.php on line 31
:(

My host is currently investigating (full error can be seen at www.theoffsetshop.co.uk)

Bud
28-06-09, 16:49
My host cannot find anything wrong (well they have come up with a few weird and wonderful ideas, but don't get me strarted!).

Digiwin - Is it possible that productserve.com has IP blocked my host?

The identical script is working fine on another host.

Raid
28-06-09, 18:43
Could it be related to the version of php running, I notice there is a reference to php version in:

[WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://api.productserve.com/v1/ProductServeService?wsdl' in /home/login/public_html/includes/soap/classes/class.php5Client.php:31 Stack trace: #0 etc etc

Rgds

Bud
28-06-09, 20:12
Thanks for the suggestion Raid.

I don't think this is the problem as it was running fine with PHP version 5.2.5 up until Thursday and they say the php version hasn't changed.

However, I did try and add the .htaccess fudge for V5 (http://www.shopwindowforum.com/showthread.php?t=803&highlight=php5) but obviously hadn't done it correctly as the pages just wanted to download something on opening. Do I need to anything to my .htaccess and if so, what and how?

Thanks


Addition:
Now they are saying that it needs to be using MySQL 4 not MySQL 5 (currently version 5.0.81) but it's been V5 for ages! :confused:

DW - can you confirm that Shopwindow V1 should run fine with PHP 5.2.5 and MySQL 5.0.81 and what, if anything, needs to be added to the .htaccess.

Cheers

Ollie
29-06-09, 12:13
Hey Bud,

Sorry to hear you are having problems.

We do not block IPs from our end (at least not automated and nothing has come past me recently).

Can I make a suggestion, you could try (no guarantees it'll work) taking a copy of the WSDL and saving it locally on your own site. Then update your constants.inc.php file to point to your local copy. You should then have no problem accessing this file and in turn, the web service should hopefully work again (Assuming its only grabbing the WSDL that is the problem).

I know some affiliates using other languages (.NET / Java) use this method as they have to occasionally make modifications to the WSDL.

Good luck

Ollie

Bud
05-07-09, 22:35
Thanks very much for the suggestion Ollie - I'll give it a go and report back

:)

Bud
06-07-09, 15:52
Sorry Ollie - not having much joy with that.

Should I save this file?

http://api.productserve.com/v1/ProductServeService?wsdl

...and if so what type do I save it as php/html/txt etc?

And just to be sure:

It's just includes/soap/constants.inc.php I need to alter, yes?

define('PS_WSDL', 'http://api.productserve.com/v1/ProductServeService?wsdl');
define('PS_NAMESPACE', 'http://api.productserve.com/');

PS_WSDL is obviously the new path to the file but do I also need to change the PS_NAMESPACE to my root?

Thank You

Bud
06-07-09, 16:02
OK - Have just uploaded a completely fresh install of V2 and that works fine.

Looks like this is a V1 issue as all I get with a fresh install of V1 is: WSDL file cannot be loaded from [http://api.productserve.com/v1/ProductServeService?wsdl]

I know V1 isn't being supported as such any longer but any idea why V2 works and V1 doesn't?

Andy
07-07-09, 10:59
I think V1 and V2 run off different product databases.

Might even be on different boxes.

Andy
13-07-09, 12:17
Getting this problem on all my V2 installs. My V1 is fine.

Tried a local cache of the wsdl on one install, but it doesn't work.

Another install works without the local wsdl, but very very slowly. It's also throwing this error:
soap_error Object ( [sCode] => HTTP [sString] => Could not connect to host [sDetails] => getDescendantCategoryIds: ) 1soap_error Object ( [sCode] => HTTP [sString] => Could not connect to host [sDetails] => getCategory: ) 1

Bud
13-07-09, 13:04
Wish I could offer some advice Andy.

I believe my problem was with the settings my host had. Although they completely refuse to acknowledge any changes had been made my sites 'magically' came back online after I posted a rather terse comment in their forum.

Also, I never managed to get the local WSDL working so can't comment there either.

Not much help I know, but I hope you get it sorted.

Andy
17-07-09, 13:04
My V2's have gone again. I dont think its my host, I am my own host. I haven't made any server changes that could affect it.

Ive gone back to the local wsdl again. If you need to here's how to do it:
Download the attached zip and extract it. You should find it contains 1 file called ProductServeService.xml. This is the current wsdl snapshot taken today. If you dont trust attached zip files (who could blame you) you can download it yourself here: http://api.productserve.com/v2/ProductServeService?wsdl
Upload it to you site's root (where constants.inc.php lives)
Open constants.inc.php in an editor
Find the following line:define('API_WSDL', 'http://api.productserve.com/v2/ProductServeService?wsdl');
Change it to this:#define('API_WSDL', 'http://api.productserve.com/v2/ProductServeService?wsdl');
define('API_WSDL', 'ProductServeService.xml');. Notice the original line is still intact, but escaped.
Save, Upload and TestThat should work. If it doesn't, try having an absolute DNS url for the file.

Bud
17-07-09, 16:00
Andy, you're a star - Thanks
:D

Andy
17-07-09, 21:58
Youre welcome bud.

Andy
20-07-09, 16:56
Some questions only just within topic that I can't answer myself:

Is it faster to use a local cache of the wsdl than to get it remotely?
Does getting the wsdl use a call from our quota?
How often is the wsdl updated?

Hopefully someone from SW will see this one day and answer.

GeorgeGaz
21-07-09, 10:04
Hopefully someone from SW will see this one day and answer.


:eek:

I am shocked! You say that like staff never check this forum :D

Is it faster to use a local cache of the wsdl than to get it remotely?
Yes

Does getting the wsdl use a call from our quota?
Not to my knowledge

How often is the wsdl updated?
Only when there is a hot-fix required or general update which is not very often. Now that we have the "changelog" area on the forum I will ask the guys to update this if a WSDL change is made.

Cheers

Ollie
27-07-09, 11:39
Hi guys,

Good work on getting this working. Thanks for posting the step by step Andy :D Sorry i would have posted more information but have been on vacation for a few weeks.

Just a quick follow up on Georges post. Having a local copy of the cache is in theory quicker but the ShopWindow client caches a copy locally for you so you should not experience any slowness in regards to this.

Cheers