こんばんは、
あなたの助けが必要です。
これまで、私のWebサービスを使用してデータを引き出すことは問題ありませんでした。データを受信するためにも、私はいくつかを送信する必要があります。例:ログイン。
ただし、データをWebサービスに送信したいのですが、「trueまたはfalse」のみが返されます。
必要なデータがあることはわかっていますが、想定されていることを実行していません。つまり、私が呼び出しているメソッドは、データを受信する必要があり、これらのデータを使用してデータベースの更新を行います。どちらが手動で、Webサービスで直接機能するかを知っています。
何が悪いのでしょうか?
以下はコードです:
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();
}
}
誰かが助けることができるなら...よろしく。