我有一个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/