نمایش نتایج 1 تا 5 از 5

نام تاپیک: مشکل با فراخوانی وب سرویس

  1. #1
    کاربر دائمی آواتار Louai_M
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شادگان
    پست
    297

    مشکل با فراخوانی وب سرویس

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

    یه وب سرویس با php و nusoap درست کردم (البته تست شده و آنلاین جواب میده) که کدش زیر گذاشتم

    <?php
    // Pull in the NuSOAP
    require_once('lib/nusoap.php');
    // Create the server instance
    $server = new soap_server();
    // Initialize WSDL support

    $server->configureWSDL('MyService', 'urn:MyService');
    // Character encoding
    $server->soap_defencoding = 'utf-8';
    //-------------------------------------------------
    //Registrations of our functions
    //Register GetData function
    $server->register(
    'GetDataAbout',
    array('id' => 'xsd:int'),
    array('return' =>'xsd:string'),
    'urn:MyServicewsdl',
    'urn:MyServicewsdl#GetDataAbout',
    'rpc',
    'literal',
    'Some comments about function 2'
    );
    //-----
    //-------------------------------------------------
    //Our web service functions will be here.
    //Body GetData function
    function GetDataAbout($id) {
    mysql_connect("localhost","***","***");
    mysql_select_db("***");
    mysql_query('SET NAMES \'utf8\'');
    mysql_query('SET NAMES \'utf8\'');
    $sql = "SELECT content FROM tblabout WHERE id = '$id'";
    $result = mysql_fetch_array(mysql_query($sql));
    return $result['content'];
    }
    //-------------------------------------------------
    $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
    $server->service($HTTP_RAW_POST_DATA);
    ?>




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

    کد HTML:
    import android.os.Bundle;
    import android.support.v7.app.ActionBarActivity;
    import android.widget.TextView;
    
    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.PropertyInfo;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.HttpTransportSE;
    
    import java.io.IOException;
    
    /**
     * Created by Novin Pendar on 06/26/2015.
     */
    public class AboutActivity extends ActionBarActivity {
        private static final String SOAP_ACTION = "urn:MyService#GetDataAbout";
        private static final String METHOD_NAME = "GetDataAbout";
        private static final String NAMESPACE = "urn:MyService";
        private static final String URL = "http://service.abdollahtamimi.com/server.php";
    
        TextView v = null;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.layout_about);
    
    
    
    
            SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
    
            //SoapObject
            request.addProperty("id", "1");
            //Create envelope
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.dotNet = true;
            //Set output SOAP object
            envelope.setOutputSoapObject(request);
            //Create HTTP call object
            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
    
            try
            {
                androidHttpTransport.call(SOAP_ACTION, envelope);
                //Object response = envelope.getResponse();
                Object response = envelope.bodyIn;
                ((TextView)findViewById(R.id.txtWebService)).setText(response.toString());
            }
    
            catch (Exception exception)
            {
                ((TextView)findViewById(R.id.txtWebService)).setText(exception.toString());
            }
        }
    }
    
    اما موقع اجرا خطای java.io.ioexception را میده

    حال باید چکار کنم مشکل کدم کجاست

    کل کار وب سرویسم یه id می گیره و محتوای فیلد contentشو نشون میده همین

  2. #2
    کاربر دائمی آواتار Louai_M
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شادگان
    پست
    297

    نقل قول: مشکل با فراخوانی وب سرویس

    دوستان کسی نیست ما را راهنمائی کنه

  3. #3
    کاربر دائمی آواتار Nevercom
    تاریخ عضویت
    دی 1387
    محل زندگی
    بستک
    سن
    35
    پست
    1,118

    نقل قول: مشکل با فراخوانی وب سرویس

    ساده ترین راه برای من استفاده از کتابخانه ی kSOAP2 و سایت http://www.wsdl2code.com/pages/home.aspx برای تولید کلاس های موردنیاز بوده.

  4. #4

    نقل قول: مشکل با فراخوانی وب سرویس

    من پیشنهاد میکنم از xml و soap استفاده نکنید بار پردازشی سمت اندروید بیشتر از json هست + حجم دیتا هم توی soap بیشتر هست. api تون به صورت Json RESTful بنویسید.
    خیلی از سرویس های وب مثل گوگل هم مدت ها قبل Soap Api خودشون رو غیرفعال کردند.

    توضیحات بیشتر:
    http://blog.feedly.com/2009/03/03/jsonrest-vs-xmlsoap/
    https://www.captechconsulting.com/bl...obile-services

  5. #5

    نقل قول: مشکل با فراخوانی وب سرویس

    خطایی که بهت میده مربوط به IO هست تو قسمت catch برنامت کد زیر رو بنویس بعد برو تو لاگکتت ببین چی نوشته
    Log.e("Soap_Error", e.getMessage());

تاپیک های مشابه

  1. سوال: مشکل با فراخوانی وب سرویس در html
    نوشته شده توسط r_khan در بخش ASP.NET Web Forms
    پاسخ: 20
    آخرین پست: سه شنبه 25 شهریور 1393, 11:10 صبح
  2. مشکل در فراخوانی وب‌سرویس با خروچی json
    نوشته شده توسط HAMIDyekta در بخش برنامه نویسی با Borland C++‎ Builder
    پاسخ: 2
    آخرین پست: سه شنبه 27 خرداد 1393, 11:22 صبح
  3. مشکل در فراخوانی وب سرویس (WSDL) و توابع مربوطه
    نوشته شده توسط mriahi در بخش ASP.NET Web Forms
    پاسخ: 7
    آخرین پست: جمعه 11 مرداد 1392, 13:09 عصر
  4. مشکل در فراخوانی وب سرویس سامان
    نوشته شده توسط EHSH در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: پنج شنبه 29 تیر 1391, 18:07 عصر
  5. مشکل در فراخوانی وب سرویس
    نوشته شده توسط alex_kh58 در بخش WCF , Web Services , .Net Remoting
    پاسخ: 5
    آخرین پست: یک شنبه 25 مرداد 1388, 08:47 صبح

قوانین ایجاد تاپیک در تالار

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