با سلام خدمت همگی دوستان
آیا کسی از دوستان تا به حال از وب سرویس مگفا در پروژه های خود استفاده کرده اند؟
برای دریافت پیامک از وب سرویس مگفا توسط یکی از متدهای getAllMessages، getAllMessagesWithNumber، getMessages، getMessagesWithNumber، نوع خروجی یک Object است که پس از تماس با پشتیبانی مگفا متوجه شدم یک رشته است که مقادیر آن به صورت زیر است:
body = ..... recipientNumber= ..... senderNumber=..... errorResult=......, body = ..... recipientNumber= ..... senderNumber=..... errorResult=......, که پیامک های مختلف با کاما از هم جدا می شوند.
نوع خروجی فانکشن ArrayOf_xsd_anyType = array of Variant; است. برای استفاده من به روش زیر کار کردم:
var
res: ArrayOf_xsd_anyType;
VStr: Variant;
begin
HTTPRIO1.HTTPWebNode.UserName := User.Text;
HTTPRIO1.HTTPWebNode.Password := Pass.Text;
SetLength(res, 10);
res := GetSoapSmsQueuableImplementation(True,
'http://sms.magfa.com/services/urn:SOAPSmsQueue?wsdl', HTTPRIO1)
.getAllMessagesWithNumber(domainName.Text, 1, destNumber.Text);
if not VarIsStr(res) then
begin
if not VarIsEmpty(res[0]) then
begin
VStr := res[0];
ShowMessage(VarToStr(VStr));
end
else
begin
ShowMessage('Empty Message!');
end;
end
else
begin
ShowMessage('No New Message!');
end;
end;
اما متأسفانه خروجی همه این توابع رشته خالی است. در برخی موارد هم یک آرایه خالی (بدون عضو) بر می گرداند.
دوستان اگر با این وب سرویس توانسته اند پیامک دریافت کنند یا می توانند راهنمایی کنند لطفا کمک کنند. مثلا شاید بتوان با تبدیل به آرایه ای از بایت ها، مشکل را حل کرد (تابع VarIsEmpty همیشه False است و یک رشته خالی نمایش می دهد).
ضمنا راهنمای وب سرویس هم در لینک زیر موجود است. البته نمونه کد هم دارند اما برای دلفی ندارند و ضمنا کسی هم نیست که در مگفا، دلفی کار باشد.
لینک
با تشکر از همگی