Personalize
ADS

WSDL generation doesn't work with Apache 2.2

Forums :

I run http://example.com/ws/echo_service.php and it shows the service summary information.

If I run http://example.com/ws/echo_service.php?wsdl I get an empty page.

Any hint?

----------------

Context:

  • Windows 2000 Pro
  • Apache 2.2.8
  • PHP 5.2.5
  • WSF/PWP 1.2.1 (tried also last nightly build)

----------------

d:\app\php\php.ini

wsf.home d:\app\wsf\wsf_c d:\app\wsf\wsf_c
wsf.log_level 9 9
wsf.log_path d:\app\wsf\wsf_c\logs d:\app\wsf\wsf_c\logs
wsf.rm_db_dir D:\TEMP D:\TEMP

----------------

What I get, running echo_service.php,  in WSF/PHP logs is:

[Tue May 06 11:26:53 2008] [info]  [rampart][rampart_mod] rampart_mod initialized

[Tue May 06 11:26:53 2008] [debug] wsf_worker.c(88) [wsf_svr] rm_db_dir D:\TEMP/sandesha2_db

[Tue May 06 11:27:37 2008] [debug] wsf.c(883) [wsf_service] setting operations

[Tue May 06 11:27:37 2008] [debug] wsf.c(933) [wsf_service] request xop 0

[Tue May 06 11:27:37 2008] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(123) Service name is : ws_echo_service.php

[Tue May 06 11:27:37 2008] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(259) Module name is:addressing

[Tue May 06 11:27:37 2008] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(375) Trying to add this handler AddressingInHandler to system pre defined phases , but those handlers are already added to global chain which run irrespective of the service

[Tue May 06 11:27:37 2008] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(259) Module name is:addressing

[Tue May 06 11:27:37 2008] [debug] ..\..\src\core\phaseresolver\phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut

[Tue May 06 11:27:37 2008] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(259) Module name is:addressing

[Tue May 06 11:27:37 2008] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(259) Module name is:addressing

[Tue May 06 11:27:37 2008] [debug] ..\..\src\core\phaseresolver\phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut

[Tue May 06 11:27:37 2008] [debug] wsf.c(1363) raw post data not found

 ----------------

What I get in Apache's error.log:

[Tue May 06 12:28:40 2008] [notice] Child 944: Child process is running

[Tue May 06 12:28:40 2008] [notice] Child 944: Acquired the start mutex.

[Tue May 06 12:28:40 2008] [notice] Child 944: Starting 64 worker threads.

[Tue May 06 12:28:40 2008] [notice] Child 944: Starting thread to listen on port 80.

[Tue May 06 12:29:28 2008] [error] [client X.X.X.X] PHP Warning:  WSService::reply(wsf.php) [<a href='function.WSService-reply'>function.WSService-reply</a>]: failed to open stream: No such file or directory in D:\\web\\ws\\echo_service.php on line 57

include_path='your script dir' in php.ini

I thik you have missed to set the include_path to the 'scripts' directory in php.ini.

scripts directory can be found in the wsf/php pack.

That's the problem!

That was THE problem!

I added

include_path = "D:\app\wsf\scripts"

to php.ini and restarted Apache and WSDL generation begun working.

Thank you very much Dimuthuc!

 

Emanuele

 

P.S. Perhaps these trivial mistakes and solutions could be collected in a document/FAQ. Are you planning to convert documentation to a format that can be handled automatically (eg DocBook)?