我正在尝试从我的 Android 应用程序调用网络服务。我部署了一个 Web 服务,它使用 Java 中的 Hibernate 插入一条记录(产品条形码、产品名称),我编写了一个活动来测试它。
当我在我的 AVD 上运行它时,我得到了一个 connectionException :Connection refused
这是我的代码:
package com.market_helper.app;
import android.R.string;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.ksoap2.serialization.PropertyInfo;
public class Market_helper_androidActivity extends Activity {
private static final String SOAP_ACTION = "http://localhost:7675/market_helper/services/Main";
private static final String METHOD_NAME = "insertProduct";
private static final String NAMESPACE = "http://localhost:7675/market_helper/services/";
private static final String URL = "http://localhost:7675/market_helper/services/Main?wsdl";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("barCode", "12345");
request.addProperty("productName", "abc");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
Object result = envelope.getResponse();
} catch (Exception e) {
e.printStackTrace();
}
}
}
这是我在 Android 上的第一个网络服务,我不确定代码是否正确。我正在调用一个名为insertProduct(String barCode,String productName)
. Web 服务正在运行并经过测试。