基于SCA(tuscany)的SOA实践之二(访问web服务是如此的简单)

本文讲述基于SCA(tuscany)的SOA实践,本篇讲如何通过tuncany访问web服务
先说一下开发环境jdk6+eclipse3.4+wst+stp+tuscany1.3.1
1 建立一个动态java工程tuscanyclient,源文件目录是src/main/java,资源文件目录是src/main/resources,引用上一篇的tuscany所需要的jar包,并引用上一篇的IUserservice接口和User对象

2 建立Client类,代码如下

package com.tuscanytest.client;

import java.util.List;

import org.apache.tuscany.sca.host.embedded.SCADomain;
import org.osoa.sca.annotations.Reference;

import com.tuscanytest.service.IUserservice;
import com.tuscanytest.service.User;

public class Client {

private IUserservice userservice;

public List<User> getAll(){
return userservice.getAll();
}

public IUserservice getUserservice() {
return userservice;
}

@Reference
public void setUserservice(IUserservice userservice) {
this.userservice = userservice;
}

public static void main(String[] args) {
SCADomain domain = SCADomain.newInstance("client.composite");
Client client = domain.getService(Client.class, "ClientImpl");
List<User> all = client.getAll();
for (User user : all) {
System.out.println(user.getId());
System.out.println(user.getName());
System.out.println(user.getAddress().getStreet());
}
}


}


3 把上篇服务的描述文件UserService.wsdl放在src/main/resources/目录下
可以直接通过浏览器访问服务的wsdl,然后保存下来

4 在src/main/resources/下定义client.composite文件,代码如下

<?xml version="1.0" encoding="ISO-8859-15"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" name="tuscanyclient"
targetNamespace="http://client.tuscanytest.com">
<component name="ClientImpl">
<implementation.java class="com.tuscanytest.client.Client" />
</component>
<reference name="userservice" promote="ClientImpl/userservice" target="UserService">
<interface.java interface="com.tuscanytest.service.IUserservice" />
<binding.ws url="http://localhost:9080/tuscanytest/IUserService" wsdlElement="http://service.tuscanytest.com/#wsdl.port(IUserserviceService/IUserservicePort)"/>
</reference>
</composite>


5 启动上篇的服务,然后执行前面的client类,可以看到控制台的输出,这些就是调用ws服务后获得的数据

id0
name0
street0
id1
name1
street1
id2
name2
street2
id3
name3
street3
id4
name4
street4
id5
name5
street5
id6
name6
street6
id7
name7
street7
id8
name8
street8
id9
name9
street9


通过tuscany作为客户端访问web服务真的很简单,当然并不是所有的服务都会提供给你java的接口和类,不过好在tuscany有另外的方法来完成,以后会陆续介绍
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值