Yesterday, I finally got some SCA PHP examples running.  Be honest, it
really was more complicated than what I expected, and here is some

The first thing to do was to get a copy of the PHP source, and also
SDO_SCA source from the BUZZARD branch. It was easily done by issuing
commands as described in [3]. but the command I used for checking out
sdo_sca was slightly different from Simon's page above:
  cvs -d :pserver:[EMAIL PROTECTED]:/repository checkout -r BUZZARD /

Before starting building php source, be sure you have everything you
need. Here, you have to carefully read the section called "Putting it
all together" in [2], there is some extra steps if you don't have

Also, you have built all needed libraries. I wasn't sure which one or
ones I needed, but the compiler kept prompting error messages. So I
decide to go get all the three libraries Simon had mentioned above.
libxml2 and libcurl can be easily found, just follow the link
"download area" from referenced page [5]. Note that you may have to
copy libxml2.dll file, which can be in the libxml2-x.x.x.win32\bin
directory, into libxml2-x.x.x.win32\lib directory, otherwise during
the build process, you will get an error message "unresolved external
symbol _xmlDllMain referenced in ......" If you need libcurl, google it.
If you want to make life easier, download the packages with the same
prefix name as Simon used. For example I found out that if I was using, libxml2.dll would be there, in the lib
directory as it was expected.

Then, everything is ready for building sdo_sca and php source. I built
them together in one go, because I thought it was not necessary to
build php first and then sdo_sca, also the complier didn't let me to
build php source without those libraries in default configuration.
Before configuring, you have to make sure all environment variables is
set correctly, (e.g. the system can find you complier (including bison
and flex) somewhere in your path list). I used similar configure line
as Simon. I suggest you to write you a batch file for setting the
environment and issuing the configure line, it'll save you time when
the next time you want to build it again.

Finally, time to try out some examples. If something goes wrong, or
even you are not sure what the expected results looks like, you can
always check out the error logs of your application server. For apache
server error.log can be found in the directory named "logs" under the
directory where you apache server is installed. The following problems
were encountered:

1. The examples must be run from correct directories. I thought i just
needed SCA examples, so I copied those SCA examples directly into
htdocs (my apache web-root directory). That didn't work, I checked
error log and realised that some examples can be only run from its
original directory (i.e. //localhost/examples/SCA/...)

2. Don't forget to add curl extension. If you are using downloaded php
binary, in the default php.ini, there is a line " ;
extension=php_curl.dll  "which is commented out. All you have to do is
to delete the semi-colon in front. also the same for php_soap.dll,
you'll need that as well .

3.  when I was trying the json-rpc example, and getting  "No valid
@binding annotation could be found for 'WebService.php' ". I
remembered from somewhere I had been noticed about renaming to binding.soap. There were two occurrences in example
files where still using ( line 60 in
MailApplicationService.php, and line 27 in WebService.php), after I
replaced them with binding.soap, it works.

That's it, by doing this, I think I've really learnt something. I also
looked SCA source code in a bit more details which gave me a better
understanding of how it works.

You received this message because you are subscribed to the Google Groups 
"phpsoa" group.
To post to this group, send email to
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at

Reply via email to