Добавить веб-сервис в уже доступный Java-проект

#java #web-services

#java #веб-сервисы

Вопрос:

Я новичок в Java. У меня есть Java-проект. Он отлично работает на моем компьютере с Windows 7. Я хочу использовать некоторые функциональные возможности этого проекта в качестве веб-сервисов, чтобы иметь возможность использовать их в моем приложении Silverlight. И приложение Silverlight, и этот Java-проект будут находиться на одном сервере. Проблема, с которой я сталкиваюсь, заключается в том, что когда я щелкаю правой кнопкой мыши по проекту, в новом меню веб-сервиса нет. Что я должен сделать, чтобы добавить веб-сервис в свой проект? Спасибо.

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

1. Это автономное или веб-приложение, которое вы используете с Java

2. Также можете ли вы быстро пробежаться по этому руководству, чтобы посмотреть, помогает ли это чему-нибудь ibm.com/developerworks/webservices/tutorials/ws-eclipse-javase1 /…

3. Я использую Eclipse. Приложение является автономным (консольным)

Ответ №1:

На основе статьи, на которую я ссылался в комментариях выше :: http://www.ibm.com/developerworks/webservices/tutorials/ws-eclipse-javase1/index.html

С помощью аннотаций JWS вы можете настроить веб-службу в своем java-приложении, чтобы предоставить некоторые из ее функциональных возможностей. Никаких дополнительных библиотек не требуется. Приведенные ниже примеры были написаны на Java 6.

Пример определения вашего веб-сервиса :

 import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public class MyWebService {

    @WebMethod
    public String myMethod(){
        return "Hello World";
    }

}
  

Обратите внимание на 2 аннотации @WebService и @WebMethod. Ознакомьтесь с их API, которые связаны, и настройте их по мере необходимости. Этот пример будет работать без каких-либо изменений

Затем вам нужно только настроить прослушиватель. Вы найдете это в классе javax.xml.ws.Endpoint

 import javax.xml.ws.Endpoint;

public class Driver {

    public static void main(String[] args) {
        String address = "http://127.0.0.1:8023/_WebServiceDemo";
        Endpoint.publish(address, new MyWebService());
        System.out.println("Listening: "   address);

    }
}
  

Запустите эту программу, и вы сможете запустить свой веб-сервис с помощью http://127.0.0.1:8023/_WebServiceDemo?WSDL. На этом этапе легко настроить то, что вы хотите отправлять туда и обратно между приложениями.

Как вы можете видеть, нет необходимости настраивать специальный проект веб-службы для вашего использования.

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

1. Небольшая проблема! Когда я использую его в проекте ConsoleApplication, он работает отлично. Но когда я использую его в silverlight и вызываю его async, e.Result выдает исключение. Чего мне не хватает?

2. извините, я не могу помочь с частью silverlight. нет опыта работы с ним.

3. @Alireza, откройте новый вопрос по проблеме SilverLight.

4. Я попробовал это, это работает, но я должен был разместить это на сервере, таком как weblogic или tomcat, тогда как мне поступить?