2012-04-04 3 views
1

У меня есть веб-приложение Java, которому необходимо вызвать веб-службу, которая находится на другом сервере.Как я могу назвать веб-сервис с Java? (У меня есть скрипт perl, который делает это)

Вот код для сценария на языке Perl у меня есть, что вызывает службу:

#!/usr/bin/perl -w 

use SOAP::Lite; 

my $user = 'user'; 
my $password = 'password'; 

my $loginURI = "http://someserver:8080/SakaiLogin.jws?wsdl"; 
my $scriptURI = "http://someserver:8080/sakai-axis/scripts/RosterService.jws?wsdl"; 

my $loginsoap = SOAP::Lite 
-> proxy($loginURI) 
-> uri($loginURI); 

my $scriptsoap = SOAP::Lite 
-> proxy($scriptURI) 
-> uri($scriptURI); 

my $session = $loginsoap->login($user, $password)->result; 

# doSiteRoster(session, site_id, user_id) 
my $result = $scriptsoap->doSiteRoster($session, "cfc338aa-acfb-41a6-a998-7e467afc297b", "djswartz")->result; 

my $logout = $loginsoap->logout($session)->result; 

exit; 

Теперь, я думаю, я могу использовать javax.xml.ws.Service ... Хотя я не совсем конечно, как это сделать. Любое направление было бы удивительным.

+1

есть много учебников и вопросов об этом. Какие из них вы пробовали? – Bozho

+0

Я посмотрел на несколько. Это выглядело особенно прилично (разработка клиента у основания) [http://bit.ly/HMepcO](http://bit.ly/HMepcO). Хотя я немного озадачен концепцией класса Endpoint Implementation Class ... Как Hello port = service.getHelloPort(); Порт объекта представляет собой контейнер для хранения, который отбрасывается обратно из службы? – djswartz

+0

Это очень открытый вопрос. - проверьте их [wsif] (http://ws.apache.org/wsif/), [ось] (http://axis.apache.org/axis/), [jax-ws] (http: // ru.wikipedia.org/wiki/Java_API_for_XML_Web_Services) и выберите то, что вам нравится –

ответ

0

Я хотел бы использовать:

  1. Простой HTTP подключение к порту службы и отправить XML сами

Или

  1. JAX-WS в качестве клиента - вам нужно для запуска wsimport в Wsdl затем используйте сгенерированные классы Java для вызова вашей службы.
0

Это очень открытый вопрос. - В java существует несколько инфраструктур/библиотек для вызова web-сервисов.

Проверьте эти рамки wsif, axis, jax-ws и выберите то, что вам нравится. В то время как первый из них специально предназначен для вызова, последние два являются более полными и помогают создать серверную часть (ваши собственные службы), а также код на стороне клиента.

Смежные вопросы