안드로이드 에뮬레이터에서 .net 웹 서비스를 호출하려고하는데 연결 시간 초과 예외가 발생합니다.ksoap2 연결 시간 초과
웹 서비스를 호출하기 전에 문제없이 http://www.w3schools.com/webservices/tempconvert.asmx을 호출했습니다.
그래서 나는 안드로이드 응용 프로그램에서 내 .net webService에 문제가 있다고 가정합니다.
그물은
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class Pros : System.Web.Services.WebService {
[WebMethod]
public List<Product> Get(int pageIndex,int pageSize) {
var efUnitOfWork = new EFUnitOfWork();
var productsRepos = new ProductRepository(new EFRepository<Product>(), efUnitOfWork);
return (List<Product>)productsRepos.GetByPage(pageIndex, pageSize);
}
}
하고 자바는
private static final String METHOD_NAME = "Get";
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://10.0.0.2:2807/webservices/webService.asmx";
private static String SOAP_ACTION = NAMESPACE+METHOD_NAME;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("pageIndex", "0");
request.addProperty("pageSize", "10");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapObject result=(SoapObject)envelope.getResponse();
String resultData=result.getProperty(0).toString();
}
catch (Exception e) {
e.printStackTrace();
}
}
내가 모르는 뭔가가있다?
나는 시간 제한을 늘렸고 AsyncTask에서 호출을 이동했지만 여전히 동일한 오류가 발생합니다. – StrouMfios
실제로 기기에서 서비스에 연결할 수 있습니까? 브라우저에서? –
아니요 연결할 수 없습니다. 하지만 프로덕션 서버에 .net 응용 프로그램을 업로드하고 작동합니다. localhost에 문제가 생겼습니다. – StrouMfios