no wsdl generated

8 views
Skip to first unread message

deadguy

unread,
Jul 30, 2009, 9:43:42 PM7/30/09
to phpsoa
Hello all,

I've seen some very similar posts to my problem, but have not yet
found a solution for me. I'm trying to generate the wsdl for the
following sample from the php manual:

<?php

include "SCA/SCA.php";

/**
* Scaffold implementation for a remote StockQuote Web service.
*
* @service
* @binding.soap
*
*/
class StockQuote {

/**
* Get a stock quote for a given ticker symbol.
*
* @param string $ticker The ticker symbol.
* @return float The stock quote.
*/
function getQuote($ticker) {
return 80.9;
}
}
?>



I go to the correct location, with ?wsdl, but I get a blank page. No
error. I check my apache logs, and see no error, though it does
report the request in the access log. I have the sdo extension
loaded, and phpinfo() reports the SOAP extension is loaded. I'm
running the apache and php from ubuntu's 9.04 repo, and sca_sdo from
PECL. Any ideas why it's not working? Could there be some phantom
logs somewhere I don't see? Is there some way to see more logs?

thanks

Matt Brown

unread,
Jul 31, 2009, 12:22:20 PM7/31/09
to phpsoa
From phpinfo():

PHP Version 5.2.6-3ubuntu4.1

soap

Soap Client enabled
Soap Server enabled

Directive Local Value Master Value
soap.wsdl_cache 1 1
soap.wsdl_cache_dir /tmp /tmp
soap.wsdl_cache_enabled 0 1
soap.wsdl_cache_limit 5 5
soap.wsdl_cache_ttl 86400 86400

I changed the PHP log setting to E_ALL. Still no messages.

Any ideas?

thanks

Matt Brown

unread,
Jul 31, 2009, 1:14:00 PM7/31/09
to phpsoa
Finally able to get SCA logs going. I must it's ridiculous that doing
so isn't documented anywhere; you have to go through the log code to
figure it out.

For future reference:
SCA.php: SCA::initComponent() (line 128)
uncomment self::$logger->startLog();

SCA_Logger.php: SCA_Logger::startLog() (line 273)
uncomment trigger_error("SCA logging started; logging to $this->logfile");

For me, on ubuntu 9.04, it was logging to /tmp/log/SCA.log

Anyway, once I managed to get some logs, I got the following:

Finally able to get SCA logs going. I must it's ridiculous that doing
so isn't documented anywhere; you have to go through the log code to
figure it out.

For future reference:
SCA.php: SCA::initComponent() (line 128)
uncomment self::$logger->startLog();

SCA_Logger.php: SCA_Logger::startLog() (line 273)
uncomment trigger_error("SCA logging started; logging to $this->logfile");

For me, on ubuntu 9.04, it was logging to /tmp/log/SCA.log

Anyway, once I managed to get some logs, I got the following:

[ 1] Info 31/07/2009 16:12:38::550 ....SCA::initComponent - Entering
[ 2] Info 31/07/2009 16:12:38::550 ....SCA::initComponent - Called
from /var/www/temp/sca2.php
[ 3] Info 31/07/2009 16:12:38::550 ....SCA::initComponent -
$_SERVER['HTTP_HOST'] = localhost
[ 4] Info 31/07/2009 16:12:38::550 ....SCA::initComponent -
$_SERVER['REQUEST_METHOD'] = GET
[ 5] Info 31/07/2009 16:12:38::550 ....SCA::initComponent -
$_SERVER['PHP_SELF'] = /temp/sca2.php
[ 6] Info 31/07/2009 16:12:38::550 ....SCA::initComponent -
$_SERVER['REQUEST_URI'] = /temp/sca2.php?wsdl
[ 7] Info 31/07/2009 16:12:38::550 ....SCA::initComponent - $_GET['wsdl'] =
[ 8] Info 31/07/2009 16:12:38::551 ....SCA::initComponent - included
by a client script that is not a component

After digging through the code some more, it turns out SCA didn't
recognize my script because the file name didn't match the name of the
@service class. So renaming sca2.php to StockQuote.php got me going.

Reply all
Reply to author
Forward
0 new messages