Articles of web services

具有基本安全性的REST Web服务的Android客户端

我使用基本身份validation编写了一个简单的RESTful Web服务。我使用此页面中的提示secureRestWS 。 他们还创建了一个video,并在youtube上发布了更多细节。 在浏览器中打开它时,它可以正常工作。 您需要在授权窗口中写入用户名和密码。 我还find了一个带有android客户端的页面,该页面使用httpclient调用其余的web服务,如果web服务没有认证,则可以正常工作。 我正在使用这个示例androidRestWSClient 。 但我不知道如何在这种情况下添加用户名和密码,我尝试过: client.AddParam(“User Name”, “myusername”); client.AddParam(“Password”, “mypassword”); 或在标题中: client.AddHeader(“User Name”, “myusername”); client.AddHeader(“Password”, “mypassword”); 但没有任何作用。 我还尝试创建告诉Web服务用户名和密码的URL,如: http://192.168.1.42/RestWS/resources/helloWorld?username=myusername&password=mypassword 我真的没有这方面的解决方案,所以如果有人有一个示例客户我会很感激。 在webservice中,我有简单的GET方法 @GET @Path(“/text”) public String getText() { return “Hello World!”; } 我是否需要使用SecurityContext作为用户名和密码? 如下例所示,创建身份validation更好吗: http://aruld.info/accessing-restful-services-configured-with-ssl-using-resttemplate/ 谢谢你的帮助

如何从Web服务到Android应用程序获取图像

嗨伙计们,我正在尝试从服务器加载图像,根据身份证号码,所以哪个是从webservice中检索它的最佳方法任何人都可以指导我? package com.crispsys; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import android.app.Activity; import android.app.ProgressDialog; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; public class imageviewer extends Activity { /** Called when the activity is first created. */ Bitmap image; private TextView ordernumber; ImageView imageView; private Button […]

解析ksoap2响应

我使用kso​​ap2 lib从android客户端与SOAP Web服务进行通信。 ksoap团队做得很好,但问题是,没有任何好的例子如何在不同方面正确使用它。 例如,我在数据后得到肥皂响应: anyType{ StatusSetting=anyType{Id=1; Name=Til afskrivning; LocationId=1; Editable=true; Default=true; Transcribed=false; }; StatusSetting=anyType{Id=2; Name=Afskrevet; LocationId=1; Editable=false; Default=false; Transcribed=true; }; … } 它是一个复杂的对象,或者说是StatusSetting对象的集合。 当我尝试获取SoapObject的属性时,它只有一个属性,所有数据都是字符串。 它也不能被解析为json。 令人难以置信的是,没有人遇到与人气普及的问题相同的问题正在获得。 知道是否有人解决了这个问题以及如何解决这个问题会很酷。 谢谢。

使用KSOAP2序列化要发送的int数组

我在尝试向.NET Web服务发送一个int数组时遇到问题,该服务需要在其中一个参数中使用数组。 这至少是我从Web服务的API描述中理解的,它说: int int 所以当我发送一个如下所示的int时,我没有得到任何错误,我认为它工作正常。 request.addProperty(“dataIndexIDs”, 63); 但是当我尝试发送一组int时: request.addProperty(“dataIndexIDs”, new int[] {63, 62}); // array of ints 或者整数的ArrayList: ArrayList indexes = new ArrayList(); indexes.add(63); indexes.add(62); request.addProperty(“dataIndexIDs”, indexes); // ArrayList of Integers 我被抛出“java.lang.RuntimeException:无法序列化”exception。 有什么帮助吗? 我究竟做错了什么? 谢谢!

Android中的同步服务调用

我正在开发应用程序,其主要职责是联系远程服务器并显示提供的数据。 服务以肥皂为主。 为此,我使用kso​​ap库,但让我们切入案例。 我一直在使用异步任务“调用服务”。 一切似乎进展顺利,但…… 服务是顺序的,往往会“丢失”我的请求,所以我没有得到正确的结果。 所以我决定采用同步方法解决问题,但这样我必须提供额外的加载按钮/条等。 以这种方式表现很糟糕。 处理此类案件的最佳方法是什么? 我可以使用什么样的同步,因此请求之间不会有任何竞争? 如何使用Android服务? 那些更好? 提前感谢您的回答。

使用addMapping而不是ksoap2中的“i:type =”属性for android

我在ksoap2中使用envelope.addMapping函数,我需要让它生成没有i:type属性的项目。 这是我的代码生成的soap请求 APIKey http://www.example.com Example Scan 我需生成为 这是我的代码 package ksoap2.test; import java.util.Hashtable; import java.util.Vector; import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.KvmSerializable; import org.ksoap2.serialization.PropertyInfo; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.AndroidHttpTransport; import org.ksoap2.transport.HttpTransportSE; import org.kxml2.kdom.Element; import org.kxml2.kdom.Node; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.TextView; public class ksoap2 extends Activity { /** Called when the activity is first created. */ […]

错误:NullPointerAccess:variables“”在此位置只能为null

我正在创建一个Web服务来查询我的数据库并返回数据库中对象的列表。 我收到错误:NullPointerAccess:variables“varname”在此位置只能为null。 无论我把variables放在哪里,我都会得到相同的警告。 无论我放在variables中,它都返回null。 以下是它出现的方法: public List getUsers() { String test = null; String username = “root”; String password = “ticket”; String tablename = “users”; String fieldname = “*”; String query = “SELECT ” + fieldname + ” FROM ” + “android.” + tablename + “;”; Contacts cont = new Contacts(); List lstc = null; […]

无法从android项目模拟器调用Web服务方法

我基于本教程创建了一个Web服务 我可以运行该服务并调用其方法,但我想从一个Android java项目中调用它们。 我将ServiceClient项目导出为jar,然后将其添加到新项目构建路径中。 当我从模拟器运行android项目并尝试调用web服务命令时,我得到一个java.lang.NoClassDefFoundError。

Android AutoCompleteTextView包含来自Web服务的数据,显示建议列表时出现问题

一个我无法解决的问题。 我想要实现的目标:在Web服务调用中显示的AutoCompleteTextView中显示建议。 最终结果应如下所示: 到目前为止我做了什么: 在我的布局中,我有一个像这样的AutoCompleteTextView 在我的活动中我有这个: autoCompleteAdapter = new AdapterAutoComplete(context, ????? what should I have here?????, null); autoCompleteAdapter.setNotifyOnChange(true); txtAutoSearch.setAdapter(autoCompleteAdapter); txtAutoSearch.addTextChangedListener(new TextWatcher() { private boolean shouldAutoComplete = true; @Override public void onTextChanged(CharSequence s, int start, int before, int count) { shouldAutoComplete = true; } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { […]

使用改进的android调用WSDL Web服务

我试图在我的应用程序中使用retrofit来调用WSDL webservice 喜欢这个 public static String callWebservice(String username,String password) { String soapMessage=””+ “”+ “”+ “”+ “”+username+””+ “”+Helper.md5(password).toUpperCase(Locale.getDefault())+””+ “”+ “”+ “”; RequestInterceptor requestInterceptor = new RequestInterceptor() { @Override public void intercept(RequestFacade request) { // request.addHeader(“User-Agent”, “Retrofit-Sample-App”); request.addHeader(“SOAPAction”, “http://tempuri.org/IAuthenticate/AuthenticateUser”); request.addHeader(“Content-Type”, “application/soap+xml;charset=utf-8”); request.addHeader(“Content-Type”, “text/xml;charset=utf-8”); } }; RestAdapter restAdapter = new RestAdapter.Builder() .setEndpoint(Constants.WEBSERVICE_URL) .setRequestInterceptor(requestInterceptor) .build(); LoginApi loginApi=restAdapter.create(LoginApi.class); loginApi.getLogin(soapMessage,new Callback() […]