2013-10-03 103 views
0

尝试部署可从DSS(应用程序服务器)中的多个服务(端点)收集响应并在ESB中组合响应的API。如何在WSO2 ESB中引用WSO2 ESB中的3个端点服务来部署API

将API视为“Person”它具有GET方法“getperson” “getperson” - 接受personID作为参数(查询过滤器)。

响应:在DSS

<person> 
    <id\> 
    <name\> 
    <type\> 
    <address> 
     <street\> 
     <apt\> 
     <city\> 
     <state\> 
     <zipcode\> 
    </address> 
    <image> 
     <id\> 
     <description\> 
     <title\> 
    </image> 
<person> 

服务内容如下::

  1. person_service

回应:

<person> 
    <id\> 
    <name\> 
    <type\> 
    <addressid\> 
    <imageid\> 
</person> 

2. address_se起动转矩

回应:

<address> 
     <street\> 
     <apt\> 
     <city\> 
     <state\> 
     <zipcode\> 
    </address> 

3. image_service

回应:

<image> 
    <id> 
    <description> 
    <title> 
</image> 

我能够在DSS成功创建服务。但无法将使用所有3个服务端点的API部署到一个API GET方法调用中。

我下面的链接http://docs.wso2.org/display/ESB460/Service+Chaining

的文档中给出了服务的样品,不过,该样品在使用它代理服务已完成。我不知道如何连接到API的

ESB版本:4.6.0 DSS版本:4.0.1

谢谢

回答

0

你可以做同样的服务API链逻辑。如果您查看API配置,您可以将中介逻辑定义为InSequence和OutSequence,就像您为代理服务一样。

与此同时,您可以使用相同的逻辑定义代理服务,并将该代理服务作为您的API的端点。

+0

谢谢你的回应。当我创建代理服务时,我需要指定发布WSDL。我选择了“指定内联”选项。我需要创建一个单独的WSDL。因为我需要合并来自多个服务的响应(我不能将WSDL用于某个特定服务)。如何在ESB中生成WSDL文件。 – Abhi

+0

发布WSDl选项用于为客户端发布wsdl以了解服务定义。如果您不想为代理发布wsdl,则不需要。但是,如果您发布wsdl,则传入的代理请求应该遵循wsdl架构定义 – Ratha

+0

谢谢,我选择了发布WSDl作为“无”。它仍将端点显示为“http:// null:8888/....”。我不确定它为什么显示为空。 – Abhi