我有一个Java Web应用程序,需要调用位于不同服务器上的Web服务。

这是我调用服务的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 ...尽管我不太确定如何去做。任何方向都很棒。

最佳答案

我会使用:


与服务端口的简单http连接,然后自己发送XML


要么


Jax-ws作为客户端-您需要在Wsdl上运行wsimport,然后使用生成的Java类来调用您的服务。

关于java - 如何从Java调用Web服务? (我有一个做的Perl脚本),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10019722/

10-12 00:42
查看更多