Невозможно использовать веб-службу dot net, передав два параметра из Android

Теперь я использую веб-службу dot net в Android по методу SOAP. Это именно та веб-служба, которую я пытаюсь использовать.

"http://54.251.60.177/TMSOrdersService/TMSDetails.asmx" эта веб-служба фактически извлекает данные в виде формата xml.

Входные значения для этой веб-службы:

Дата начала: 01 января 2012 г.

Дата: 07.07.2012

После ввода этих входных значений в текстовые поля редактирования, когда я нажимаю кнопку «вызвать», отображается пустой экран, я тоже ничего не могу найти в своем логарифме.

Логкат

09-11 11:11:41.314: D/AndroidRuntime(442): Shutting down VM
09-11 11:11:41.323: D/dalvikvm(442): Debugger has detached; object registry had 1 entries
09-11 11:11:41.374: I/AndroidRuntime(442): NOTE: attach of thread 'Binder Thread #3' failed
09-11 11:11:41.844: D/AndroidRuntime(450): >>>>>>>>>>>>>> AndroidRuntime START      <<<<<<<<<<<<<<
09-11 11:11:41.844: D/AndroidRuntime(450): CheckJNI is ON
09-11 11:11:41.974: D/AndroidRuntime(450): --- registering native functions ---
09-11 11:11:42.034: I/jdwp(450): Ignoring second debugger -- accepting and dropping
09-11 11:11:42.524: I/ActivityManager(75): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.test_webservice/.Test_webservice }
09-11 11:11:42.584: D/AndroidRuntime(450): Shutting down VM
09-11 11:11:42.604: D/dalvikvm(450): Debugger has detached; object registry had 1 entries
09-11 11:11:42.714: I/AndroidRuntime(450): NOTE: attach of thread 'Binder Thread #3' failed
09-11 11:11:48.973: D/dalvikvm(178): GC_EXPLICIT freed 438 objects / 20576 bytes in 100ms

Предложения, пожалуйста?


person Manick    schedule 11.09.2012    source источник
comment
@LalitPoptani Я дал свой логарифм для справки по вышеуказанному вопросу. Пожалуйста, найдите его.   -  person Manick    schedule 11.09.2012
comment
это не требуемый вывод из logcat, я прошу об ошибке/исключении, которое вы получаете.   -  person Lalit Poptani    schedule 11.09.2012
comment
@LalitPoptani нет .. у меня есть только эти вещи на моем лог-коте, я тоже упомянул эту строку в своем вопросе.   -  person Manick    schedule 11.09.2012
comment
убедитесь, что событие нажатия вашей кнопки работает.   -  person Lalit Poptani    schedule 11.09.2012
comment
Да, я уверен, что он работает хорошо, но на самом деле я добавил некоторый код и класс для использования вышеуказанного веб-сервиса, потому что вышеуказанный веб-сервис возвращает данные в виде набора данных XML.   -  person Manick    schedule 11.09.2012
comment
давайте продолжим это обсуждение в чате   -  person Manick    schedule 11.09.2012


Ответы (2)


Я не знаю, используете ли вы ksoap2, но я написал и протестировал эту функцию, и она отлично работает, я получаю значения. Надеюсь, поможет:

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

public void getTMSChart(String FromDate, String ToDate)
{
    System.setProperty("http.keepAlive", "false");        
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);        
    envelope.dotNet = true;
    String namespace = "http://tempuri.org/";
    String url = "http://54.251.60.177/TMSOrdersService/TMSDetails.asmx";
    String method = "GetTMSChart";

    SoapObject request = new SoapObject(namespace, method);        
    request.addProperty("FromDate", FromDate);               
    request.addProperty("ToDate", ToDate);

    envelope.setOutputSoapObject(request);
    HttpTransportSE androidHttpTransport = new HttpTransportSE(url);

    try {
        androidHttpTransport.call(namespace + method, envelope);
        SoapObject result = (SoapObject) envelope.bodyIn;
        SoapObject root =  (SoapObject) ((SoapObject)(result).getProperty(0)).getProperty("NewDataSet");
        int tablesCount = root.getPropertyCount();
        for (int i = 0; i < tablesCount; i++)
        {
            SoapObject table = (SoapObject) root.getProperty(i);
            int propertyCount = table.getPropertyCount();
            for (int j = 0; j < propertyCount; j++)
            {           
                String orderNo =  table.getPropertyAsString("Order_No");
                int freightRate = Integer.parseInt(table.getPropertyAsString("Freight_Rate"));
                int marginPercent = Integer.parseInt(table.getPropertyAsString("Margin_Percent"));
                // whatever you do with these values
            }                   
        }
    }   
    catch (Exception e) {

    }   
}
person Paulyfas B    schedule 11.09.2012
comment
На самом деле мое требование состоит в том, что мне нужно создать гистограмму, просто используя значения этой веб-службы, т. Е. Order_no для оси X, Freight_Rate для оси Y и, наконец, Margin_percent должен отображаться вверху каждого созданного бара. .. это то, что я хочу, не могли бы вы мне помочь? - person Manick; 11.09.2012
comment
Можете ли вы показать мне .xml для приведенного выше кода, я просто пробую ваше предложение сейчас? - person Manick; 11.09.2012
comment
Я попробовал это с предложенными вами значениями: FromDate : 01/01/2012 ToDate : 07/07/2012 И я получаю это: ‹NewDataSet› ‹Table› ‹Order_No›OR00000001‹/Order_No› ‹Freight_Rate›450‹/Freight_Rate› ‹ Margin_Percent›70‹/Margin_Percent› ‹/Table› ‹Table› ‹Order_No›OR00000002‹/Order_No› ‹Freight_Rate›450‹/Freight_Rate› ‹Margin_Percent›89‹/Margin_Percent› ‹04›Order_Table› ‹Order_Table› ‹Order_Table› /Order_No› ‹Freight_Rate›225‹/Freight_Rate› ‹Margin_Percent›87‹/Margin_Percent› ‹/Table› ‹Table› ‹Order_No›OR00000005‹/Order_No› ‹Freight_Rate›300‹/Margin_Pergin_Margin› ‹ ‹/Таблица› ‹/НовыйНаборДанных› - person Paulyfas B; 11.09.2012
comment
о... хорошо... Внизу кода, который вы мне дали, вы упомянули в строке комментария //что вы делаете с этими значениями. если я просто хочу напечатать эти значения в текстовом представлении, как это сделать.. - person Manick; 11.09.2012
comment
Это означает, что после ввода входных значений в текстовые поля редактирования, и если я нажму кнопку, он должен просто показать эти значения в текстовом представлении... Я пробовал это, но показал некоторую ошибку, опубликую ли я свои источники для справки по вышеуказанному вопросу - person Manick; 11.09.2012
comment
Мне нужна ваша помощь, потому что я следую вашему предложенному коду (который указан вами выше) - person Manick; 12.09.2012

Фактически веб-служба не возвращает действительный вывод для всех представленных дат. В результате пробной ошибки веб-служба вернула действительный вывод для

От Дата: 09.01.2012

Дата: 09.05.2012

изменить:

используя приведенные выше значения, я могу получить следующий xml:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <soap:Body>
  <GetTMSChartResponse xmlns="http://tempuri.org/">
     <GetTMSChartResult>
        <NewDataSet xmlns="">
           <Table>
              <Order_No>OR00000004</Order_No>
              <Freight_Rate>225</Freight_Rate>
              <Margin_Percent>87</Margin_Percent>
           </Table>
        </NewDataSet>
     </GetTMSChartResult>
  </GetTMSChartResponse>

person Vicky Kapadia    schedule 11.09.2012