نمایش نتایج: از شماره 1 تا 8 , از مجموع 8

موضوع: اشکال در اتصال به وب سرویس (جایزه دارد!)

  1. #1
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    27
    تشکر تشکر کرده 
    6
    تشکر تشکر شده 
    33
    تشکر شده در
    16 پست

    پیش فرض اشکال در اتصال به وب سرویس (جایزه دارد!)

    با سلام به دوستان
    هر کسی راه حلی مناسب ارائه کند 50,000 تومان به عنوان جایزه به حسابش واریز خواهم کرد.

    ما یک سرور اختصاصی در ایران داریم Centos5.7 و کنترل پنل kloxo آخرین ورژن 6.1.12.

    برای اتصال به وب سرویس هایی با پروتوکل https مشکل داریم مثل بانک سامان و پارسیان .

    من از کتابخانه nusoap استفاده می کنم .

    برای اتصال به وب سرویس های http مشکلی نیست .

    لازم به ذکر است کد سیستم را خودم نوشتم و در دو سرور مشابه دیگر درست کار می کند .
    یکی در ایران و یکی در آمریکا

    هنگام اتصال و ارسال اطلاعات خطای زیر اعلام می شود :
    Error: wsdl error: HTTP ERROR: no proper separation of headers and document


    نمونه کد جهت debug :

    کد PHP:

    include "lib/nusoap.php" ;

      
    $wsdl "https://www.pecco24.com:27635/pecpaymentgateway/eshopservice.asmx?wsdl";
      
      
      
    $client = new nusoap_client($wsdl,"wsdl");
      
    $client->xml_encoding "UTF-8";
      
    $client->soap_defencoding "UTF-8";
      
    $client->decode_utf8 false;
      
      
        if (!
    $err $client->getError()){
            $***** = 
    $client->get*****();
            echo 
    'OK' ;
            }
      
      


    if ( (!
    $client) OR ($err $client->getError()) ) {
        
    $error .= $err "<br />" ;
        
        
    //echo $error ;
                   
    echo '<p><b>Error: ' $err '</b></p>';
                echo 
    '<h2>Request</h2><pre>' htmlspecialchars($client->requestENT_QUOTES) . '</pre>';
                echo 
    '<h2>Response</h2><pre>' htmlspecialchars($client->responseENT_QUOTES) . '</pre>';
                echo 
    '<h2>Debug</h2><pre>' htmlspecialchars($client->debug_strENT_QUOTES) . '</pre>';

     

    }else{
        
        echo 
    "OK - NO ERROR";
        
        } 


    من اتصال به وب سرویس بانک پارسیان را debug کردم وپاراگراف آخر به این شرح است :

    [[
    کد HTML:
    LEFT]LEFT]2012-03-24 02:27:01.805522 soap_transport_http: set cURL HTTP headers
    2012-03-24 02:27:01.805589 soap_transport_http: set cURL payload
    2012-03-24 02:27:01.805661 soap_transport_http: send and receive with cURL
    2012-03-24 02:27:01.805744 soap_transport_http: No cURL error, closing cURL
    2012-03-24 02:27:01.805857 soap_transport_http: no proper separation of headers and document
    2012-03-24 02:27:01.805927 soap_transport_http: end of send()
    2012-03-24 02:27:01.806011 wsdl: HTTP ERROR: no proper separation of headers and document
    2012-03-24 02:27:01.806096 nusoap_client: checkWSDL
    2012-03-24 02:27:01.806164 nusoap_client: got wsdl error: HTTP ERROR: no proper separation of headers and document
    2012-03-24 02:27:01.806232 nusoap_client: Error from _get*****ClassCode, so return NULL[/LEFT][/LEFT]
    مشکلی از curl نیست چون No cURL error, closing cURL قابل مشاهده است .
    هنگام ارسال دیتا مثل اینکه header و document به طور صحیح تفکیک نشده اند. علت را نمی دانم !


    یک vps هم در ایران داریم که روی آن kloxo نصب است و سیستم عامل آن centos5 می باشد
    روی آن درست کار می کند . پاراگراف آخر debug را قرار می دادم :
    [
    کد HTML:
    LEFT]
    2012-03-24 01:35:36.818260 soap_transport_http: set cURL HTTP headers
    2012-03-24 01:35:36.818330 soap_transport_http: set cURL payload
    2012-03-24 01:35:36.818422 soap_transport_http: send and receive with cURL
    2012-03-24 01:35:37.582894 soap_transport_http: No cURL error, closing cURL
    2012-03-24 01:35:37.584217 soap_transport_http: found proper separation of headers and document
    2012-03-24 01:35:37.584303 soap_transport_http: cleaned data, stringlen: 3785
    2012-03-24 01:35:37.584449 soap_transport_http: The gzinflate function exists
    2012-03-24 01:35:37.584693 soap_transport_http: The payload has been un-gzipped to 49255 bytes
    2012-03-24 01:35:37.584782 soap_transport_http: end of send()[/LEFT]
    من تنظیمات apche و php ، فایروال و .... را کاملا چک کردم ظاهرا مشکلی ندارد .
    الان چند روزه درگیر این موضوع هستم و بخاطر همین کلی مطلب یادگرفتم .
    در اینترنت این error را زیاد سرچ کردم ولی پاسخ ها غیر مرتبط بودند .
    احتمالا مشکل همون فوت کوزه گری هست که من نمی دونم .

    هر نوع گزارشی خواستید در اختیارتان قرار خواهم داد .

    با تشکر فراوان

  2. تعداد تشکر ها ازomid56 به دلیل پست مفید


  3. # ADS




     

  4. #2
    عضو انجمن
    تاریخ عضویت
    Jul 2009
    محل سکونت
    شیراز
    نوشته ها
    267
    تشکر تشکر کرده 
    325
    تشکر تشکر شده 
    436
    تشکر شده در
    296 پست

    پیش فرض پاسخ : اشکال در اتصال به وب سرویس (جایزه دارد!)

    Http Response رو قرار بدید .

  5. تعداد تشکر ها ازmilade به دلیل پست مفید


  6. #3
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    27
    تشکر تشکر کرده 
    6
    تشکر تشکر شده 
    33
    تشکر شده در
    16 پست

    پیش فرض پاسخ : اشکال در اتصال به وب سرویس (جایزه دارد!)

    متاسفانه جهت request و response کدی رو بر نمی گردونه .
    در سرورهایی هم که درست کار می کند ، این دو مورد قابل مشاهده نیست .

    من در کدهای مربوط به کلاس class.soap_transport_http در nusoap دقت کردم . خطا مربوط به بخش response است . قسمتی از کد را از فانکشن : getResponse() را قرار می دهم .

    کد PHP:
    if ($pos strpos($data,"\r\n\r\n")) {
       
    $lb "\r\n";
      } elseif( 
    $pos strpos($data,"\n\n")) {
       
    $lb "\n";
      } else {
       
    $this->debug('no proper separation of headers and document');
       
    $this->setError('no proper separation of headers and document');
       
       return 
    false;
      }
      
    $header_data trim(substr($data,0,$pos));
      
    $header_array explode($lb,$header_data);
      
    $data ltrim(substr($data,$pos));
      
    $this->debug('found proper separation of headers and document');
      
    $this->debug('cleaned data, stringlen: '.strlen($data)); 

    در اینترنت که سرچ کردم روش گرفتن request و response رو بصورت زیر گیدا کردم که جواب نداد . شاید من اشتباه می کنم :

    کد PHP:

                
    echo '<h2>Request</h2><pre>' htmlspecialchars($client->requestENT_QUOTES) . '</pre>';
       echo 
    '<h2>Response</h2><pre>' htmlspecialchars($client->responseENT_QUOTES) . '</pre>'
    البته تمام مقادیر ceient را که بصورت array است را استخراج کردم .

    کد HTML:
    username:
    password:
    authtype:
    certRequest:Array
    requestHeaders:
    responseHeaders:
    responseHeader:
    document:
    endpoint:https://Acquirer.sb24.com/ref-payment/ws/ReferencePayment?WSDL
    forceEndpoint:
    *****host:
    *****port:
    *****username:
    *****password:
    xml_encoding:UTF-8
    http_encoding:
    timeout:0
    response_timeout:30
    endpointType:wsdl
    persistentConnection:
    defaultRpcParams:
    request:
    response:
    responseData:
    cookies:Array
    decode_utf8:
    operations:Array
    curl_options:Array
    bindingType:
    use_curl:
    fault:
    faultcode:
    faultstring:
    faultdetail:
    title:NuSOAP
    version:0.7.3
    revision:$Revision: 1.114 $
    البته این مقادیر در سروهایی که درست کار می کنند هم بصورت فوق است .


    با تشکر از توجه شما .

    ---------- Post added at 05:09 PM ---------- Previous post was at 04:51 PM ----------

    یک توضیح دیگر هم اضافه کنم .

    از طریق ssh به سرور پارسیان با پورت 27635 ، telnet کردم ، connet شد . در ضمن با lynx به آدرس وب سرویس متصل شدم ، بدوم مشکل صفحه xml را باز کرد .
    منظورم اینکه مشکل از اتصال نیست .

    فایل های httpd.conf و php.ini رو هم با سرور های دیگر مقایسه کردم ، تفاوتی ندیدم .
    تنظیمات ip هم درست است . سرور 2 ip دارد .

    با تشکر

  7. تعداد تشکر ها ازomid56 به دلیل پست مفید


  8. #4
    عضو انجمن
    تاریخ عضویت
    Jul 2009
    محل سکونت
    شیراز
    نوشته ها
    267
    تشکر تشکر کرده 
    325
    تشکر تشکر شده 
    436
    تشکر شده در
    296 پست

    پیش فرض پاسخ : اشکال در اتصال به وب سرویس (جایزه دارد!)

    متاسفانه من امکان تست php برام مهیا نیست ،
    اینکه یفرمایید روی یه سرور کار میکنه روی یه سرور دیگه نه ، جای سواله ! که نشون میده مشکل از کد نیست .ایا در هر دو سرور همین کد رو تست میکنید ؟

    اما کلاً این کد جای سوال داره ! کدوم فانکشن از وب سرویس صدا زده شده !؟

  9. تعداد تشکر ها ازmilade به دلیل پست مفید


  10. #5
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    27
    تشکر تشکر کرده 
    6
    تشکر تشکر شده 
    33
    تشکر شده در
    16 پست

    پیش فرض پاسخ : اشکال در اتصال به وب سرویس (جایزه دارد!)

    در هر سه سرور یک کد اجرا می شود .
    کد تست اولیه روی هر 3 تست کردم . منظور کد degug است . این کد همان مراحل اول را تست می کند . 1 - اتصال 2 - سلامتی data

    باز هم یادآوری می کنم مشکل فقط در ارتباط با وب سرویس با پروتوکل https است .
    شاید در تنظیمات مربوط به xml در سرور باید تغییراتی انجام شود !

    مشکل از ssl هم نباید باشد چون اتصال به hhtps مشکلی ندارد .(Curl)

    os و kloxo و تنظیمات امنیتی را خودم انجام دادم شاید چیری از قلم افتاده . شاید library یا چیزی باید نصب می شده .

    با تشکر

  11. تعداد تشکر ها ازomid56 به دلیل پست مفید


  12. #6
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    27
    تشکر تشکر کرده 
    6
    تشکر تشکر شده 
    33
    تشکر شده در
    16 پست

    پیش فرض پاسخ : اشکال در اتصال به وب سرویس (جایزه دارد!)

    بالاخره بعد از 5 روز مشکل را پیدا کردم . ساعت 3:40 نیمه شب (صبح)
    تابع curl_exec در لیست Disable Functions قرار گرفته بود . با حذف کردن آن از لیست و restart کردن سرویس httpd مشکل حل شد .


    I solved my problem by removing curl_exec from Disabled Functions in php.ini then I restarted apache service
    GoodLuck

    این قسمت رو انگلیسی نوشتم چون شاید یک خارجی هم همین مشکل رو داشته باشه بتونه حل کنه !

    با تشکر از همه دوستان


  13. تعداد تشکر ها ازomid56 به دلیل پست مفید


  14. #7
    عضو جدید
    تاریخ عضویت
    Jul 2010
    نوشته ها
    9
    تشکر تشکر کرده 
    36
    تشکر تشکر شده 
    2
    تشکر شده در
    تشکر شده %1$s بار در 1 پست

    پیش فرض پاسخ : اشکال در اتصال به وب سرویس (جایزه دارد!)

    omid56,
    آقا دستت درد نکنه، عالی بود ... خیلی منو جلو انداختی

  15. تعداد تشکر ها ازmartoor به دلیل پست مفید


  16. #8
    عضو جدید
    تاریخ عضویت
    Jul 2013
    نوشته ها
    61
    تشکر تشکر کرده 
    7
    تشکر تشکر شده 
    38
    تشکر شده در
    27 پست

    پیش فرض پاسخ : اشکال در اتصال به وب سرویس (جایزه دارد!)

    ظاهرا این 50000 تومان قسمت خودتون بود .
    جایزه پشتکار و پیگیری خودتون برای شب زنده داری .
    تبریک=d>
    -----------------------------------------------------------
    Come as you are, as you were , as I want you to be
    -----------------------------------------------------------

  17. تعداد تشکر ها ازunforgiven747 به دلیل پست مفید


اطلاعات موضوع

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

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 22
    آخرين نوشته: October 13th, 2014, 11:10
  2. پاسخ ها: 0
    آخرين نوشته: July 2nd, 2014, 16:40
  3. پاسخ ها: 1
    آخرين نوشته: April 19th, 2013, 02:42
  4. پاسخ ها: 14
    آخرين نوشته: September 1st, 2011, 18:41

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •