Trouble connecting to a PHP SoapServer module

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I have developed a Soap server program, index.php, written in PHP,
using the PHP built-in SoapServer. I am running this on my development
laptop using Apache and the XAMPP stack. This program loads a
pre-defined WSDL file that defines the Soap locations as:

   <wsdl:service name="CB_Server">
      <wsdl:port name="CB_ServerSoap" binding="tns:CB_ServerSoap">
        <soap:address location="http://localhost/CB_ServerSoap"/>

I am sending requests to it from SoapServer using the address as:  
  http://localhost/CB_Server/index.php  I am also able to edit this
section of the WSDL and have tried quite a few variations on these
values, but always with the results described below.

Each time I try the request, SoapUI shows me the response as the HTML
that Apache sends when it does not recognize the file request. I get:
   --other stuff--
      <h1>Object not found!</h1>
      <p>The requested URL was not found on this server.

It seems that I am not using the correct address for the Soap request.
I have tried many variations of the address above, as suggested by
various blog messages:

I have also loaded this program into a remote server and repeated this
test.  I also get the same results, that the server program sends back
a 404 type error," URL was not found on this server".

I wrote an extremely minimal test server and client program and got
the same results from this pair. This led me to concluded that the
problem is not related to using SoapUI.   I am completely confused.

Can anyone suggest what the correct address should be?  

Or, is there some other factor that could be producing this result?

Is theret a reason that testing using local-host and SoapUI would not

Any insight would be greatly appreciated.

(I would be pleased to post any of these files, or email them to any
interested parties, if that would help in getting this resolved.)

Thanks for thinking about this.

Re: Trouble connecting to a PHP SoapServer module

Quoted text here. Click to load it

What do localhost's server logs show?

Try running a simple page with only

<?php phpinfo(); ?>

in it.  Does it display the text or a page of information on your php  

Have you edited Apache's configuration to enable php and restarted  

DeeDee, don't press that button!  DeeDee!  NO!  Dee...
[I filter all Goggle Groups posts, so any reply may be automatically ignored]

Re: Trouble connecting to a PHP SoapServer module

On Sat, 11 Jan 2014 17:02:58 -0800, Michael Vilain

Quoted text here. Click to load it


  Thanks for the suggestions.

  My problem is specifically with the SoapServer operation.  As I
understand it, when SoapServer is instantiated, Apache (the web server
I am using) creates a "child process" which runs separately from the
normal Apache process of serving up HTML pages (which continues

  Apparently, when I send a SOAP message into Apache, it is being
handled by the normal HTML server, not being sent to the SOAP server.
That is what I am trying to figure out.

  I took your suggestion and reviewed the server logs.  They show a
number of warning messages, but after reading about them, I don't
think they show anything sinister.

  Yes, php is enabled in Apache, as the SoapServer program does run.

  I am now looking for an understanding of how the incoming Soap
messages get routed to the "child process" that is supposed to handle
them.  That seems to be my problem.

Re: Trouble connecting to a PHP SoapServer module

Den 12-01-2014 17:23, KASmith skrev:

Quoted text here. Click to load it

If you're using SOAP over HTTP, a SOAP message is no different from any  
other HTTP request.

Basically, Apache forwards the request to the PHP interpreter, and the  
response is sent back to the client - just as any other request to a PHP  

Quoted text here. Click to load it

How do you conclude that the SoapServer program runs?

When you have this line:
   <soap:address location="http://localhost/CB_ServerSoap"/>
in your WSDL, you must of course run the server and the client on the  
same machine.

But on the local machine, you should also be able to browse to
(the SOAP server will respond with an error message about an invalid  
SOAP call, but you should not get a "404 Not found" error).



Site Timeline