无法通过从android传递两个参数来使用dot net web服务

无法通过从android传递两个参数来使用dot net web服务,android,web-services,xml-parsing,Android,Web Services,Xml Parsing,现在,我正在通过SOAP方法使用android中的一个点网web服务。这正是我正在尝试使用的web服务 "http://54.251.60.177/TMSOrdersService/TMSDetails.asmx“此web服务实际上是以xml格式检索数据 此web服务的输入值为 起始日期:2012年1月1日 今天:2012年7月7日 将这些输入值输入到EddieTeX框中,当我单击“调用”按钮时,它显示空白屏幕,我也无法在LogCoT上找到任何东西。 Logcat 09-11 11:11:41.

现在,我正在通过SOAP方法使用android中的一个点网web服务。这正是我正在尝试使用的web服务

"http://54.251.60.177/TMSOrdersService/TMSDetails.asmx“此web服务实际上是以xml格式检索数据

此web服务的输入值为

起始日期:2012年1月1日

今天:2012年7月7日

将这些输入值输入到EddieTeX框中,当我单击“调用”按钮时,它显示空白屏幕,我也无法在LogCoT上找到任何东西。

Logcat

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
09-11:11:41.314:D/AndroidRuntime(442):关闭虚拟机
09-11:11:41.323:D/dalvikvm(442):调试器已分离;对象注册表有1个条目
09-11:11:41.374:I/AndroidRuntime(442):注意:连接螺纹“粘合剂螺纹#3”失败

09-11 11:11:41.844:D/AndroidRuntime(450):>>>>>>>>>>>>>>>>AndroidRuntime开始web服务实际上没有返回所有提交日期的有效输出。通过试错,web服务返回了的有效输出

起始日期:2012年9月1日

截止日期:2012年9月5日

编辑:

使用上述值,我能够获得以下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>

OR00000004
225
87

我不知道您是否正在使用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) {

    }   
}
import org.ksoap2.SoapEnvelope;
导入org.ksoap2.serialization.SoapObject;
导入org.ksoap2.serialization.SoapSerializationEnvelope;
导入org.ksoap2.transport.HttpTransportSE;
public void gettmchart(字符串FromDate,字符串ToDate)
{
set属性(“http.keepAlive”、“false”);
SoapSerializationEnvelope=新的SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
字符串命名空间=”http://tempuri.org/";
字符串url=”http://54.251.60.177/TMSOrdersService/TMSDetails.asmx";
String method=“GetTMSChart”;
SoapObject请求=新的SoapObject(名称空间、方法);
请求。添加属性(“FromDate”,FromDate);
addProperty(“ToDate”,ToDate);
envelope.setOutputSoapObject(请求);
HttpTransportSE androidHttpTransport=新的HttpTransportSE(url);
试一试{
调用(名称空间+方法,信封);
SoapObject结果=(SoapObject)envelope.bodyIn;
SoapObject根=(SoapObject)((SoapObject)(结果).getProperty(0)).getProperty(“NewDataSet”);
int tableCount=root.getPropertyCount();
for(int i=0;i
@LalitPoptani我已将我的日志猫提供给您,供您参考上述问题。请查找它这不是logcat所需的输出,我要求您提供错误/异常信息。@LalitPoptani没有..我的日志猫上只有这些东西,我在我的问题上也提到了这一行。确保你的按钮的点击事件正常工作。是的,我确信它正常工作,但实际上我添加了一些代码和类来使用上述web服务,因为上述web服务以XML数据的形式返回数据。实际上,我的要求是,我需要创建一个条形图,只需使用此web服务的值,即x轴的订单号、y轴的运费以及最终的利润率,就会显示在每个创建栏的顶部……这就是我想要的,你能帮我吗?你能给我看一下上面代码的.xml吗?我现在正在尝试你的建议?我用你的建议值尝试了一下:FromDate:01/01/2012到Date:07/07/2012,我得到了:OR00000001 450 70或00000002 450 89或00000004 225 87或00000005 300 50哦..好的…在你给我的代码的底部,您在注释行中提到//您如何处理这些值。如果我只想在textview上打印这些值,那么该怎么做..这意味着在给edittext框输入值之后,如果我点击按钮,它应该只在textview上显示这些值..我已经尝试过了,但显示了一些错误,我会发布我的源代码以供上述问题的参考吗