用例:
1)在tomcat服务器上运行的一个web服务在machine1上说 2)我在wsO2 Greg上注册了这个web服务,注册表在机器2上运行 3)我还通过注册表将ws-security策略'UserNameToken'附加到服务。 4)现在我想使用Eclipse
为Web服务编写一个客户端我创建了一个注册表客户端并检索了Service对象。我也能够获得该Service对象的attachPolicies。 我的问题或疑问是如何使用已应用该策略的Web服务。
代码段如下:
Service[] services1 = serviceManager
.findServices(new ServiceFilter() {
public boolean matches(Service service)
throws GovernanceException {
String version = service
.getAttribute("overview_version");
String name = service.getAttribute("overview_name");
String nameSpaceofService = service
.getAttribute("overview_namespace");
return (version != null
&& version.equals(version_no)
&& name.equals(sserviceName) && nameSpaceofService
.equals(nameSpace));
}
});
Service fastThoughtService = services1[0];
Policy[] policyArray = fastThoughtService.getAttachedPolicies();
答案 0 :(得分:0)
您需要另一个服务客户端来使用tomcat上的Web服务发布。 Registry只保留服务的元数据。您需要根据Service实现中的WSDL发布生成或创建客户端。
答案 1 :(得分:0)
据我所知,Greg只存储元数据,无法自行提供Web服务(无需安装metiadion功能)。 您需要做的是在ESB中定义代理服务(在GREG中单独安装ESB功能)