Articles of soap

将图像从android上传到webservice

如何使用SOAP将图像文件上传到Web服务? 我需要它与SoapObejct一起使用,因此webservice可以在其上下文中处理输入文件并为其提供新的文件名。 怎么样? 任何代码示例? 约阿夫

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

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

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

Android ICS SOAP方法不起作用?

我在三星galaxy tab中测试了SOAP方法,并且工作正常。 相同的代码,我在Android冰淇淋三明治上测试,并没有工作。 以下是我的代码, HttpPost httppost = new HttpPost(“xxxxxx”); httppost.setHeader(“Content-type”, “text/xml; charset=utf-8”); httppost.setHeader(“SOAPAction”, SoapAction); StringEntity se1 = new StringEntity(env,HTTP.UTF_8); se1.setContentType(“text/xml”); se1.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, “text/xml; charset=utf-8”)); httppost.setEntity(se1); HttpClient httpclient = new DefaultHttpClient(); BasicHttpResponse httpResponse = (BasicHttpResponse) httpclient.execute(httppost); System.out.println(“res——“+httpResponse.getStatusLine().toString()+” code “+httpResponse.getStatusLine().getStatusCode()); //Checking response if(httpResponse!=null){ inputStream = httpResponse.getEntity().getContent(); BufferedReader r = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder total = new StringBuilder(); […]

在kSoap2中使用TLS1.2客户端证书

我正在尝试使用kSoap2和EasyWSDL将我的Android应用程序连接到受TLS保护的SOAP端点,但我收到以下exception: W/System.err: javax.net.ssl.SSLHandshakeException: Connection closed by peer at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method) at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:351) at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:192) at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:149) W/System.err: at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112) at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184) at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126) at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95) W/System.err: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281) at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:258) at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:218) at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(Unknown Source:0) at org.ksoap2.transport.HttpsServiceConnectionSE.openOutputStream(HttpsServiceConnectionSE.java:127) at com.easywsdl.exksoap2.mtom.MTOMTransportImplementation.sendData(MTOMTransportImplementation.java:65) at com.easywsdl.exksoap2.transport.AdvancedHttpsTransportSE.sendData(AdvancedHttpsTransportSE.java:39) at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:184) at com.easywsdl.exksoap2.transport.AdvancedHttpsTransportSE.call(AdvancedHttpsTransportSE.java:51) 以下是我配置传输的方式: @Override protected Transport […]

使用SOAP API的android magento客户登录(身份validation)

我尝试登录(认证)magento客户时遇到问题。 我无法find使用电子邮件和密码登录客户的正确方法。 那么,你能告诉我如何使用SOAP API在magento商店中进行身份validation或登录客户。 我试过这个代码,如下所示 env.dotNet = false; env.xsd = SoapSerializationEnvelope.XSD; env.enc = SoapSerializationEnvelope.ENC; SoapObject request = new SoapObject(NAMESPACE, “login”); request.addProperty(“username”, “xyz”); request.addProperty(“apiKey”, “xyz”); env.setOutputSoapObject(request); HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); androidHttpTransport.debug = true; androidHttpTransport.call(“”, env); Object result = env.getResponse(); Log.d(“sessionId”, result.toString()); // making call to get list of customers String sessionId = result.toString(); request = […]

SOAP信封响应错误:读取XMLStreamReader时出错

我在下面有以下Android应用程序代码。 我正在尝试通过HTTP连接到Web服务。 Web服务使用apache轴。 但是我在响应中遇到错误“Error reading XMLStreamReader”。 我真的被卡住了,不知道我能做些什么。 可能是在服务器端和客户端上使用了不同版本的HTTP客户端和SOAP? 任何有关这方面的帮助将不胜感激。 Web服务非常简单:sayHello方法显示arg0 = some_string中给出的参数 public class MainActivity extends Activity { @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); BufferedReader in = null; try { HttpClient client = new DefaultHttpClient(); HttpPost […]

使用kso​​ap2-android的不可信证书

我正在使用kso​​ap2-android通过SSL调用wcf服务。 我可以在没有SSL的情况下使用它,但现在我想通过SSL进行调用,但我遇到了一些问题。 我正在使用HttpsTransportSE而不是HttpTransportSE,但我收到错误:javax.net.ssl.SSLException:不受信任的服务器证书 我怎样才能解决这个问题? 我可以将服务器证书添加到Android中的Keystore来解决问题吗? private static final String SOAP_ACTION = “http://example.com/Service/GetInformation”; private static final String METHOD_NAME = “GetInformation”; private static final String NAMESPACE = “http://example.com”; private static final String URL = “dev.example.com/Service.svc”; public static Result GetInformation() { SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); PropertyInfo property = new PropertyInfo(); property.name = “request”; Request request = […]