以编程方式获取WSO2 ESB端点元数据

时间:2012-07-13 11:53:59

标签: wso2 wso2esb

我正在尝试以编程方式检索配置为WSO2 ESB的端点的元数据(例如:ServiceName,WebMethods,带返回类型的输入/输出参数等)。有人可以指导某些方式/文档,这可以帮助我获取这些数据。

3 个答案:

答案 0 :(得分:0)

不幸的是,你想要做什么并不是很清楚。这里有一些如何访问属性的例子(Meta-Data?)

在代理/序列访问属性中:

<property name="some name" expression="get-property('registry','conf:resource/path')"/>
<property name="some name" expression="get-property('registry',gov:resource/path')"/>
<property name="some name" expression="get-property('registry','resourceName')"/>

或在Custom Mediator中:

String property = (String)messageContext.getProperty("nameOfThePropery");

或在Custom Mediator中(从传输层获取文件名):

org.apache.axis2.context.MessageContext axis2messageContext = ((Axis2MessageContext) messageContext).getAxis2MessageContext();
// print the filename of the current transport
myLog.info("FileName: " + axis2messageContext.getTransportIn().getName());

希望这会对你有所帮助,否则会改善你的问题。

答案 1 :(得分:0)

为了进一步改进Abdul的问题,我们正在开发一个传统客户端之间的网络服务网关,另一方面是外部网络服务。我们在WSo2中创建了一个模板/序列,我们捕获旧客户端请求,并根据内部协议将其重定向到正确的Web服务。

外部Web服务在WSo2中注册为端点。到目前为止,我们一直使用管理控制台手动配置这些端点。我们正在考虑自动执行此步骤,以便我们的网关将访问WSo2并提供WSDL URL。然后,类中介将调用WSo2 / Synapse API以将此端点保存在Synapse配置中。我们在这方面没有取得成功。

我们还阅读了文档,其中说不建议通过调解器更改突触配置,因此我们希望看看是否有其他选项可以为我们完成这项工作。

答案 2 :(得分:0)

一种解决方法是从客户端本身创建这些端点。这可以通过调用carbon框架公开的AdminService API来完成。在碳中,任何碳组分的前端都通过管理服务与其后端对话。例如,如果我们采用端点相关功能,当您使用管理控制台创建/删除或执行任何功能时,它将依次通过“EndPointAdmin”管理服务调用相应的后端。因此,我相信,如果您想以编程方式创建这些端点,您可以直接从客户端调用EndPointAdmin后端管理服务(通过EndPointAdminStub - 它是与上述后端服务相对应的客户端存根),并满足您的要求。 / p>

此致 Prabath