gpt4 book ai didi

android - Web 服务不接收从 Android 应用程序传递的值。有什么建议吗?

转载 作者:行者123 更新时间:2023-11-30 03:53:15 26 4
gpt4 key购买 nike

我正在尝试将 int 值传递给 Web 服务并期待回复。但我只是在网络服务上获得值(value)。我的意思是它不考虑我的输入值。android代码如下:

    package com.example.fp1_webservicedropdown;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

import org.ksoap2.*;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.*;

public class MainActivity extends Activity {
TextView result;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

result = (TextView) findViewById(R.id.textView2);

final String NAMESPACE = "http://sample.com/";
final String METHOD_NAME = "SayHello";
final String SOAP_ACTION = "http://sample.com/SayHello";
final String URL = "http://localip/HellowWorld/Service1.asmx";

SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
Request.addProperty("SayHello", "32");

SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
soapEnvelope.dotNet = true;
soapEnvelope.setOutputSoapObject(Request);

AndroidHttpTransport aht = new AndroidHttpTransport(URL);
try {
aht.call(SOAP_ACTION, soapEnvelope);
SoapPrimitive resultString = (SoapPrimitive) soapEnvelope
.getResponse();
result.setText("The web service returned " + resultString);
System.out.println(resultString);
}

catch (Exception e) {
e.printStackTrace();
}
}
}

Web服务代码如下:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;

namespace HellowWorld
{
[WebService(Namespace = "http://sample.com/")]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public int SayHello(int a)
{

int t = 8 + a;
return t;
}
}
}

它只是返回 当我运行 android 时,网络服务返回 8。 Insted of giving Web 服务返回 40。非常感谢任何帮助。

最佳答案

Web 服务或 Web URL 是一种基于文本的格式。它不识别数据类型。它只接受文本..所以你必须作为一个字符串传递,你必须从网络服务代码中将它转换为 int。

在网络服务中使用它

public int SayHello(String abc)
{
// convert abc to int
int t = 8 + converted int;
return t;
}

关于android - Web 服务不接收从 Android 应用程序传递的值。有什么建议吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13795514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com