質問

こんばんは、

私はあなたの助けが必要です。

これまで、私のWebサービスを使用してデータを撤回することは問題ありませんでした。 データを受信する場合は、いくつか送信しなければなりません。例:ログイン。

しかし、私はWebServiceにデータを送信したいと思います、そしてそれは "trueまたはfalse"を返すだけです。

私は必要なデータがあることを知っていますが、何をするべきかはそうしません。 つまり、私が呼び出す方法はデータを受信する必要があり、これらのデータをデータベース内の更新を行う必要があります。 私はどちらが手動でWebServiceで直接機能するかを知っています。

間違っているかもしれませんか?

はコードです:

Android上のアプリ上のデータを挿入した後、ボタンをクリックすると、次のようにします。

最後のメッセージは、私が実際のデータを送ることを私が知っている方法です:

try
{
    newpassword = newPass;
    Abreviatura = (EditText)findViewById(R.id.txtAbreviatura);
    newabreviatura = Abreviatura.getText().toString();

    Nome = (EditText)findViewById(R.id.txtNome);
    newnome = Nome.getText().toString();

    User = (EditText)findViewById(R.id.txtUsername);
    newusername = User.getText().toString();

    rslt="START"; 
    Caller c=new Caller(); c.newNome = newnome;
    c.newUser = newusername; c.newPass = newpassword;
    c.newAbrev = newabreviatura; c.oldusername = oldusername;
    c.ad=ad;
    c.join(); c.start();

    while(rslt=="START") {
        try {
            Thread.sleep(10); 
        }catch(Exception ex) {
        }
    }

    ad.setTitle("Alteração:");
    ad.setMessage(BIQActivity.comando + ";" + newnome + ";" + newpassword + ";" + newabreviatura + ";" + newusername + ";" + oldusername);
    ad.show();
}catch(Exception ex)
{

}
.

その機能は、このようなコードの安心を使用して、次のコードにデータを送信します。

    csup=new CallSoapUpdatePerfil();
    String resp=csup.CallUpdatePerfil(newUser, newNome, newPass, newAbrev, ldusername);
    Perfil.rslt = resp; 
.

最後に、これはデータをWebサービスに送信するコードです。

public class CallSoapUpdatePerfil { 

public final String SOAP_ACTION = "http://tempuri.org/UpdatePerfil";

public  final String OPERATION_NAME = "UpdatePerfil"; 

public  final String WSDL_TARGET_NAMESPACE = "http://tempuri.org/";

public  final String SOAP_ADDRESS = "http://10.0.2.2:80/BIQAndroid/BIQAndroid.asmx";

public String CallUpdatePerfil(String User, String Pass, String Nome, String Abrev, String oldusername)
{
    SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,OPERATION_NAME);
    PropertyInfo pi=new PropertyInfo();
    pi.setName("User");
    pi.setValue(User);
    pi.setType(String.class);
    request.addProperty(pi);
    pi=new PropertyInfo();
    pi.setName("Pass");
    pi.setValue(Pass);
    pi.setType(String.class);
    request.addProperty(pi);
    pi=new PropertyInfo();
    pi.setName("Abrev");
    pi.setValue(Abrev);
    pi.setType(String.class);
    request.addProperty(pi);
    pi=new PropertyInfo();
    pi.setName("Nome");
    pi.setValue(Nome);
    pi.setType(String.class);
    request.addProperty(pi);
    pi=new PropertyInfo();
    pi.setName("oldusername");
    pi.setValue(oldusername);
    pi.setType(String.class);
    request.addProperty(pi);

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
    SoapEnvelope.VER11);
    envelope.dotNet = true;

    envelope.setOutputSoapObject(request);

    HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
    Object response=null;
    try
    {
        httpTransport.call(SOAP_ACTION, envelope);
        response = envelope.getResponse();
    }
    catch (Exception exception)
    {
        response=exception.toString();
    }
    return response.toString();
}
}
.

誰かが役立つことができるのなら...について。

役に立ちましたか?

解決

私は既にエラーを見つけました。エラーはWebサービスのパラメータの名前です。:s

完了 とにかくありがとうございました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top