gpt4 book ai didi

android - 为 android studio 编写 SOAP API

转载 作者:行者123 更新时间:2023-11-29 01:16:42 26 4
gpt4 key购买 nike

我正在构建一个 android 应用程序,我希望它使用 SOAP API 请求和响应。我目前正在使用我得到的一个例子,但这个例子不起作用,我已经问过房东,但他没有回复。所以这是代码;

Button bt;
String TAG = "Response";
SoapPrimitive resultString;
EditText celsius;
String getCel;

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


bt = (Button) findViewById(R.id.bt);
celsius = (EditText) findViewById(R.id.cel);

//add button listener
bt.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {

getCel = celsius.getText().toString();
AsyncCallWS task = new AsyncCallWS();
task.execute();

}
});
}

private class AsyncCallWS extends AsyncTask<Void, Void, Void> {

@Override
protected void onPreExecute() {
Log.i(TAG, "onPreExecute");
}

@Override
protected Void doInBackground(Void... params) {
Log.i(TAG, "doInBackground");
Calculate();
return null;
}

@Override
protected void onPostExecute(Void result) {
Log.i(TAG, "onPostExecute");
Toast.makeText(MainActivity.this, "Response" + resultString.toString(), Toast.LENGTH_LONG).show();
}
}


public void Calculate() {
String SOAP_ACTION = "http://www.w3schools.com/webservices/CelsiusToFahrenheit";
String METHOD_NAME = "CelsiusToFahrenheit";
String NAMESPACE = "http://www.w3schools.com/webservices/";
String URL = "http://www.w3schools.com/webservices/tempconvert.asmx";

try {
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
Request.addProperty("Celsius", getCel);

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

HttpTransportSE transport = new HttpTransportSE(URL);

transport.call(SOAP_ACTION, soapEnvelope);
resultString = (SoapPrimitive) soapEnvelope.getResponse();

Log.i(TAG, "Result Celsius: " + resultString);
} catch (Exception ex) {
Log.e(TAG, "Error: " + ex.getMessage());
}

我收到一条错误消息:尝试在空对象引用上调用虚拟方法“java.lang.String org.ksoap2.serialization.SoapPrimitive.toString()”

最佳答案

您的网址有误,已更改。试试这个:

    String SOAP_ACTION = "http://www.w3schools.com/xml/CelsiusToFahrenheit";
String METHOD_NAME = "CelsiusToFahrenheit";
String NAMESPACE = "http://www.w3schools.com/xml/";
String URL = "http://www.w3schools.com/xml/tempconvert.asmx";

希望对你有用。让我知道

关于android - 为 android studio 编写 SOAP API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39074877/

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