J2ME-WebService - PullRequest
       33

J2ME-WebService

0 голосов
/ 23 июня 2011

Я работаю над J2ME-WEBSERVICES для получения информации с сервера по протоколу SOAP. Для этой задачи на самом деле я прошел два пути,

  1. i) Сначала в Web-сервисе elipse был создан веб-сервис с обычным классом java, а затем создан клиентский проект для веб-сервиса, после чего создаются классы заглушек и сервисов.

    ii) А затем я развернул файл war на сервере tomcat, и я успешно использовал метод класса Java, полученный результат правильно,

    iii) URL-адрес, который я использовал в приложении Android, с приложением API KSOAP работает правильно, даже я тестировал на мобильных устройствах.

    iv) но когда я использовал тот же URL в j2me-мидлете код, который я был написан как:

    SoapObject soap=new SoapObject(NAMESPACE,METHOD_NAME);
    soap.addProperty("barcode", barnum);
    HttpTransport se=new HttpTransport();
    se.setUrl(URL);
    se.setSoapAction(SOAP_ACTION);
    se.call(soap);
    

    но я получаю Nullpointer исключение, когда указатель на SoapWriter.writeProperty() класс.

  2. Второй способ,

    я) Я использовал заглушку и классы обслуживания WebserviceClient проект, и я создал мидлет в том же пакете (поместил все поддерживаемые файлы JAR для Мидлет в папке lib)

    DBWEBSoapBindingStub stub=new DBWEBSoapBindingStub();
    DBWEBService service=(DBWEBService)stub;
    stub._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, "URL of webservice at server");
    String result=stub.getBarcodeDetails(barcode);
    

    ii) Я успешно скомпилировал и предварительно подтверждено, сгенерировано файлы классов я создал банку, и когда я разворачиваю приложение в мобильном телефоне, получение ниже исключений ::

    • Не найдено исключение для org.apache.axis.client.stub : Для этого я поместил файл axis.jar в файл jar приложения. но все же проблема заключается в том, что при развертывании на мобильные устройства возникает проблема с «jar file is max size» (размер == 1.6MB)

    • второе исключение - javax.xml.rpc.Service класс не найден: если я помещаю файл jar в файл jar приложения, это дает мне исключение типа: «не удается создать класс в системном пакете»

, поэтому, пожалуйста, дайте мне знать решение этой проблемы, надеюсь, эксперты помогут мне.

Заранее спасибо

1 Ответ

1 голос
/ 23 июня 2011

Вам нужно найти клиентскую библиотеку WSDL, которая совместима с J2ME.Библиотека Axis, используемая волшебниками Eclipse, определенно не является.

Я рекомендую вам использовать Netbeans, который может автоматически создать клиента для вас.Смотрите эту статью .

...