Как мне вызвать веб-метод .NET?

#java #android #.net #soap #dataset

#java #Android #.net #soap #набор данных

Вопрос:

Во-первых, спасибо за все ответы, эта тема может быть закрыта, потому что я уже сделал то, что хочу. Я упоминал о том, как вызвать веб-метод .NET ниже.

http://aaarkonusurum.blogspot.com/2011/10/android-ile-dataset-donen-bir-net.html

Комментарии:

1. Если вы можете отказаться от использования DataTable и использовать свои собственные объекты и коллекции, я могу отправить вам образец для вызова WebMethod и использования json

2. О чем KusmanCustomAdapter ? Заполняет ли он данные?

3. @breceivemail не совсем, мне нужно вызвать этот веб-метод: ( Я знаю, что вы имеете в виду, и я использую его при создании веб-сервиса, но на этот раз я должен использовать этот способ.

4. @kisp KusmanCustomAdapter. DataTable Я могу отправить datatable, но в . Чистая сторона имеет 0 строк. Как мне отправить datatable со строками?

5. вот учебное пособие: aaarkonusurum.blogspot.com/2011/10 /…

Ответ №1:

Если вам нужен только метод для вызова метода веб-сервиса, используйте это:

 public static SoapPrimitive callWebServiceMethod(String url,
            String namespace, String methodName,
            HashMap<String, Object> parameters, String soapAction)
            throws IOException, XmlPullParserException, SoapFault {

        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]);
            }
        }

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

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

        androidHttpTransport.call(soapAction, envelope);
        return (SoapPrimitive) envelope.getResponse();
    }
  

и в вашей деятельности:

 private static final String NAMESPACE = "http://tempuri.org/";
private static final String METHOD_NAME = "MethodName";
private static final String SOAP_ACTION = "http://tempuri.org/MethodName";

        String url = "http://...";

        HashMap<String, Object> parameters = new HashMap<String, Object>();
        parameters.put("param1", param1);
        parameters.put("param2", param2);
        //...

        SoapPrimitive response = callWebServiceMethod(url,
                NAMESPACE, METHOD_NAM, parameters,
                SOAP_ACTION);

        String webServiceResult = response.toString();
  

Комментарии:

1. это не то, что я хочу сделать. Мне нужно создать свою собственную структуру оболочки soap. Я не могу отправить набор данных таким способом, братан.