PDA

View Full Version : سوال: علت بروز این خطا چیست؟



hamed-php
شنبه 20 اسفند 1390, 12:53 عصر
با سلام

در حال راه اندازی یک وب سرویس با خطای زیر مواجه میشم:


XML error parsing SOAP payload on line 1: Not well-formed (invalid token)

آیا مشکل با encoding هست؟
ممنون میشم اگر دوستان راهنمایی فرمایند

hightech
شنبه 20 اسفند 1390, 23:59 عصر
ببینید encode فایل php شما utf8 هست یا نه
شاید بخاطر این باشه، ورژن nuSOAP رو هم چک کنید اگه از آخرین ورژن استفاده کنید بهتره

رضا قربانی
یک شنبه 21 اسفند 1390, 11:43 صبح
فرمتش رو نمی تونه بخونه . به گفته ی این دوستمون ورژن رو ببر بالا

hamed-php
یک شنبه 21 اسفند 1390, 11:48 صبح
نسخه ای که دارم استفاده میکنم : nusoap.php,v 1.123
آیا شما lib کامل که نسخه آخر باشه رو میتونید بگذارید یا لینک دانلودش رو
البته من از همین ورژن که عرض کردم برای ارتباط با وب سرویس بانک پارسیان استفاده میکنم و هیچ مشکلی هم نداشتم

اما خودم که دارم یه وب سرویس میسازم نمیدونم چرا این پیغام رو میده

hightech
یک شنبه 21 اسفند 1390, 11:58 صبح
وب سرويس خودتونه؟ پس احتمالا مشكل تو ساخت خروجي هست
كدش رو ميشه ديد؟

hamed-php
یک شنبه 21 اسفند 1390, 12:52 عصر
وب سرويس خودتونه؟ پس احتمالا مشكل تو ساخت خروجي هست
كدش رو ميشه ديد؟

بلی - این مربوط به سمت client :


<?php

require_once('../lib/nusoap.php');

$client = new nusoap_client('http://localhost/www/kelas/webservice/xml-webservice/server.php');

$err = $client->getError();
if ($err) {

echo '<h2>error</h2><pre>' . $err . '</pre>';

}

$result = $client->call('hamed', array('name' => 'Scott'));

if ($client->fault) {
echo '<h2>Fault</h2><pre>';
print_r($result);
echo '</pre>';
} else {

$err = $client->getError();
if ($err) {

echo '<h2>Error</h2><pre>' . $err . '</pre>';

} else {
echo '<h2>Result</h2><pre>';
print_r($result);
echo '</pre>';
}
}
?>
<?php
// Display the request and response
echo '<h2>Request</h2>';
echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2>';
echo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
?>



و این هم سمت سرور :


<?php

require_once('../lib/nusoap.php');

$server = new soap_server;

$server->register('hamed');

function hamed($name) {
return 'Hello, ' . $name;
}

$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>


خروجی که سرور میفرسته سمت کلاینت میخوام این باشه:
Hello hamed

hamed-php
دوشنبه 22 اسفند 1390, 15:41 عصر
این هم نسخه nusoap که استفاده میکنم84077

خط 6623 هم مرتبط است با خطایی که میگیرم

hightech
دوشنبه 22 اسفند 1390, 19:20 عصر
معذرت میخوام که دیر جوابتونو میدم

$server = new nusoap_server();
$server->configureWSDL('wsdl', 'urn:wsdl');
$server->xml_encoding = "UTF-8";


اگه بازم درست نشد، میتونید برای رجیستر کردن تابع این رو استفاده کنید:


$server->register('hamed',
array('name' => 'xsd:string'),
array('return' => 'xsd:string'),
'urn:wsdl',
'urn:wsdl#hello',
'rpc',
'encoded',
''
);

hamed-php
دوشنبه 22 اسفند 1390, 19:57 عصر
خواهش میکنم
ممنون از پاسخ شما. مشکل همچنان باقیست ، تفاوتی نکرد!
البته فقط خطا به خط دوم اشاره میکنه:


XML error parsing SOAP payload on line 2: Not well-formed (invalid token)

hightech
دوشنبه 22 اسفند 1390, 23:56 عصر
ببینید که اصلا فایل سرویس درست اجرا میشه یا نه؟؟
درست include شده اصلا؟

hamed-php
سه شنبه 23 اسفند 1390, 09:44 صبح
ببینید که اصلا فایل سرویس درست اجرا میشه یا نه؟؟
درست include شده اصلا؟

بلی


$client = new nusoap_client('http://localhost/www/kelas/webservice/xml-webservice/server.php');

این قسمت رو بطور کامل جواب میده. در واقع server.php داره پاسخ میده


<?php // Display the request and response echo '<h2>Request</h2>'; echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>'; echo '<h2>Response</h2>'; echo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>'; ?>

hightech
سه شنبه 23 اسفند 1390, 12:08 عصر
اگه براتون مشكلي نيست فايلهاتون رو اتچ كنيد

hamed-php
سه شنبه 23 اسفند 1390, 20:27 عصر
سلام
مشکل حل شد با ارتقای nusoap

رضا قربانی
چهارشنبه 24 اسفند 1390, 19:36 عصر
سلام
مشکل حل شد با ارتقای nusoap
پست شماره 3 همین تاپیک.

hightech
چهارشنبه 24 اسفند 1390, 23:18 عصر
معذرت میخوام که باز هم دیر رسیدم
خیلی عالیه
موفق باشید

mohajer68
پنج شنبه 03 اردیبهشت 1394, 13:22 عصر
من همش این ارور رو میگیرم کسی میدونه مشکل کجاست
HTTP Error: socket read of headers timed out

mohajer68
پنج شنبه 03 اردیبهشت 1394, 13:51 عصر
مشکلم رفع شد