2012-04-04 4 views
1

나는 다른 서버에 앉아있는 웹 서비스를 호출 할 필요가있는 자바 웹 애플리케이션을 가지고있다. 나는 확실히 아니에요하지만 난 ... javax.xml.ws.Service를 사용할 수 있습니다 생각하고, 지금Java에서 웹 서비스를 호출하려면 어떻게해야합니까? (나는 그것을하는 펄 스크립트를 가지고있다)

#!/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; 

: 여기

는 서비스를 호출하는 내가 가지고있는 펄 스크립트에 대한 코드입니다 그것에 대해 어떻게 가야하는지. 어떤 방향으로 끝내 줄 것입니다.

+1

많은 자습서와 질문이 있습니다. 어느 것을 시도 했습니까? – Bozho

+0

몇 가지를 살펴 보았습니다. 이 제품은 특히보기 흉하게 보였습니다 (클라이언트 개발은 맨 아래에 있습니다) [http://bit.ly/HMepcO](http://bit.ly/HMepcO). 나는 전체 종점 구현 클래스 개념에 의아해하지만 ... Hello port = service.getHelloPort(); 객체 포트는 서비스에서 던져진 것을 보관할 컨테이너입니까? – djswartz

+0

이것은 매우 궁금한 질문입니다. - [wsif] (http://ws.apache.org/wsif/), [axis] (http://axis.apache.org/axis/), [jax-ws] (http : //)를 확인하십시오. en.wikipedia.org/wiki/Java_API_for_XML_Web_Services) 원하는 것을 선택하십시오. –

답변

0

내가 사용하는 것 중 하나

  1. 서비스 포트에 대한 간단한 HTTP 연결과 자신이

또는

  1. 클라이언트로 JAX-WS

    는 XML 전송 - 당신이 필요를 Wsdl에서 wsimport를 실행 한 다음 생성 된 Java 클래스를 사용하여 서비스를 호출하십시오.
0

에 그들에 대한 간단한 예 http://code.google.com/p/simple-samples/source/checkout 및 문서를 찾을 수 있습니다. - webservices를 호출하기위한 java에는 꽤 많은 프레임 워크/라이브러리가 있습니다.

wsif, axis, jax-ws을 확인하고 원하는 것을 선택하십시오. 첫 번째 호출은 특별히 호출을위한 것이지만, 나머지 두 개는 완전한 본격적이며 클라이언트 측 코드뿐만 아니라 서버 측 (사용자 자신의 서비스)을 생성하는 데 도움이됩니다.

관련 문제