Articles of ksoap2

如何使用Ksoap2-Android使用会话相关的WCF服务

我正在使用Ksoap2-Android来使用WCF服务。 对于dotnet客户端,我们在绑定配置中保留allowCookies=”true” ,它发送相同的sessionid并在我的WCF服务中保持我的会话完好( 我的服务是相互依赖的并使用会话 )。 任何人都知道ksoap2-android任何这样的设置,这将允许我使用WCF服务保持我的会话在服务器上完好无损。 目前,当我对服务进行新的调用时,会更改sessionid并清除所有会话variables并释放它们的值。

将kSOAP依赖项添加到Gradle项目

我正在尝试使用Gradle在我的Android项目中使用kSOAP。 这是我的项目的build.gradle文件: buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:0.5.+’ } } apply plugin: ‘android’ repositories { mavenCentral() maven { url ‘http://ksoap2-android.googlecode.com/svn/m2-repo’ } } android { compileSdkVersion 18 buildToolsVersion “18.0.1” defaultConfig { minSdkVersion 7 targetSdkVersion 18 } } dependencies { compile ‘com.android.support:support-v4:18.0.0’ compile ‘ch.acra:acra:4.5.0’ compile ‘com.google.guava:guava:12.0’ compile ‘com.google.code.ksoap2-android:ksoap2-android:3.0.0’ } 该库似乎包含在项目和编译DOES工作,但当我尝试导入一个类(即SoapObject)时,似乎命名空间甚至不存在。 有趣的是,其他图书馆(如ACRA或Guava)工作正常。 我怎么解决这个问题?

Android KSoap2:如何获取属性名称

我正在使用KSoap2为我的Android应用程序调用Web服务。 我正在使用以下代码来调用Web服务。 SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); request.addProperty("PageSize", 20); request.addProperty("PageIndex", currentPage); SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); soapEnvelope.dotNet = true; soapEnvelope.setOutputSoapObject(request); HttpTransportSE aht = new HttpTransportSE(URL); try { aht.call(SOAP_ACTION, soapEnvelope); SoapObject result = (SoapObject) soapEnvelope.getResponse(); Log.d("resBundle", String.valueOf(resBundle)); int elementCount = resSoap.getPropertyCount(); for(int i = 0;i<elementCount;i++){ /////////////////////how to get the property name here//////////////// } }catch (Exception […]

在哪里看到生成的XML(KSOAP2)

我很难尝试使用SoapRequest查看生成的XML。 这是我的代码: SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); PropertyInfo propInfo=new PropertyInfo(); propInfo.setName("arg0"); propInfo.setType(PropertyInfo.STRING_CLASS); propInfo.setValue(sessionId); request.addProperty(propInfo); // Sending the array representing our board: Fields fieldsVector = new Fields(); for (int i=0; i<65; i++) { fieldsVector.add(move[i].toString()); } PropertyInfo fieldsPropertyInfo = new PropertyInfo(); fieldsPropertyInfo.setName("fields"); fieldsPropertyInfo.setValue(fieldsVector); fieldsPropertyInfo.setType(fieldsVector.getClass()); request.addProperty(fieldsPropertyInfo); PropertyInfo sessionPropertyInfo = new PropertyInfo(); sessionPropertyInfo.setName("arg0"); […]

在Android中调用.NET Web服务

我的.NET Web服务返回一个XML。 当我在Android中使用kso​​ap2调用Web服务时,我遇到了这个问题。 请帮忙。 Eclipse中的我的Logcat 12-19 15:58:11.951: W/dalvikvm(2041): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 12-19 15:58:11.961: E/AndroidRuntime(2041): FATAL EXCEPTION: main 12-19 15:58:11.961: E/AndroidRuntime(2041): java.lang.RuntimeException: double ID 12-19 15:58:11.961: E/AndroidRuntime(2041): at org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:407) 12-19 15:58:11.961: E/AndroidRuntime(2041): at org.ksoap2.serialization.SoapSerializationEnvelope.readUnknown(SoapSerializationEnvelope.java:273) 12-19 15:58:11.961: E/AndroidRuntime(2041): at org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:389) 12-19 15:58:11.961: E/AndroidRuntime(2041): at org.ksoap2.serialization.SoapSerializationEnvelope.readUnknown(SoapSerializationEnvelope.java:273) 12-19 15:58:11.961: E/AndroidRuntime(2041): at org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:389) 12-19 15:58:11.961: E/AndroidRuntime(2041): […]

如何在android中使用KSoap 2

我刚刚遇到了ksoap2在Android应用程序中使用我自己的asp.netnetworking服务。 我发现互联网上的一些伟大的资源,我已经实现了我的web服务在android应用程序。 以下是我使用的webservice的响应: HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckAuthenticationResponse xmlns="http://tempuri.org/"> <CheckAuthenticationResult>boolean</CheckAuthenticationResult> </CheckAuthenticationResponse> </soap:Body> </soap:Envelope> 为了消费上述服务,我实现了以下代码: public static Boolean isAuthenticated(String UserName, String Password) { String NAMESPACE = "http://tempuri.org/"; String METHOD_NAME = "CheckAuthentication"; String SOAP_ACTION = "http://tempuri.org/CheckAuthentication"; String URL = "http://primehangout.com/primehangoutweb.asmx"; SoapObject Request = new SoapObject(NAMESPACE, […]

什么是命名空间,肥皂行动和url应该是我的Android应用程序访问WCF Web服务?

我的WSDL是这样的: <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions name="ABCWcfService" targetNamespace="http://www.ABC.com/ABCWcfService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://www.ABC.com/ABCWcfService" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <wsdl:types> <xsd:schema targetNamespace="http://www.ABC.com/ABCWcfService/Imports"> <xsd:import schemaLocation="http://desktop/ABCWcfService/ABCWcfService.svc?xsd=xsd0" namespace="http://www.ABC.com/ABCWcfService"/> <xsd:import schemaLocation="http://desktop/ABCWcfService/ABCWcfService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/> </xsd:schema> </wsdl:types> <wsdl:message name="IABCWcfService_GetWhatsOnData_InputMessage"> <wsdl:part name="parameters" element="tns:GetWhatsOnData"/> </wsdl:message> <wsdl:message name="IABCWcfService_GetWhatsOnData_OutputMessage"> <wsdl:part name="parameters" element="tns:GetWhatsOnDataResponse"/> </wsdl:message> <wsdl:portType name="IABCWcfService"> <wsdl:operation name="GetWhatsOnData"> <wsdl:input wsaw:Action="http://www.ABC.com/ABCWcfService/IABCWcfService/GetWhatsOnData" message="tns:IABCWcfService_GetWhatsOnData_InputMessage"/> <wsdl:output wsaw:Action="http://www.ABC.com/ABCWcfService/IABCWcfService/GetWhatsOnDataResponse" message="tns:IABCWcfService_GetWhatsOnData_OutputMessage"/> […]

java.lang.noclassdeffounderror:org.ksoap2.serialization.SoapObject

我得到了这个没有类def错误: org.ksoap2.serialization.SoapObject错误,因为我已经更新了Eclipse ADT插件和SDKpipe理器。 我使用ksoap2-android-assembly-2.4-jar-with-dependencies.jar作为KSOAP的外部库。 我认为这可能会被弃用,所以我也从这里添加2.6.2版本: http : //code.google.com/p/ksoap2-android/source/browse/m2-repo/com/google/code/ksoap2-android /ksoap2-android-assembly/2.6.2/ksoap2-android-assembly-2.6.2-jar-with-dependencies.jar 我仍然得到错误。 我也通过网站search,但没有任何帮助。 请帮忙。 码: SoapServis servis = new SoapServis(SoapServis.KULLANICI_KONTROL); 其中构造函数是: public SoapServis(String metodAdi) { this.METHOD_NAME = metodAdi; this.Request = new SoapObject(NAMESPACE, METHOD_NAME); }

SoapFault – 错误代码:'1062'faultstring:'运输方法不可用'

您好,我正在开发一个Android应用程序,它使用Magento作为后端,我使用magento的SOAP webervice,我已经添加了所有的产品,客户和客户的地址信息到购物车,但是当我尝试将运输方法添加到购物车,我得到这个错误 SoapFault – 错误代码:'1062'faultstring:'运输方法不可用' 这是我正在尝试的代码,请帮我解决这个问题 SoapObject availableShippingMethods = new SoapObject(MAGENTO_NAMESPACE, "shoppingCartShippingList"); availableShippingMethods.addProperty("sessionId", sessionId); availableShippingMethods.addProperty("quoteId", quoteId); env.setOutputSoapObject(availableShippingMethods); androidHttpTransport.call("", env); Object resultForAvailableShippingMethods = env.getResponse(); Log.d("AvailableShippingMethods",resultForAvailableShippingMethods.toString()); 这会给我们这个输出 D / AvailableShippingMethods:shoppingCartShippingMethodEntityArray {item = shoppingCartShippingMethodEntity {code = flatrate_error; 载体= flatrate; carrier_title =统一费率; 价= 0; }; } 以下是将Shipping方法设置为CartId的代码 SoapObject shippingmethod = new SoapObject(MAGENTO_NAMESPACE, "shoppingCartShippingMethod"); shippingmethod.addProperty("sessionId", sessionId); shippingmethod.addProperty("quoteId", quoteId); shippingmethod.addProperty("shippingMethod", "flatrate_error");//Code […]

如何使用kso​​ap2设置肥皂标题 – android

我需要将肥皂标题信息设置为Web方法身份validation的一部分。 我使用ksoap2 API调用.NET Web服务。 这是带请求的肥皂头。 <soap:Header> <DTHeader xmlns="http://myServer.com/webservices/"> <Username> string </Username> <Password> string </Password> </DTHeader> </soap:Header> <soap:Body> <MyTestMethod xmlns="http://myServer.com/webservices/"> <ID> string </ID> <TransID> guid </TransID> </MyTestMethod> </soap:Body> 你可以请提供android代码来设置肥皂头“DTHeader”,并设置“用户名”和“密码”。