Android 使用ksoap2从magento web服务获取会话id时出错

Android 使用ksoap2从magento web服务获取会话id时出错,android,magento,android-ksoap2,Android,Magento,Android Ksoap2,这是我正在使用的代码。我收到SocketTimeoutException。我已经尝试了堆栈溢出中给出的关于SocketTimeoutException相关问题的所有其他答案,但仍然得到相同的错误。有人能帮我吗?不要使用AndroidHttpTransport,因为它已弃用。而不是这个用途 HttpTransportSE-HttpTransportSE=新的HttpTransportSE(URL) 更新: 检查此链接并创建这些凭据,并在代码中使用。然后你的问题就会解决了 快乐编码检查用户名和密码

这是我正在使用的代码。我收到SocketTimeoutException。我已经尝试了堆栈溢出中给出的关于SocketTimeoutException相关问题的所有其他答案,但仍然得到相同的错误。有人能帮我吗?

不要使用AndroidHttpTransport,因为它已弃用。而不是这个用途

HttpTransportSE-HttpTransportSE=新的HttpTransportSE(URL)

更新:

检查此链接并创建这些凭据,并在代码中使用。然后你的问题就会解决了


快乐编码

检查用户名和密码是否正确。在magento管理面板中检查您是否为其分配了角色…实际上用户名和apiKey就像用户名、密码一样,对吗?它是用户定义的。
private static final String NAMESPACE = "urn:Magento";
private static final String URL = "http://example.com/api/v2_soap";
private static final String METHOD="login";
private static final String ACTION="urn:Magento/login";
String sessionId,error;   

    try {
        SoapObject request = new SoapObject(NAMESPACE, METHOD);

        request.addProperty("username", "xxxxxx");
        request.addProperty("apiKey", "xxxxxx");

        SoapSerializationEnvelope env = new SoapSerializationEnvelope(SoapEnvelope.VER11);

        env.dotNet = true;
        env.xsd = SoapSerializationEnvelope.XSD;
        env.enc = SoapSerializationEnvelope.ENC;

        env.setOutputSoapObject(request);

        AndroidHttpTransport androidHttpTransport=new AndroidHttpTransport(URL);            
        androidHttpTransport.debug=true;
        androidHttpTransport.call("", env);

        Object res = env.getResponse();
        sessionId=res.toString();
        Log.v("sessionId", sessionId);

        }catch (Exception e){
            error=e.getMessage();
            Log.v("Soapfault",error);
        }