Articles of ksoap2

使用Android的SOAP调用Magento api时的XMLPull Parserexception

我试图从Android使用Soap调用magento api但是我得到了XMLpullparserexception。我正在使用kso​​ap库。我在google上搜索但我找不到任何解决方案。我的代码是… 1 import java.io.IOException; 2 import org.ksoap2.SoapEnvelope; 3 import org.ksoap2.serialization.SoapObject; 4 import org.ksoap2.serialization.SoapSerializationEnvelope; 5 import org.ksoap2.transport.AndroidHttpTransport; 6 import org.xmlpull.v1.XmlPullParserException; 7 import android.app.Activity; 8 import android.os.Bundle; 9 import android.util.Log; 10 public class MagentoSoapActivity extends Activity { 11 /** Called when the activity is first created. */ 12 private static final String NAMESPACE = “urn:Magento”; 13 […]

无法解析导入org.ksoap2.transport.HttpTransportSE

我从这个链接下载了ksoap2: 将下载的.jar文件导入Eclipse中的Android项目后,我只得到第一个导入行(HttpTransportSE)的导入错误。 我搜索了但没有其他人有/发布过这个问题。 怎么会这样? 谢谢! import org.ksoap2.transport.HttpTransportSE; //ERROR:The import org.ksoap2.transport.HttpTransportSE cannot be resolved import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope;

解析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。 令人难以置信的是,没有人遇到与人气普及的问题相同的问题正在获得。 知道是否有人解决了这个问题以及如何解决这个问题会很酷。 谢谢。

使用kso​​ap2的WCF Web服务的Android – 错误SoapFault – faultcode:’a:ActionNotSupported’

我做了一个简单的项目,使用kso​​ap2调用wcf Web服务。 但是当它调用envelope.getResponse(); 它给错误说—– “SoapFault – faultcode:’a:ActionNotSupported’faultstring:’由于EndpointDispatcher上的ContractFilter不匹配,无法在接收方处理带有Action’GetString’的消息。 这可能是由于合同不匹配(发送方与接收方之间的操作不匹配)或发送方与接收方之间的绑定/安全性不匹配。 检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息,传输,无)。 faultactor:’null’detail:null“ 我在localhost中运行web服务。 请帮帮我一些 我指定的这个值是否正确, private static final String SOAP_ACTION = “GetString”; private static final String OPERATION_NAME = “GetString”; private static final String WSDL_TARGET_NAMESPACE = “http://tempuri.org/”; private static final String SOAP_ADDRESS = “http://10.0.2.2:14089/Service1.svc?wsdl”;

使用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。 有什么帮助吗? 我究竟做错了什么? 谢谢!

使用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. */ […]

使用kso​​p2如何将大文件发送到Web服务

我有应用程序从我的设备上的专用路径中选择文件并将其发送到服务器。 我使用kso​​ap2 lib来调用.NET webservice将我的文件发送到服务器。 我正在使用Base 64编码。 我可以发送最大大小为1MB而不加密的文件和850Kb加密文件。 我正在使用的Encyrption算法是3DES。 如果我尝试发送大于上面大小的文件,我会收到以下错误:引起:org.ksoap2.transport.HttpTransportSE.call上的java.lang.OutOfMemoryError(HttpTransportSE.java:121) 我的测试环境:Android模拟器,API级别为8,Android 2.2和SDCard内存为512 MB 是我错过了什么吗? 在这种情况下可以使用BLOB帮助我 有没有办法发送更大的文件? 我听说过发送数据块但却不知道。 任何链接或示例代码都会有所帮助。 使用以下代码获取文件数据:此处url =存储文件的位置 public byte[] getFileData( String vURL){ instream = new FileInputStream(vURL); size = (int) vURL.length(); fileContent = new byte[size]; instream.read(fileContent); } 使用以下代码对数据进行编码: byte[] res = Utilities.getFileData(file); String mdata = android.util.Base64.encodeToString(res, android.util.Base64.DEFAULT); 调用服务器端Web服务并将数据发送到服务器 SoapObject request = new SoapObject(nameSpace, methodName); […]

ksoap2 Android意外types响应

我试图使用kso​​ap2调用java Web服务。 我正在使用kso​​ap2-android-assembly-2.6.5-jar-with-dependencies.jar和Android API等级8。 活动代码: private static final String SECURITY_NAMESPACE = “http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd”; private static final String USERNAME_TOKEN_NAMESPACE = “http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd”; private static final String PASSWORD_TYPE = “http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText”; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); Element usernameElement = new Element().createElement(SECURITY_NAMESPACE, “Username”); usernameElement.addChild(Node.TEXT, “username”); Element passwordElement = new Element().createElement(SECURITY_NAMESPACE, “Password”); passwordElement.setAttribute(null, […]

使用kso​​ap2在android中创建带有安全头的soap信封

我想使用kso​​ap2在android中创建带有安全头的soap信封。 我的android代码是…… import org.ksoap2.SoapEnvelope; import org.ksoap2.SoapFault; import org.ksoap2.serialization.PropertyInfo; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapPrimitive; import org.ksoap2.serialization.SoapSerializationEnvelope; 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.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class SOP_WebService extends Activity { private final String NAMESPACE = “http://xmlns.oracle.com/WorklistRetrival”; private final String URL = “http://www.sample.com/orabpel/default/WorklistRetrival/1.0”; private final String SOAP_ACTION = […]

如何在android中使用kso​​ap超时?

我正在使用kso​​ap2在Android中创建用户注册应用程序。 当我向服务器发送请求并且在10秒内没有响应时,我想用“再试一次”消息提示用户。 如果服务器在10秒内响应,我希望程序在没有消息的情况下继续。 我怎样才能做到这一点? 在KSoap2中是否有TimerTask或任何Timeout方法?