#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, тогда как мне поступить?