Как сгенерировать код из файла WSDL в Android? - PullRequest
2 голосов
/ 12 ноября 2010

Я занимаюсь разработкой приложения, в котором мне нужно вызывать веб-сервис, я знаю способ вызова сервиса через KSOAP2. К сожалению, мне предоставляется файл WSDL, поэтому я использовал генератор заглушек Sun Wireless Toolkit для генерации кода. Но код содержит следующие пакеты, которые не поддерживаются Android.

import javax.xml.rpc.JAXRPCException;
import javax.xml.namespace.QName;
import javax.microedition.xml.rpc.Operation;
import javax.microedition.xml.rpc.Type;
import javax.microedition.xml.rpc.ComplexType;
import javax.microedition.xml.rpc.Element;

Я не знаю, как сгенерировать код из данного WSDL для Android, если кто-то знает решение, пожалуйста, помогите мне.

Ответы [ 3 ]

1 голос
/ 21 ноября 2013

Вы можете использовать http://easywsdl.com веб-сайт для генерации всех необходимых классов Java для вашего веб-сервиса. Он использует библиотеку ksoap2 и поддерживает множество функций, таких как объекты, отправляемые в виде ссылок (WCF IsReference), сложное наследование, стиль документа и rpc веб-службы и многое другое

1 голос
/ 27 января 2014

Я прошёл много решений в WSDL 2 android.Google не имеет значения о сервисе SOAP и предоставит что-нибудь для него.wsdl2java не будет работать в большинстве случаев, некоторые библиотеки не могут быть использованы Android SDK.Я предлагаю вам использовать http://easywsdl.com.

, вы увидите, что вы можете редактировать собственное имя пакета, префикс класса и многие другие параметры в зависимости от ваших потребностей.Если у вас есть сложные данные и вы знакомы с использованием Gson (https://code.google.com/p/google-gson/) для отправки параметров между вашими действиями, не устанавливайте флажок «Использовать JodaDate», который является отличной библиотекой для использования даты, но Gson его не поддерживаетпока).

Если у вас мало служб, которые не работают (да, это может произойти, зависит от вашего файла конфигурации WSDL), сообщите об этом контакту, и они сделают возможным исправить вашу проблему, как они это сделалидля меня.

Генератор работает быстро. Вы получите весь свой сгенерированный код и файл .jar, который вам придется импортировать в ваш проект.

0 голосов
/ 08 марта 2011

например этот http://www.w3.org/2001/04/wsws-proceedings/uche/wsdl.html

namespace = "http://schemas.snowboard -info.com / EndorsementSearch.xsd - это URL-адрес GetEndorsingBoarder - это функция

Я думаю :)

это пример кода, который я использовал в моем проекте

     String SOAP_ACTION = "";
 String METHOD_NAME = "theMethodName";
String NAMESPACE = "you can find the name space in the wsdl dile";
String URL="http://theServer/theService";

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
    Loger.logUrl(URL);

    request.addProperty("argumentname",s );


    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.setOutputSoapObject(request);

    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

        androidHttpTransport.call(SOAP_ACTION, envelope);

        SoapPrimitive p = (SoapPrimitive)  envelope.getResponse();

        return  p.toString()

http://zvon.org/xxl/WSDL1.1/Output/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...