We have done a lot of work on php soap. And we finished in two parts including phpsoap client and phpsoap server.
We finished in just like the xmlrpc does.
PHP and SOAP
We have done a lot of work on php soap. And we finished in two parts including phpsoap client and phpsoap server.
We finished in just like the xmlrpc does.
And it's pure php.
We have done a lot of work on php soap. And we finished in two parts including phpsoap client and phpsoap server.
We finished in just like the xmlrpc does.
We have finished the php soap project. You can take a look at:
http://www.gigaideas.com.cn/phpsoap
it's guite good you can install and use it by yourself.
Don't hesitate to contacte me if you have any problems.
steven@gigaideas.com.cn
The Link is dead
I am sorry there is something wrong with our web server these days. It's ok now. You can take a check.
www.gigaideas.com.cn/phpsoap
The link is operational again..
Pleeeeeeease Anthony,
give us a way to find your SOAP implementation ...
Thanks in advance.
Nicolas.
Please take a look of www.gigaideas.com.cn/phpsoap
If you have problem in the installation of it, please don't hesitate to contact us.
steven@gigaideas.com.cn
or
victor@gigaideas.com.cn
Dear Steven,
I have tested your PHP class for SOAP.
I wrote a PHP client program with your soap_client.inc included.
Server side was build with Apache SOAP for Java and Tomcat server.
It can work fine when using Apache SOAP 2.0 + Xerces 1.2.x.
But I encountered problem when using Apache SOAP 2.2 (and Xerces 1.4.0).
The bug was found after I tracing the codes of soap_client.inc.
The following is the SOAP response from server side(Apache SOAP 2.2):
HTTP/1.0 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: 471
Set-Cookie2: JSESSIONID=m6y1fuixe1;Version=1;Discard;Path="/soap22"
Set-Cookie: JSESSIONID=m6y1fuixe1;Path=/soap22
Servlet-Engine: Tomcat Web Server/3.2.1 (JSP 1.1; Servlet 2.2; Java 1.2.2; Windows NT 5.0 x86; java.vendor=Sun Microsystems Inc.)
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:getCurrencyResponse xmlns:ns1="urn:Currency" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="xsd:string">28.18</return>
</ns1:getCurrencyResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
You can find there is an additional CR+LF before </SOAP-ENV:Body> tag.
But our PHP client try to truncate HTTP header by finding CR+LF, this cause
fault.
This problem was originated from function parseResponse($data="") of
soap_client.inc (about at line no. 640).
The original code is:
// gotta get rid of headers here
if ((!$hdrfnd) && ereg("^(.*)\r\n\r\n",$data,$_xh[$parser]['ha'])) {
$data=ereg_replace("^.*\r\n\r\n", "", $data);
$hdrfnd=1;
}
I try to fix the bug by replacing above code with the following:
//..... Fix for combining use with Apache SOAP 2.2 RPCRouterServlet.
//..... From: "Growbal" <growbal@taiwan.com>
if (!$hdrfnd) {
if (ereg("^(.*)\<\?xml",$data,$_xh[$parser]['ha'])) {
$data=ereg_replace("^(.*)\<\?xml", "<?xml", $data);
$hdrfnd=1;
}
elseif (ereg("^(.*)\<SOAP-ENV\:Envelope",$data,$_xh[$parser]['ha'])) {
$data=ereg_replace("^(.*)\<SOAP-ENV\:Envelope",
"<SOAP-ENV:Envelope", $data);
$hdrfnd=1;
}
}
Then, we can get correct parsed SOAP response!
Any comment is appreciated.
Growbal Kuo
growbal@pchome.com.tw
Seems that the link MAY be dead again?
The link is dead
http://www.gigaideas.com.cn/phpsoap
can u check pl.
Has Steven taken this off the Gigaideas web site? It hasn't been available for a while? Does anyone know where it can be downloaded from