-1

我是安卓新手。任何人都可以在任何示例或源代码的帮助下帮助我开始使用 Soap 服务吗?提前致谢

4

2 回答 2

2

如果您的网络服务基于 .Net,请使用此方法:

private static SoapObject callWebServiceMethod(String url,
        String namespace, String methodName,
        HashMap<String, Object> parameters, String soapAction)
        throws Exception {

    Log.i("WebService", "URL: " + url);
    Log.i("WebService", "MethodName: " + methodName);

    URL myurl = new URL(url);
    URLConnection connection = myurl.openConnection();
    connection.setConnectTimeout(20 * 1000);
    HttpURLConnection httpConnection = (HttpURLConnection) connection;
    int responseCode = httpConnection.getResponseCode();
    if (responseCode == HttpURLConnection.HTTP_OK)
    {
        httpConnection.disconnect();
        SoapObject request = new SoapObject(namespace, methodName);

        if (parameters != null) {
            String[] keys = new String[0];
            keys = (String[]) parameters.keySet().toArray(keys);
            Object[] vals = (Object[]) parameters.values().toArray();

            for (int i = 0; i < parameters.size(); i++) {
                request.addProperty(keys[i], vals[i]);
                Log.i("WebService", keys[i] + ": " + vals[i]);
            }
        }

        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);
        envelope.dotNet = true;

        envelope.setOutputSoapObject(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(url,
                TimeOutInSeconds * 1000);


        androidHttpTransport.call(soapAction, envelope);


        SoapObject so = (SoapObject) envelope.getResponse();

        return so;

    }
    else
    {
        httpConnection.disconnect();

    }

}

要下载 Ksoap 库,请使用此链接

于 2012-04-30T12:17:02.017 回答
1

要在 android 的 SOAP 服务中使用,您需要查看下面的 Parse Soap 参考:

链接到Soap 服务客户端

链接到逐步使用

从此ksoap2-android获取要在您的 android 项目中使用的 ksoap jar

下面是使用 ksoap library 为 soap 调用 Web-service 的类。

于 2012-04-30T12:12:42.073 回答