Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中向web C#服务发送短信_Android - Fatal编程技术网

在Android中向web C#服务发送短信

在Android中向web C#服务发送短信,android,Android,我想将Android的收件箱消息发送到web C#服务,但我在尝试对空对象引用调用虚拟方法“int java.lang.String.length()”时遇到此错误。原因可能是什么?请帮我解决这个问题。祝您今天过得愉快。 下面是我正在使用的代码: private final String NAMESPACE3 = "http://tosman/"; private final String METHOD_NAME3 = "gelenkutusu"; private final String SO

我想将Android的收件箱消息发送到web C#服务,但我在尝试对空对象引用调用虚拟方法“int java.lang.String.length()”时遇到此错误
。原因可能是什么?请帮我解决这个问题。祝您今天过得愉快。
下面是我正在使用的代码:

private final String NAMESPACE3 = "http://tosman/";
private final String METHOD_NAME3 = "gelenkutusu";
private final String SOAP_ACTION3 = "http://tosman/gelenkutusu";
private final String URL3 = "http://takiprogrami-001-site1.smarterasp.net/Service1.asmx";
Uri uriSMSURI = Uri.parse("content://sms/inbox");
cur = getContentResolver().query(uriSMSURI, null, null, null,null);

String sms = "";
long tim;
if(cur.moveToFirst()) {
    for(int i=0; i < cur.getCount(); i++) {
        String date = cur.getString(cur.getColumnIndex(Sms.DATE));
        Long timestamp = Long.parseLong(date);
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy/HH:mm");
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(timestamp);
        String finaldate = dateFormat.format(calendar.getTime());
        smsDate = finaldate.toString();
        InboxSmsBody=(cur.getString(cur.getColumnIndexOrThrow(Sms.BODY)).toString());
        InboxSmsFrom=(cur.getString(cur.getColumnIndexOrThrow(Sms.ADDRESS)).toString());
        InboxSmsDate=smsDate;
        Log.e("BODY", InboxSmsBody);
        new ToastMessageTask().execute(InboxSmsFrom, InboxSmsBody,smsDate);
        // new ToastMessageTask().execute("");
        cur.moveToNext();
    }
}
cur.close();
private void inbox(String from, String body,String date) {
    SoapObject request = new SoapObject(NAMESPACE3, METHOD_NAME3);
    PropertyInfo DateInfo = new PropertyInfo();
    DateInfo.setName("from");
    DateInfo.setValue(from);
    PropertyInfo BodyInfo = new PropertyInfo();
    BodyInfo.setName("body");
    BodyInfo.setValue(body);
    PropertyInfo FromInfo = new PropertyInfo();
    BodyInfo.setName("date");
    BodyInfo.setValue(date);
    request.addProperty(FromInfo);
    request.addProperty(BodyInfo);
    request.addProperty(DateInfo);
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request);
    HttpTransportSE httpTransportSE = new HttpTransportSE(URL3);
    try {

        httpTransportSE.call(SOAP_ACTION3, envelope);
        SoapPrimitive soapPrimitive = (SoapPrimitive) envelope
                .getResponse();
        inboxsmsResult = soapPrimitive.toString();
        Log.e("inboxsmsResult=", inboxsmsResult);
    } catch (Exception e) {
        Log.e("inboxsmsResult", e.getMessage());
    }
}
private class ToastMessageTask extends AsyncTask<String, String, String> {
    public String inboxsmsdate;
    public String inboxsmsfrom;
    public String inboxsmsbody;
    public  ToastMessageTask(){
        this.inboxsmsdate=InboxSmsDate;
        this.inboxsmsbody=InboxSmsBody;
        this.inboxsmsfrom=InboxSmsFrom;
    }
    @Override
    protected String doInBackground(String... params) {
        inbox(inboxsmsdate, inboxsmsbody,inboxsmsfrom);
        return null;
    }
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
    }
}
private void收件箱(字符串起始、字符串正文、字符串日期){
SoapObject请求=新的SoapObject(名称空间3,方法\名称3);
PropertyInfo DateInfo=新的PropertyInfo();
DateInfo.setName(“from”);
DateInfo.setValue(从);
PropertyInfo BodyInfo=新的PropertyInfo();
BodyInfo.setName(“body”);
BodyInfo.setValue(body);
PropertyInfo FromInfo=新的PropertyInfo();

BodyInfo.setName(“日期”);请发布您的日志。web服务的可能副本与问题无关。我怀疑您从SMS内容提供商获取的某些字符串值为空。file:///C:/Users/Gokhan/Desktop/Ekran%20Al%C4%B1nt%C4%B1s%C4%B1.PNG
[WebMethod]
public string inbox(string from, string body, string date)
{
    string connString = System.Configuration.ConfigurationManager.ConnectionStrings["DB_9C047C_deneme2012"].ConnectionString;
    using (SqlConnection connection = new SqlConnection(connString))
    {
        connection.Open();
        using (SqlCommand command = new SqlCommand())
        {
            command.Connection = connection;
            command.CommandText = "INSERT INTO Table_1([FROM],BODY,DATE)VALUES(@FROM,@BODY,@DATE)";
            command.Parameters.AddWithValue("@FROM", from);
            command.Parameters.AddWithValue("@BODY", body);
            command.Parameters.AddWithValue("@DATE", date);
            // SqlCeDataReader reader = command.ExecuteReader();
            command.ExecuteNonQuery();
            return "true";
        }
    }
}
private void inbox(String from, String body,String date) {
    SoapObject request = new SoapObject(NAMESPACE3, METHOD_NAME3);
    PropertyInfo DateInfo = new PropertyInfo();
    DateInfo.setName("from");
    DateInfo.setValue(from);
    PropertyInfo BodyInfo = new PropertyInfo();
    BodyInfo.setName("body");
    BodyInfo.setValue(body);
    PropertyInfo FromInfo = new PropertyInfo();
    BodyInfo.setName("date");                        <------------------ error
    BodyInfo.setValue(date);                              <----------------error
    request.addProperty(FromInfo);
    request.addProperty(BodyInfo);
    request.addProperty(DateInfo);