如何使用在wsO2 G-Reg中注册的服务

时间:2012-09-26 09:38:45

标签: wso2

用例:

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();

2 个答案:

答案 0 :(得分:0)

您需要另一个服务客户端来使用tomcat上的Web服务发布。 Registry只保留服务的元数据。您需要根据Service实现中的WSDL发布生成或创建客户端。

答案 1 :(得分:0)

据我所知,Greg只存储元数据,无法自行提供Web服务(无需安装metiadion功能)。 您需要做的是在ESB中定义代理服务(在GREG中单独安装ESB功能)