asp.net 웹 서비스를 만들고 에뮬레이터를 사용하여 웹 서비스에 쉽게 액세스 할 수 있으므로 네트워크를 통해 웹 서비스에 액세스하고 싶을 때 내 전화가 클라이언트가됩니다. 내 노트북은 여러 시간 동안 그렇게하려고 노력하는 서버가 될 것이지만 아무 일도 일어나지 않았다. java.lang.NullPointerException
. 나는 로컬 네트워크를 생성하고 네트워크 정보 http://s9.postimg.org/k3a7t754f/image.png를 볼 수있는 사진을보고 내가 전화에서 네트워크에 내 IP 주소를 연결하면이 처음으로 UserService 클래스는이 클래스가 호출이다 192.168.173.205네트워크를 통해 웹 서비스에 액세스
입니다
@Override protected User doInBackground(Void... params) { try { return new UserService("CheckFirstTimeLogin", "UserApi.asmx") .CheckLogin(mUsername, mPassword); } catch (Exception e) { return null; } } @Override protected void onPreExecute() { super.onPreExecute(); alertDialog = new AlertDialog.Builder(LoginActivity.this).create(); } @Override protected void onPostExecute(User user) { if (user == null) { onCancelled(); alertDialog.setTitle(R.string.login_connecnt_title); alertDialog.setMessage("خطأ اثناء عملية الإتصال"); alertDialog.show(); } }
package com.routingware.services;
import android.util.Log;
import com.routingware.database.models.User;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
public String NAMESPACE = "http://tempuri.org/";
public String METHOD = "";
public String ACTION = "";
public String URL = "http://192.168.173.1/projectnetwork/";
public class UserService extends CommonClass {
public UserService (String MethodName, String PageName) {
METHOD = MethodName;
ACTION = NAMESPACE + MethodName;
URL = URL + PageName;
}
public User CheckLogin (String Username, String Password) {
User user = null;
SoapObject Request = new SoapObject(NAMESPACE, METHOD);
// Send Username as parameter
PropertyInfo Pi = new PropertyInfo();
Pi.setName("Username");
Pi.setValue(Username);
Pi.setType(String.class);
Request.addProperty(Pi);
// Send Password as parameter
Pi = new PropertyInfo();
Pi.setName("Password");
Pi.setValue(Password);
Pi.setType(String.class);
Request.addProperty(Pi);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(Request);
envelope.implicitTypes = true;
envelope.addMapping(NAMESPACE, "User",new User().getClass());
HttpTransportSE httpTransport = new HttpTransportSE(URL);
httpTransport.debug = true;
try
{
Log.e("call","1");
httpTransport.call(ACTION, envelope);
SoapObject Response = (SoapObject)envelope.getResponse();
user = new User();
user.setUserID(Integer.parseInt(Response.getProperty(0).toString()));
user.setUserName(Response.getProperty(1).toString());
user.setUserPasswrd(Response.getProperty(2).toString());
user.setBranchID(Integer.parseInt(Response.getProperty(3).toString()));
user.setCompanyID(Integer.parseInt(Response.getProperty(4).toString()));
user.setUserState(Boolean.parseBoolean(Response.getProperty(5).toString()));
}
catch (Exception ex)
{
Log.e("call",ex.toString());
return null;
}
finally
{
return user;
}
}
}
통화 방법
나쁜 영어로 죄송합니다.
예는 같은 와이파이 네트워크 – user3367149
791-804에 연결되어 여기에서 단계를 수행하게 할 것입니다 HTTP의 포트를 사용하여 해당 ksoap2했다 /com.routingware.app E/call : java.lang.NullPointerException – user3367149
얻은 모든 오류 로그를 게시 할 수 있습니까? –