مشکل در nusoap

emad.m

New Member
سلام دوستان
من کد ارسال اس ام اسی دارم که یک nusoap.php اینکلود کرده ولی کنارش چیزی نبود
از 100 جا nusoap.php دانلود کردم (کل کتابخانشو) ولی هر بار یک ارور میداد

میشه یک راهنمایی بفرمایید ؟
 

Domanjiri

Well-Known Member
سلام

خیلی خوش اومدین :rose:

در قدم اول بفرمایید که: «دقیقن» چه اروری میده؟

در ضمن شما nusoap رو باید از sourceforge دانلود کنید ( و طبیعتن در ایران از سرورهای mirror !). لینک دانلود

موفق باشید
 

emad.m

New Member
سلام قربان

بزرگوارید
ممنون از این که وقت گذاشتید

بله بنده همین ورژن رو دانلود کردم

ارور زیر رو دریافت کردم
PHP:
Fatal error:  Call to a member function getError() on a non-object in /mydirectori on line 4
اینم کدم
PHP:
<?php
require_once('nusoap.php');
$client = new soapclient('http://sms.smsline.ir/WebService/Service.php');
$err = $client->getError();
if (!$err)
{
$send = $client->call('SendSMS',
                        array(
                        'username'=>'user',
                        'password'=>'pass',
                        'reciever'=>'num',
                        'text'=>'سلام - تست',
                        'sender'=>'num'
                        )
                        );
$err = $client->getError();
if ($err)
print $err;
else
{
echo "sended";
}
}                        
                        
?>
میبخشید
زحمته
 
آخرین ویرایش:

Domanjiri

Well-Known Member
درود بر شما

خواهش می کنم!:)

عزیزم ارور میگه که اصلن آبجکتی درست نشده، این خط توی کد شما
PHP:
$client = new soapclient('http://sms.smsline.ir/WebService/Service.php');
دقیقن جایی ئه که شما باید مسئله رو حل کنید (خیلی هم مشکوکه!). شما مگه username و password و اطلاعات دیگه رو از سرویس دهنده ی SMS نگرفتین!

لیست کامل آرگومان های متد سازنده، به این شکل هست:
PHP:
soapclient($endpoint,$wsdl = false,$proxyhost = false,$proxyport = false,$proxyusername = false, $proxypassword = false, $timeout = 0, $response_timeout = 30, $portName = '')

که شما فقط آرگومان اول رو وارد کردین.

این سرویس از طرف سرویس دهنده بصورت رایگان ارائه نمیشه، درست میگم دیگه؟ پس باید حداقل یوزر و پسوردی که دارین رو در هنگام ساختن کلاینت برای سرویس بفرستید.

موفق باشید
 

emad.m

New Member
سلام
یوزر پسورد رو که دارم ولی ماله پنل رو که میزارم داخل آرایه
دقیقا به من همین کد رو دادن و گفتن که همه با این کاراشونو انجام میدن
ولی من هر کاری میکنم نمیشه
 

Domanjiri

Well-Known Member
درود بر شما

بله حق با شماست، من خوب به کدتون دقت نکرده بودم!

من کد شما رو روی سیستم خودم تست کردم، مشکلی نداشت! شما لطف کن و این کدی که پیوست کردم رو دانلود و اجراش کنید (لطفن از همین فایلnusoap.php که داخل فایل زیپ هست استفاده کنید، نه از فایل خودتون)

اگه ارور نداد که هیچ، ولی اگه ارور داد، میشه گفت که مشکل از کلاس nusoap و کد شما نیست.

اگه مشکل حل نشد، یه اطلاعاتی از محیطی که کد رو اجرا میکنه بدین(نسخه php، وب سرور و..)

در ضمن شما می تونید با پشتیبانی شرکتی که ازش خدمات گرفتین تماس بگیرید، بهرحال شاید اونها قبلن هم با مورد مشابهی برخورد کرده باشند.

موفق باشید
 

پیوست ها

  • nusoap_test.zip
    64.5 کیلوبایت · بازدیدها: 39

emad.m

New Member
سلام
نمیدونم این همه پیگیری و لطف شما رو چطور میتونم جبران کنم
اون فایل ارور نداد
اینا رو نوشت
PHP:
username = 
password = 
authtype = 
certRequest = Array
requestHeaders = 
responseHeaders = 
responseHeader = 
document = 
endpoint = http://sms.smsline.ir/WebService/Service.php
forceEndpoint = 
proxyhost = 
proxyport = 
proxyusername = 
proxypassword = 
portName = 
xml_encoding = 
http_encoding = 
timeout = 0
response_timeout = 30
endpointType = soap
persistentConnection = 
defaultRpcParams = 
request = 
response = 
responseData = 
cookies = Array
decode_utf8 = 1
operations = Array
curl_options = Array
bindingType = 
use_curl = 
fault = 
faultcode = 
faultstring = 
faultdetail = 
title = NuSOAP
version = 0.9.5
revision = $Revision: 1.123 $
error_str = 
debug_str = 2011-07-22 20:57:07.818735 soapclient: ctor wsdl= timeout=0 response_timeout=30 endpoint=string(44) "http://sms.smsline.ir/WebService/Service.php" 2011-07-22 20:57:07.818858 soapclient: instantiate SOAP with endpoint at http://sms.smsline.ir/WebService/Service.php 
charencoding = 1
debugLevel = 9
XMLSchemaVersion = http://www.w3.org/2001/XMLSchema
soap_defencoding = ISO-8859-1
namespaces = Array
usedNamespaces = Array
typemap = Array
xmlEntities = Array

حالا کد خودم رو با استفاده از nusoap شما این ارور رو میده

PHP:
SOAP-ENV:Client: error in msg parsing: Charset from HTTP Content-Type 'UTF-8' does not match encoding from XML declaration 'ISO-8859-1'
 

Domanjiri

Well-Known Member
خب، خدارو شکر!

اروری که نوشتین به خاطر وجود اون کلمه های فارسی ئه، برای اینکه charset رو utf-8 کنید، کد زیر رو بعد از تعریف client$ قرار بدین:
PHP:
$client = new soapclient('http://sms.smsline.ir/WebService/Service.php');  
$client->soap_defencoding = 'UTF-8';
....
...
.

موفق باشین
 

emad.m

New Member
سلام
خیلی ممنونم
واقعا لطف کردید . انشاالله بتونم جبران کنم
کاری هست که بتونم انجام بدم ؟
 

Domanjiri

Well-Known Member
خیلی ممنونم
واقعا لطف کردید . انشاالله بتونم جبران کنم
کاری هست که بتونم انجام بدم ؟

خواهش می کنم، ابدا خودتون رو بدهکار (البته این کلمه یکم بار منفی داره، منظورم نوع مثبتش هست! :) ) ندونید، سوال کردن و جواب دادن معامله ای هست که دوطرف در اون سود می کنن.

الان من بی نهایت خوشحالم که مشکلتون حل شد.[صادقانه میگم و همین هم برام کافی هست]

موفق و شاد باشین
 

alishoja

New Member
مشکل با nusoap

با سلام - بنده از یک وب سرویس اسمس میخوام استفاده کنم. مشکلم اینه که برنامه رو وقتی روی کامپیوتر خودم لوکال اجرا میکنم درسته ولی روی سرور سایتمون جواب نمیده و این خطا رو میده:
wsdl error: Getting http://www..../WebService/WebService.asmx?wsdl - HTTP ERROR: Couldn't open socket connection to server http://www.../WebService/WebService.asmx?wsdl, Error (110): Connection timed out

هر چه قدر هم اینترنت رو گشتم تا دلیلش رو پیدا کنم نشد. هاست ما پارس دیتا است و این قد گیر دادم بهشون تا
soap رو فعال کردند ولی بازهم مشکلم حل نشد.
خواهشا کمک کنید. مرسی
 

Domanjiri

Well-Known Member
سلام

خیلی خوش اومدین:rose:

دوست من، مشکل از فایروال (یا احتمالن آنتی ویروس) سرور شماست که اجازه برقراری این ارتباط رو نمیده، شما باید به شرکت سرویس دهنده اطلاع بدین تا این موضوع رو پیگیری کنند.

موفق باشین
 

alishoja

New Member
مشکل با nusoap

سلام خیلی ممنون از پاسخ سریعتان. با کدام یکی تماس بگیرم؟؟؟ متاسفانه سرویس دهنده اسمس می گوید به من ربطی ندارد و تا حالا چنین مشکلی ندیدم. در حالی که هاست ما پارس دیتا ست که یکی از معروفترین هاستای کشور است. ولی متاسفانه درست و حسابی جواب نمی دهد. اول که میگفت ما از soap فقط در هاستهایی ویندوز حمایت می کنیم و من باید برای رفع مشکلم هاستم رو ویندوز کنم!!! بعد با اصرار من، این قضیه حل شد و حالا soap enabled است. تا جاییکه من میدانم از پورت 80 استفاده میشه برای اینکار، که روی همه فایروال ها بازه. درسته؟ حالا من باید به پارس دیتا بگم فایروال و آنتی ویروسش رو چیکار کنه؟:shock:
خیلی ممنون از اینکه راهنمایی می کنید
 

Domanjiri

Well-Known Member
درود بر شما

اگه امکانش براتون هست، کد رو بدین یه نفر دیگه روی سرور خودش تست کنه (مثلن، همین دوستی که مشکلش صفحه قبل حل شد!). بعدش هم که دیگه شما می دونید و مسئول فنی هاست! :)

با هاست خودتون تماس بگیرین، در هر صورت، اونها بابت این سرویس دارند از شما هزینه دریافت می کنند و باید پاسخگوی مشکلاتی که وجود داره باشند.

موفق باشین
 

h.khah

New Member
سلام خسته نباشید من هم این ارور را دارم ودر ضمن روی لوکال هاست دارم اجرا می کنم ممنون میشم کمک کنید خیلی کمک لازمم
HTTP ERROR: Couldn't open socket connection to server http
 

جدیدترین ارسال ها

بالا