使用Mule ESB与Groovy编排RESTful服务
2009-12-01 00:00:00 来源:WEB开发网向Mule发送GET请求
组成该编排的最后一个服务负责HTTP GET处理,它会获得新创建的订单,订单中包含了额外的值以形成一个合法的消息供email网关使用。如下是个示例交互:
GET /order/O13579 HTTP 1.1
200 OK
Content-Type: application/vnd.acme+xml
...
<order xmlns='urn:acme:order:3:1'>
<customerId>123456</customerId>
<productId>P987C</productId>
<quantity>2</quantity>
<customerEmail>foo@bar.baz</customerEmail>
<estimatedShipping>2009-31-12T00:00:00Z</estimatedShipping>
</order>
好消息是Mule的HTTP传送包含了一个名为rest-servicecomponent的组件,该组件简化了服务与REST资源的交互。幸好有了这样一个组件,我们就无需将GET操作的结果发给随后的服务了,相反可以在单独的服务中完成一切。除此以外,它还支持在配置中使用表达式,这样就能实现与动态构建的URL之间的连通了。
<service name="SuccessfulOrderProcessor">
<inbound>
<inbound-endpoint ref="SuccessfulOrderQueue" />
</inbound>
<http:rest-service-component httpMethod="GET"
serviceUrl="#[header:OrderResourceLocation]" />
<outbound>
<pass-through-router>
<outbound-endpoint ref="EmailGatewayQueue">
<transformers>
<object-to-string-transformer />
<transformer ref="OrderMicroformatToEmailMap" />
</transformers>
</outbound-endpoint>
</pass-through-router>
</outbound>
</service>
更多精彩
赞助商链接