Мне дали файл WSDL, и я должен использовать веб-сервис с помощью этого файла WSDL по Интернету. Я должен сделать это в Java.
Кто-то мог сказать мне шаги для того, чтобы сделать это? Я также ценил бы некоторые полезные ссылки.
Первым шагом является создание классов, которые могут взаимодействовать с этим веб-сервисом. Взгляните на решения с открытым исходным кодом, такие как Axis2 . Это сгенерирует заглушки, чтобы вы могли общаться с веб-сервисом в коде ... тогда все зависит от вас, чтобы использовать этот сервис.
Было бы полезно, если бы вы использовали IDE. Например, в Netbeans вы можете следовать этому руководству и сделать то, что вы просите, довольно легко. В Eclipse это также просто.
Вот плагин для Eclipse для Axis (упоминался в других ответах).
Я не делал этого на Java уже много лет назад, но много лет назад я использовал инструмент командной строки Axis (я считаю, что настоящая команда был wsdl2java). Вы запускаете команду, передавая URL-адрес вашей wsdl в качестве аргумента, и она сгенерирует прокси-классы, которые вы можете использовать в своем приложении.
Вам следует провести небольшое исследование по этому поводу, а не просто получать раствор с ложечки, но в основном вы, скорее всего, получите какой-то инструмент, который автоматически генерирует классы для вас. Вы используете эти классы для взаимодействия со службой, так что по сути вам даже не нужно знать, что вы вообще взаимодействуете со службой.
В комплекте с jdk есть инструмент командной строки под названием "wsimport" (если вы используете 1.6, не уверены в версии). Он похож на wsdl2java от Apache Axis, но генерирует более чистый код (imho).
Я бы использовал JAX-WS (пожалуйста, забудьте Axis или Axis 2, см. предыдущие ответы ), и хорошие новости заключаются в том, что Java 6 включает JAX -WS RI, значит у вас уже есть все необходимое, делать нечего. Другими словами, просто используйте wsimport
, чтобы сгенерировать классы, необходимые для вызова веб-службы.
Пример:
wsimport -p stockquote http://stockquote.xyz/quote?wsdl
Это сгенерирует артефакты Java и скомпилирует их, импортировав {{ 1}} http://stockquote.xyz/quote?wsdl .
Для вызова веб-службы требуются три строки кода (без включения инициализации аргументов WS). См. Создание простой веб-службы и клиента с помощью JAX-WS в руководстве по Java EE, Начало работы с веб-службами JAX-WS или Разработка клиентов веб-службы JAX-WS для примеров.