PDA

View Full Version : خطا در وب سرویس (حل شد)



novinsite
دوشنبه 21 اسفند 1391, 19:20 عصر
با سلام و احترام
بنده دارم یک وبسرویس مینوسم
در این وب سرویس که با wsdl و nusoap می باشد وقتی در function یک فایل رو include می کنیم خطای bool(false) رو میده
لطفا راهنمایی کنید



<?php
require_once 'nusoap/nusoap.php';
$ns = 'urn:domainws';
$server = new NuSOAP_Server();
$server->debug_flag = false;
$server->soap_defencoding = 'utf-8';
$server->decode_utf8 = false;
$server->configureWSDL('DomainWSDL', $ns);
$server->wsdl->schemaTargetNamespace = $ns;

$server->register(
'RegisterDomain', // Method Name
array('webserviceid' => 'xsd:string',
'webservicepass' => 'xsd:string',
'sld' => 'xsd:string',
'tld' => 'xsd:string',
'cycle' => 'xsd:string',
'holder_id' => 'xsd:string',
'NS1' => 'xsd:string',
'NS2' => 'xsd:string'), // Input Parameters
array('return' => 'xsd:anyType'), // Output Parameters
$ns, // Namespace
$ns . '#RegisterDomain', // SOAPAction
'rpc', // Style
'encoded', // Use
'Register a domain' // Documentation
);

function RegisterDomain($Webservice_id,$Webservice_pass,$sl d,$tld,$cycle,$holder_id,$hostname1,$hostname2)
{
include_once("functions/register_functions.php");
return -1;
}

$HTTP_RAW_POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
$server->service($HTTP_RAW_POST_DATA);
exit();
?>

novinsite
سه شنبه 22 اسفند 1391, 14:24 عصر
کسی نیست ما رو راهنمایی کنه

MMSHFE
سه شنبه 22 اسفند 1391, 14:38 عصر
دوست گرامی، اولاً باید مطمئن بشین مسیر رو درست دارین وارد میکنید. ثانیاً خودتون گفتین ;return -1 انجام بشه. کد زیر رو تست کنید:


function RegisterDomain($Webservice_id, $Webservice_pass, $sld, $tld, $cycle, $holder_id, $hostname1, $hostname2) {
require_once str_replace('\\', '/', dirname(__FILE__)) . '/functions/register_functions.php';
return -1;
}

novinsite
سه شنبه 22 اسفند 1391, 15:02 عصر
با سلام
بازهم bool(false) رو برمیگردونه

MMSHFE
سه شنبه 22 اسفند 1391, 15:06 عصر
ببینید مسیر درسته؟ یعنی فایل موردنظر با همون نام توی پوشه functions قرار داره و پوشه functions کنار فایل وب سرویس هست؟

novinsite
سه شنبه 22 اسفند 1391, 15:10 عصر
ببینید مسیر درسته؟ یعنی فایل موردنظر با همون نام توی پوشه functions قرار داره و پوشه functions کنار فایل وب سرویس هست؟

بله دقیقا اینطوری هست

MMSHFE
سه شنبه 22 اسفند 1391, 15:12 عصر
بجای ;return -1 بنویسید ;return true ببینید چی میگه؟

novinsite
سه شنبه 22 اسفند 1391, 15:13 عصر
آقا حل شد
خطا به خاطر کد امنیتی بود که قرار داده بودم

rezaonline.net
سه شنبه 22 اسفند 1391, 16:37 عصر
یه هفته اس معطل یه کدامنیتی هستید؟!

novinsite
پنج شنبه 24 اسفند 1391, 12:04 عصر
با سلام
دوستان در وب سرویس چطوری آی پی درخواست کننده رو بدست بیارم؟
دقیقا مثل همون کاری که بانک ها میکنند و آی پی هایی که در دیتابیسشون هست را فقط اجازه اجرای عملیات میدند
باتشکر

MMSHFE
پنج شنبه 24 اسفند 1391, 13:04 عصر
یکی از راهها اینه که referer رو در میارن و با ping یا whois اطلاعات IP رو استخراج میکنن.

novinsite
پنج شنبه 24 اسفند 1391, 13:10 عصر
آیا کد یا لینکی برای کمک دارید؟

rezaonline.net
پنج شنبه 24 اسفند 1391, 16:24 عصر
اگر منظورتون از آی پی درخواست کننده ، آی پی سروری هست که درخواست را میفرستد

$_SERVER['REMOTE_ADDR']

novinsite
پنج شنبه 24 اسفند 1391, 20:46 عصر
اگر منظورتون از آی پی درخواست کننده ، آی پی سروری هست که درخواست را میفرستد

$_SERVER['REMOTE_ADDR']

عزیز این دستور در وب سرویس جواب نمیده و آی پی سرور خود را میده
من میخوام آی پی سرور درخواست کننده رو بدست بیارم و با اون آی پی بعضی محدودیت ها اعمال کنم دقیقا مانند بانک ها که برای درگاههاشون آی پی اعمال می کنند

rezaonline.net
پنج شنبه 24 اسفند 1391, 22:18 عصر
عزیز ، جواب میدهد .
من از همین استفاده میکنم.
بهتره کمی اطلاعاتتون رو بالا ببرید .

درخواست های soap ، بصورت curl فرستاده میشوند و دقیقا مثل این هست اون صفحه توسط شخص/سیستمی درخواست شود .
اونی که آی پی هاست خودتان را نشان میدهد
$_SERVER['SERVER_ADDR'] هست .

MMSHFE
جمعه 25 اسفند 1391, 12:36 عصر
دوست عزیز، شما کد کلاینت و سرور وب سرویس رو روی یک هاست دارین تست میکنید و طبیعیه که REMOTE_ADDR به شما همون IP رو بده. با یک هاست دیگه یا ازطریق Local بهش وصل بشین تا ببینید IP رو بدست میاره و به شما اعلام میکنه.