הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלה | SOAP - Invalid number of payload elements (https://hosts.co.il/forums/showthread.php?t=69231)

Inet 07-11-08 17:31

שאלה | SOAP - Invalid number of payload elements
 
שלום לכולם,

אני עובד כרגע עם SOAP (לא משהו מפורסם של איזה חברה פרטית),
שאני שולח פונקציה אני מקבל את הבעיה הבאה:

Fatal error: Uncaught SoapFault exception: [env:Server] Invalid number of payload elements

עכישו - כמות הפרטמטרים שאני שולח זהה לבקשה ניסיתי א זה בקרוב ל 5 פונקציות בכולם הייתה אותה הבעיה.

דרך השליחה

קוד:

$params = array('1', '2', 'ido');
$varsj = $testSOAP->__soapCall('func name', $params);

ניסיתי בעוד הרבה צורות כמו
קוד:

$params = array('name1' => $asd, 'name2' => $zc, 'name' => 'ido');
(הכל מצונזר בעיקרון זה הכל לפי ה PDF שקיבלתי מהם לשימוש ב API).

עוד ניסיתי:
קוד:

$varsj = $testSOAP->funcname('1', '2', 'ido');
ועוד, בקיצור האם מישהו קיבל פעם את השגיאה הזאת ויכול לעזור לי איפה להסתכל? חרשי את האינטרנט הלוך ושוב ולא מצאתי כלום - וגם אני מנסה כבר כמה שעות.

שיהיה שבת שלום ותודה,
עידו.

vadimg88 07-11-08 17:57

דבר ראשון כשעובדים עם SOAP או כל פונקציה/אפליקציה אחרת עדיף להשתמש ב TRY ו CATCH כדי שלא יזרקו שגיאות כמו שיש לך למעלה אלה שגיאה ידידותית שאתה תציג.

דבר שני אני מניח שזה אכן קוד של API כלשהו שאנחנו לא יכולים לראות או לגשת. לכן יהיה קשה לנסות ולעזור. בכדי לדעת מה השגיאה נסה לעשות את זה למרות שזה אמור להחזיר את אותה השגיאה שיש לך עכשיו.

PHP קוד:


<?php

try
{
    
$params = array('1''2''ido');
    
$varsj $testSOAP->__soapCall('func name'$params);
}

catch (
SoapFault $e)
{
    
trigger_error(SoapFault::SoapFault(), E_USER_ERROR);
}

?>

יעזור אם ישלח הקוד של ה API ומה אתה אמור או מנסה לעשות.

עוד דבר נסה לעיין ב:
http://il2.php.net/soap

יש שם כמה פונצקיות שווה להציץ בהן כמו אפשרות לקבלת רשימת כל הפונקציות אולי טעית בשם.

Inet 08-11-08 02:05

ציטוט:

נכתב במקור על ידי vadimg88 (פרסם 680173)
דבר ראשון כשעובדים עם SOAP או כל פונקציה/אפליקציה אחרת עדיף להשתמש ב TRY ו CATCH כדי שלא יזרקו שגיאות כמו שיש לך למעלה אלה שגיאה ידידותית שאתה תציג.

דבר שני אני מניח שזה אכן קוד של API כלשהו שאנחנו לא יכולים לראות או לגשת. לכן יהיה קשה לנסות ולעזור. בכדי לדעת מה השגיאה נסה לעשות את זה למרות שזה אמור להחזיר את אותה השגיאה שיש לך עכשיו.

PHP קוד:


<?php

try
{
    
$params = array('1''2''ido');
    
$varsj $testSOAP->__soapCall('func name'$params);
}

catch (
SoapFault $e)
{
    
trigger_error(SoapFault::SoapFault(), E_USER_ERROR);
}

?>

יעזור אם ישלח הקוד של ה API ומה אתה אמור או מנסה לעשות.

עוד דבר נסה לעיין ב:
http://il2.php.net/soap

יש שם כמה פונצקיות שווה להציץ בהן כמו אפשרות לקבלת רשימת כל הפונקציות אולי טעית בשם.

אני יקבל בדיוק את אותה השגיאה.
השם של הפונקציה נכונה זאת לא הבעיה - אם אתה רושם של פונקציה שלא קיימת אתה מקבל הודעה של "הפונקציה לא קיימת". - אני לא יכול לשלוח לכם את החלקים מה WSDL ו/או ה API שנתנו לי.

מה שרציתי לדעת האם היה פה מישהו שהבעיה הזאת הייתה לו ויוכל לכוון אותי איפה לחפש - אני אישית חיפשתי בכל מקרה.

לדעתי לפחות הבעיה היא ביצירת ה new SoapClient אבל אני לא מצליח להבין למה.


כל הזמנים הם GMT +2. הזמן כעת הוא 21:23.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ