کار با soap و WSDL

- 4 هفته پیش
توسط mohammad آپدیت شد
mohammad ( 1095 تجربه )
4 هفته پیش

با عرض سلام و خسته نباشید
بنده قصد کار با یک api را دارم که در قالب soap ارایه شده و به مشکلاتی برای ارتباط گرفتن با api موجود برام پیش اومده که نتونستم هنوز ارتباط رو برقرار کنم.
در مثال موجود یک متد برای ارسال درخواست وجود دارد متد requestSub نام گذاری شده است.
این متد دو ورودی دارد که ورودی اول به صورت استرینگ و ورودی دوم ( نکته ای که متوجهش نمی شوم ) از نوع SubReqViewModel می باشد.
که در توضیحش نوشته شده کلاس SubReqViewModel به عنوان ورودی گرفته شود که شامل پارامتر هایی چون :
fname -> string
lname -> string
.
.
.
.

می باشد.
و بعد از اجرای صحیح متد بالا با ورودی های مورد نظرش یک خروجی به ما میده.

مشکل من در نحوه ارتباط برقرار کردن و فرستادن کلاسی که گفته ( SubReqViewModel ) به عنوان ورودی هستش.

ممنون میشم راهنمایی کنید.

سپاس فراوان

حسام موسوی ( 138979 تجربه )
4 هفته پیش

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

mohammad ( 1095 تجربه )
4 هفته پیش

مشکل اینجاست که بنده هیچ کدی ننوشتم.
چون هر کدی نوشتم ارور داده.
تنها چیزی که دستم هست یک داکیومنت اتصال هست که موارد بالا رو توش نوشته.

به علت یک سری مسایل مثل منع افشای اطلاعات نمیتونم کد کامل رو بذارم ولی شبه کدی که نوشتم رو میگم اینجا شاید کمکی کرد.


$client = new SoapClient("path/to/url.asmx?wsdl");

class SubReqViewModel
{
    function __construct($FistName, $LastName, $Telephone, $Mobile, $Email, $NationalCode, $Gender){

        $this->$FistName = $FistName;
        $this->LastName = $LastName;
        $this->Telephone = $Telephone;
        $this->Mobile = $Mobile;
        $this->Email = $Email;
        $this->NationalCode = $NationalCode;
        $this->Gender = $Gender;

    }
}

$city = new SubReqViewModel(
    "ahmad",
    'alinia',
    "051321321321",
    "09154545454",
    "main@asdsad",
    "06913245648",
    "true"
);

$key = 'api key';

$param = [
    [
        "key" => $key,
        "request" => $city
    ]
];

$res = $client->__soapCall('RequestSub', $param);
برای ارسال پاسخ باید وارد سایت شوید