WSDL / Webservice probleme mit send / return values

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hallo zusammen,

ich werkel jetzt schon seit wochen an einem webservice der mit M$ .NET
laufen soll. Aber irgendwie gibts immer andere Probleme. das problem liegt
wohl an der übergabe der parameter an die methoden des service - also die
parameter werden anscheinend im request nicht richtig übergeben. ich bin mir
mittlerweile auch nicht mehr sicher, ob das problem an der service klasse
liegt, oder am fehlerhaften wsdl?

bin für jeden tip / hinweis sehr dankbar.
thx im vorraus

christian

WSDL: http://www.womensnet.de/typo3/soap/testing/OnlineStyler.php?wsdl

The Service Class:
<?php

/**
* Womensnet OnlineStyler Webservice
*
* @author Christian Ruppel < christian.ruppel@neuherz.at >
* @modified 2007 April 16
*
*/

// disable WSDL caching
ini_set( 'soap.wsdl_cache_enabled', false );
ini_set( 'soap.wsdl_cache_ttl', 0 );


/**
* Main OnlineStyler service class
*
*/
class OnlineStyler
{


/**
* toggle debugging
*
* @var boolean
*/
var $debug;

/**
* holds database object
*
* @var object
*/
var $db;

/**
* database params
*
* @var array
*/
var $dbParams = array(
'host' => 'localhost',
'user' => 'USER',
'pass' => 'PASS',
'db' => 'DB'
);



/**
* Connect to db host & select db
*
* @return string on failure
*/
private function dbInit()
{

// connect to mysql host
$this->db = mysql_connect(
$this->dbParams['host'],
$this->dbParams['user'],
$this->dbParams['pass']
);

if ( $this->db == false ) {
return 'Error connecting to database.';
}

// select database
if ( !mysql_select_db( $this->dbParams['db'], $this->db ) ) {
return "Error connecting / selecting db!\n MySQL errno: " . mysql_errno(
$this->db ) . ", MySQL error: " . mysql_error( $this->db ) . "\n";
}

}



/**
* Get username via email address
*
* @param string $email
* @return string
*/
public function WomensnetGetNicknameByEmail( $Email )
{

// initialize database
$this->dbInit();
$query = sprintf(
"SELECT username FROM fe_users WHERE email = '%s'",
$Email
);
$res = mysql_query( $query, $this->db );
$retVal = mysql_fetch_assoc( $res );

if ( $this->debug == 1 ) {
return $retVal['username'];
}
else {

$o = new WomensnetGetNicknameByEmailResponse();
$o->WomensnetGetPasswordByNickResponse = $retVal['username'];

return $o;

}

}



/**
* Get user infos via user's uid
*
* @param integer $UserId
* @return string
*/
public function WomensnetGetUserinfo( $UserId )
{

$this->dbInit();
$query = sprintf(
"SELECT u.first_name, u.last_name, u.username, u.email, c.uid AS country_id
FROM fe_users u, static_countries c WHERE u.static_info_country=c.cn_iso_3
AND u.uid = %s",
$UserId
);
$res = mysql_query( $query, $this->db );
$retVal = mysql_fetch_assoc( $res );

return $retVal['first_name'] . ',' . $retVal['last_name'] . ',' .
$retVal['username'] . ',' . $retVal['email'] . ',' . $retVal['country_id'];

}



/**
* Register new womensnet user via soap
*
* @param string $username
* @param string $userpassword
* @param string $email
* @param integer $geschlecht_id
* @param integer $country_id
* @param string $module
* @return mixed boolean -> -1 if username already exists
*/
public function WomensnetRegisterWithNick( $username, $userpassword, $email,
$geschlecht_id, $country_id, $module )
{

$this->dbInit();
$chk = mysql_query( "SELECT uid FROM fe_users WHERE username = '$username'",
$this->db );
$chkVal = mysql_fetch_assoc( $chk );

if ( $chkVal['uid'] != '' ) {
return -1;
}

$insQuery = sprintf( "INSERT INTO fe_users ( username, password, email,
gender, static_info_country ) VALUES ( '%s', '%s', '%s', '%s', '%s' )",
$username,
$userpassword,
$email,
$geschlecht_id,
$country_id
);

/*if( mysql_query( $insQuery, $this->db ) == false ) {
return 0;
}
else {
return 1;
}*/

}



/**
* Get user's password via username
*
* @param string $username
* @return string $retVal
*/
public function WomensnetGetPasswordByNick( $username )
{

$this->dbInit();
$query = sprintf( "SELECT password FROM fe_users WHERE username = '%s'",
$username
);

$res = mysql_query( $query, $this->db );
$retVal = mysql_fetch_assoc( $res );

if ( $this->debug == 1 ) {
return $retVal['password'];
}
else {

$o = new WomensnetGetPasswordByNickResponse();
$o->WomensnetGetPasswordByNickResult = $retVal['password'];

return $o;

}

}



/**
* Get user's password via email
*
* @param string $email
* @return string $retVal
*/
public function WomensnetGetPasswordByEmail( $email )
{

$this->dbInit();
$query = sprintf( "SELECT password FROM fe_users WHERE email = '%s'",
$email
);

$res = mysql_query( $query, $this->db );
$retVal = mysql_fetch_assoc( $res );

return $retVal['password'];

}



/**
* Get user's uid via username & password
*
* @param string $username
* @param string $password
* @return mixed int uid, -1 on failure $retVal
*/
public function WomensnetGetUserID( $username, $password )
{

$this->dbInit();
$query = sprintf( "SELECT uid FROM fe_users WHERE username = '%s' AND
password = '%s' AND disable = 0",
$username,
$password
);

$res = mysql_query( $query, $this->db );
$retVal = mysql_fetch_assoc( $res );

if ( $retVal['uid'] == '' ) {
return -1;
}

return $retVal['uid'];

}



/**
* Check if user exists
*
* @param string $username
* @param string $password
* @return boolean
*/
public function WomensnetIsUser( $username, $password )
{

$this->dbInit();
$query = sprintf( "SELECT uid FROM fe_users WHERE username = '%s' AND
password = '%s'",
$username,
$password
);

$res = mysql_query( $query, $this->db );
$retVal = mysql_fetch_assoc( $res );

if ( $retVal['uid'] == '' ) {
return false;
}

return true;

}



}



/****************************** Map WSDL types to php classes
******************************/

class WomensnetGetNicknameByEmail {
public $Email; // string
}


class WomensnetGetNicknameByEmailResponse {
public $WomensnetGetNicknameByEmailResult; // ArrayOfString
}


class WomensnetGetUserinfo {
public $UserId; // int
}


class WomensnetGetUserinfoResponse {
public $WomensnetGetUserinfoResult; // ArrayOfString
}


class WomensnetRegisterWithNick {
public $username; // string
public $userpassword; // string
public $email; // string
public $geschlecht_id; // int
public $country_id; // int
public $module; // string
}


class WomensnetRegisterWithNickResponse {
public $WomensnetRegisterWithNickResult; // int
}


class WomensnetGetPasswordByNick {
public $username; // string
}


class WomensnetGetPasswordByNickResponse {
public $WomensnetGetPasswordByNickResult; // string
}


class WomensnetGetPasswordByEmail {
public $email; // string
}


class WomensnetGetPasswordByEmailResponse {
public $WomensnetGetPasswordByEmailResult; // string
}


class WomensnetGetUserID {
public $username; // string
public $password; // string
}


class WomensnetGetUserIDResponse {
public $WomensnetGetUserIDResult; // int
}


class WomensnetIsUser {
public $username; // string
public $password; // string
}


class WomensnetIsUserResponse {
public $WomensnetIsUserResult; // boolean
}





/**
* Handle requests
*/
if ( !$_GET['testing'] )
{

try
{

$classmap = array(
'WomensnetGetNicknameByEmail' => 'WomensnetGetNicknameByEmail',
'WomensnetGetNicknameByEmailResponse' =>
'WomensnetGetNicknameByEmailResponse',
'WomensnetGetUserinfo' => 'WomensnetGetUserinfo',
'WomensnetGetUserinfoResponse' => 'WomensnetGetUserinfoResponse',
'WomensnetRegisterWithNick' => 'WomensnetRegisterWithNick',
'WomensnetRegisterWithNickResponse' => 'WomensnetRegisterWithNickResponse',
'WomensnetGetPasswordByNick' => 'WomensnetGetPasswordByNick',
'WomensnetGetPasswordByNickResponse' =>
'WomensnetGetPasswordByNickResponse',
'WomensnetGetPasswordByEmail' => 'WomensnetGetPasswordByEmail',
'WomensnetGetPasswordByEmailResponse' =>
'WomensnetGetPasswordByEmailResponse',
'WomensnetGetUserID' => 'WomensnetGetUserID',
'WomensnetGetUserIDResponse' => 'WomensnetGetUserIDResponse',
'WomensnetIsUser' => 'WomensnetIsUser',
'WomensnetIsUserResponse' => 'WomensnetIsUserResponse',
);

$server = new SOAPServer('OnlineStyler.wsdl', array( 'classmap' => $classmap
));
$server->setClass('OnlineStyler');
$server->handle();

}

catch (SOAPFault $f) {
print $f->faultstring;
}

}

?>
-- 
View this message in context: http://www.nabble.com/WSDL---Webservice-probleme-mit-send---return-values-tf3585455.html#a10019372
Sent from the Php - Soap mailing list archive at Nabble.com.

-- 
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux