xampp 1.6.5 and web services problem with vista?

Problems with the Windows version of XAMPP, questions, comments, and anything related.

xampp 1.6.5 and web services problem with vista?

Postby trabakoulas » 01. February 2008 18:00

Hi!

I use xampp 1.6.5 on vista.
Apache seems to be working ok
The problem is I can't get a simple "Hello world" web service with SOAP extension to run...
I tried it on a friend's pc, on ubuntu and it worked fine (he was not using xampp)

Here's the service, client and wsdl script, it's samisa's example
http://wso2.org/library/1060
The only change I've made is changing the service location address in the wsdl file.

The service doesn't seem to run at all
That's what I get when running the client
Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\helloclient.php on line 11


Any help would be greatly appreciated!
SOAP extension is enabled of course

PS. I'm new to php and web services so be gentle plz.... :roll:
trabakoulas
 
Posts: 2
Joined: 01. February 2008 17:23

Re: xampp 1.6.5 and web services problem with vista?

Postby trabakoulas » 19. April 2008 20:52

I've found what the problem was, so I'd thought I'd share for anyone else who's having the same problem

Well, the thing is that vista use an IPv6-based TCP/IP stack.
The localhost machine alias is, by default, aliased to the ::1 IPv6 loopback address.
Any attempt to open a soapserver url using localhost to refer to the current machine causes the web browser to hang.
I'm not sure really but I think this means that soapserver is lacking proper ipv6 support.
The localhost machine name does not work because Vista resolves localhost to the IP v6 ::1 loopback address.


And here's a simple solution to the problem :)

The mapping of localhost to IP address is performed by this file:
Code: Select all
%windir%\System32\drivers\etc\hosts


The hosts file contains these two lines when Windows Vista is initially installed:
Code: Select all
127.0.0.1 localhost
::1 localhost


First, make a backup copy of your hosts file:
Code: Select all
copy %windir%\System32\drivers\etc\hosts %temp%\hosts.bak


Then edit the hosts file (see this link for instructions). There are two options:

1. Remove or comment out the "::1 localhost" line. Moving it down is not sufficient, as Windows Vista prioritizes IPv6 before IPv4.
2. A safer technique: insert additional lines using your own unique hostname at the end of the hosts file:
Code: Select all
127.0.0.1 myhost          # newly inserted line


Then use myhost instead of localhost in your test URL

The second technique is considered safer, because removing localhost may affect IPv6-aware Vista programs that reference localhost.

I found about this on a site about another server, but this seems to be the case for soap services using soapserver/client as well
Since Windows Server 2008 also use an IPv6-based TCP/IP stack, you'd also have the same problem there.

Anyway, I really think this should be noted on the documentation.
Personally I couldn't locate the problem that easily... :/
So, hope this helps others and saves them the trouble I've had
Cheers :)
trabakoulas
 
Posts: 2
Joined: 01. February 2008 17:23


Return to XAMPP for Windows

Who is online

Users browsing this forum: No registered users and 47 guests