مشکل در فراخوانی ap...
 
آگاه‌سازی‌ها
پاک‌کردن همه

[حل شده] مشکل در فراخوانی api با جاوااسکریپت و درخواست راهنمایی

18 ارسال ها
3 کاربران
4 Likes
264 نمایش‌
0
شروع کننده موضوع

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

و مشکل دیگری هم که دارم در فراخوانی یک تابع و دریافت اطلاعات می باشد
من در سمت فرانت میخواستم با جاوااسکریپت کد نویسی کنم و به عنوان مثال کد زیر را اجرا میکنم و یک xml خالی برایم ارسال میشود

نمونه کد به حضورتان ارسال میگردد

 

$.ajax({
url: 'http://x.x.x.x/services/iauthentication.svc',
data: {
"username":"smd",
"Password":"mypass"
},
type: 'post',
async: 'true',
dataType: 'json',
complete: function(){
alert('complete');
},
success: function (data){
alert('success');
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('error');
}
});

PG-Admin PG-Admin 13 بهمن 1399 4:47 ب.ظ

با سلام
بنده متوجه مشکلتون نشدم میشه لطفا مشکلتان رو به تفکیک و دقیق تر توضیح بدید کجای وب سرویس ها خطا دریافت کردی اسم وب سرویس و متد مورد نظر و .....

12 پاسخ
1

با سلام
شما از طریق جاوااسکریپت نمیتوانید با وب سرویس های wcf ارتباط برقرار کنید
باید از سمت سرور با library های SOAP client در php وب سرویس ها را فراخوانی کنید
لینک library

1

 

سلام

پاسخ سوال یک :

شما کافیه در سرویس iuser.svc از متد getuser استفاده کنید سپس identityid  که در خروجی به شما به رو در سرویس Iidentity  استفاده کنید و از اونجا هز اطلاعاتی مثل شماره تلفن و غیره رو که بخواهید میتونید بازیابی کنید

پاسخ سوال 2:

کافیه شما در سرویس Iform.svc فرم متد search , استفاده کنید id  هویت مورد نیاز رو اونجا وارد کنید  مثال identityid="582e1e94-34ee-4df9-87b5-4744605dc0b5"

 

پاسخ سوال 3:

کافیه شما در سرویسIcontract.svc قرارداد متد search , استفاده کنید id  هویت مورد نیاز رو اونجا وارد کنید  مثال identityid="582e1e94-34ee-4df9-87b5-4744605dc0b5"

 

در ضمن لطفا جهت استفاده بهتر از سرویس ها مستندات رو از واحد امور مشتریان دریافت کنید

0
شروع کننده موضوع

بسیار ممنون بابت پاسخ گویی

چند تا سوال داشتم ممنون میشم راهنمایی کنید

1. چگونه میتونم با دادن نام کاربری (username) فردی در باشگاه مشتریان شماره موبایل و آی دی فرد را پیدا کنم

2. چگونه میتونم با دادن آی دی فردی در یک فرم بدونم فرمی به اسمش ثبت شده یا نه و اگر بله محتواش را بخونم

3. چگونه میتونم با دادن آی دی فردی در یک قرارداد بدونم قراردادی به اسمش ثبت شده یا نه و اگر بله محتواش را بخونم

 

البته کاربرم عضو باشگاه مشتریان است

این نوشته در 4 سال قبل توسط samad1361 اصلاح شد
PG-Admin PG-Admin 20 بهمن 1399 1:32 ب.ظ

سلام

پاسخ سوال یک :

شما کافیه در سرویس iuser.svc از متد getuser استفاده کنید سپس identityid که در خروجی به شما به رو در سرویس Iidentity استفاده کنید و از اونجا هز اطلاعاتی مثل شماره تلفن و غیره رو که بخواهید میتونید بازیابی کنید

پاسخ سوال 2:

کافیه شما در سرویس Iform.svc فرم متد search , استفاده کنید id هویت مورد نیاز رو اونجا وارد کنید مثال identityid="582e1e94-34ee-4df9-87b5-4744605dc0b5"

پاسخ سوال 3:

کافیه شما در سرویسIcontract.svc قرارداد متد search , استفاده کنید id هویت مورد نیاز رو اونجا وارد کنید مثال identityid="582e1e94-34ee-4df9-87b5-4744605dc0b5"

در ضمن لطفا جهت استفاده بهتر از سرویس ها مستندات رو از واحد امور مشتریان دریافت کنید

PG-Admin PG-Admin 30 فروردین 1400 9:07 ق.ظ

.<==

0
شروع کننده موضوع

با سلام و خسته نباشید

ورودی تابع GetUser دو تا پارامتر username و Password می باشد که من اگر مقادیر یک گاربر باشگاه مشتزیان را بدهم ارور "شما مجوز انجام این عملیات را ندارید" را میدهد و اگر یک کاربر مثلا ادمین را بدهیم ارور "آیتمی برای این درخواست پیدا نشد." را میدهد

لطفا راهنمایی کتید

PG-Admin PG-Admin 24 بهمن 1399 1:06 ب.ظ

با سلام
شما باید برای مقادیر username password
نام کاربری و کلمه عبور یکی از کاربران سیستم که مجوز مدیریت گروه ها کاربران
یا مجوز مدیر سیستم داشته باشد را وارد کنید
و در قسمت targetusername نام کاربری اون کاربری که میخواهید اطلاعات آن را واکشی کنید وارد کنید

در پست بعدی مثالی هم براتون قرار دادم

0

مثال برای مند get user

<GetUser>
<MethodParameters>
<userName>admin</userName>
<password>admin</password>
<targetUsername>admin</targetUsername>
</MethodParameters>
</GetUser>

0
شروع کننده موضوع

با سلام مجدد

من از طریق کد زیر میتونم

IdentityId

کاربر را پیدا کنم

$url = $site_url.'services/api/IUser.svc?wsdl';

$soapClient = new SoapClient($url);

$params = array(

    'userName' => $username,

    'password' => $password,

    'targetUsername' => $targetusername,

);

$result = $soapClient->GetUser($params);

if ($result->GetUserResult->Success){

    $IdentityId = $result->GetUserResult->IdentityId;

    $NickName = $result->GetUserResult->NickName;

}

ولی وقتی مطابق فرموده شما در کد زیر استفاده میکنم ارور میدهد و چیزی پیدا نمی کند

$url = $site_url.'services/api/IIdentity.svc?wsdl';

$soapClient = new SoapClient($url);

$params = array(

    'userName' => $username,

    'password' => $password,

    'typeKey' => '',

    'query' => 'identityId=="'.$IdentityId.'"'

);

$result = $soapClient->SearchIdentity($params);

if ($result->SearchPersonResult->Success){

    for($i=0; $i<count($result->SearchPersonResult->PersonInfoList->PersonInfo->PhoneContacts->IdentityContactPhone); $i++) {

        if($result->SearchPersonResult->PersonInfoList->PersonInfo->PhoneContacts->IdentityContactPhone[$i]->PhoneType=="موبایل")

            $user_mobile = $result->SearchPersonResult->PersonInfoList->PersonInfo->PhoneContacts->IdentityContactPhone[$i]->PhoneNumber;

    }

}

ولی اگر من بجای

IdentityId

از دستور

'query' => 'NickName=="'.$NickName.'"'

استفاده کنم مقادیر مورد نظرم را برمی گردونه

ولی درست اش اینه که با

IdentityId

استفاده کنم چون در

NickName

احتمال وجود اسامی مشابه زیاده

این نوشته در 4 سال قبل توسط samad1361 اصلاح شد
0

سلام

شما برای فایند کردن با id

باید از متد findidentityByid  استفاده کنید و نه از متد search identity

0
شروع کننده موضوع

برای فرم و قرارداد هم لازم دارم

برای اونا از چی استفاده کنم

0
شروع کننده موضوع

با سلام مجدد

برای دسترسی دقیق تر به فرم و قرارداد نیاز دارم تا با identity جستجو کنم

لطفا راهنمایی کنید 

PG-Admin PG-Admin 30 فروردین 1400 9:09 ق.ظ

با سلام خدمت شما دقیقا همین سوال رو قبلا مطرح کرده بودید و در همین صفحه جواب صحیح با ذکر مثال ارسال کردم خدمتتون

0

با سلام خدمت شما دقیقا همین سوال رو قبلا مطرح کرده بودید و در همین صفحه جواب صحیح با ذکر مثال ارسال کردم خدمتتون

0
شروع کننده موضوع

سلام مجدد

ممنون بابت راهنمایی 

همه مشکلاتم حل شدند الا یه مورد

وقتی کد زیر را اجرا میکنم خطا میده

$url = $site_url.'services/api/IIdentity.svc?wsdl';
$soapClient = new SoapClient($url);
$params = array(
     'userName' => $username,
     'password' => $password,
     'Identityid' => '44f66a3c-a8f4-48c4-95e1-c77170ede759'
);
$result = $soapClient->FindIdentityById($params);

لطفا راهنمایی بفرمایید

PG-Admin PG-Admin 30 فروردین 1400 4:28 ب.ظ

سلام

تست شد سرویس مشکلی ندارد این هم نمونه مثال json

{
"MethodParameters": {
"username": "admin",
"password": "admin",
"identityId": "902e8576-592d-44b2-b0af-c54f02d59265"
}
}

0

سلام

تست شد سرویس مشکلی ندارد این هم نمونه مثال json

{
"MethodParameters": {
"username": "admin",
"password": "admin",
"identityId": "902e8576-592d-44b2-b0af-c54f02d59265"
}
}

اشتراک:
پیمایش به بالا