Как вызвать веб-службу Java (JAX-WS) из AJAX?

Я разрабатываю веб-службы Java (JAX-WS) для вставки данных в базу данных mysql и их извлечения. У этой веб-службы есть два метода: fetchFromDB и insertIntoDB. Службы, кажется, работают нормально, когда я тестирую их с помощью IDE netbeans.

Address: /CalculatorWSService
WSDL:    /CalculatorWSService?wsdl

но когда я пытаюсь получить к нему доступ с помощью объекта AJAX xmlHttpRequest, указав URL-адрес http://localhost:8080/CalculatorApp/CalculatorWSService< /а>. Он не может получить к нему доступ. Я разработал веб-службы С#, и было так легко получить к ним доступ с помощью URL-адреса, но веб-службы Java, похоже, не следуют этому.

мой вопрос

Какой URL-адрес использовать для доступа к операциям веб-службы в AJAX? (Нужно ли использовать «? wsdl» в URL-адресе? Существует ли библиотека javascript ajax для простого доступа к веб-службам JAX-WS? Веб-службы Apache Axis — лучший выбор по сравнению с JAX-WS? Пожалуйста, помогите мне, спасибо, Джей


person Jay Patel    schedule 31.07.2009    source источник
comment
Выдается ли AJAX xmlHttpRequest с того же компьютера, на котором развернута веб-служба? (вы используете localhost в своем URL-адресе WS)   -  person Ryan Fernandes    schedule 03.08.2009


Ответы (2)



С точки зрения клиента, я не ожидал существенных различий между Axis и JAX-WS. Все, что нужно клиенту, должно быть в WSDL.

Одна вещь, которая иногда случается, заключается в том, что URL-адрес, используемый при разработке WebService, ссылается на хост и порт разработки (и, возможно, даже на ContextRoot). При развертывании на конкретном сервере любой из них может быть изменен. В идеале можно было бы создать новый WSDL с новой «связывающей» информацией.

Моим первым шагом было бы указать браузеру прямо на веб-службу, которую вы хотите вызвать. В моей среде это возвращает приятное сообщение типа «Привет, это веб-служба». Если вы получаете ошибку 401 not found, вам просто нужно точно изучить, как был развернут веб-сервис. Был ли указан другой порт или корень контекста?

person djna    schedule 31.07.2009