2014-01-28 73 views
0

如何使用代理服务在WSO2中开发Web服务?WSO2中的代理服务

在这里应用我的Oracle Service Bus知识来创建代理服务,该代理服务将字符串作为Input并返回相同的响应,但我发现使用我的XML Schema创建代理服务很困难。

我发现我们可以使用自定义代理模板在WSO2中执行相同的操作。 但我不确定在代理服务中定义输入和输出; 在传统的Oracle Service Bus中,我们可以通过定义我们的XMl架构来实现。

回答

0

好像你需要一些回声类型的服务。这种行为可以通过以下方式配置wso2 esb来实现。但是,这不是一个真正的Web服务。我希望你知道什么是Web服务,代理服务是做什么的。但对于您的要求,您可以尝试如下所示。

<proxy name="loopBackProxy" startonload="true" statistics="disable" trace="disable" transports="https,http" xmlns="http://ws.apache.org/ns/synapse"> 
    <target> 
     <insequence> 
     <log level="full"></log> 
     <header action="remove" name="To"></header> 
     <property name="RESPONSE" value="true"></property> 
     <!-- your esb modifications here --> 
     <send></send> 
     </insequence> 
    </target> 
    <description></description> 
</proxy> 

这不包含一个outsequence,它做的是将输入重定向到客户端。

+0

嗨感谢您的快速响应..我创建了代理使用上述代码和它的工作正常。我可以看到答复是我通过的请求。但是当我尝试从WSO2管理控制台测试服务时,我可以看到空的SOAP请求,它就像 ..我想这是因为没有任何操作暴露的服务。 – Surya

+0

请你让我知道方法来创建一个简单的代理服务,它应该要求客户端通过输入..lets说两个整数,代理应该能够添加两个整数并将响应返回给客户端。在Oracle Service Bus中,我们可以定义我们的xml模式,其中像element1类型int和element2类型int这样的xml元素将作为输入,同样,类型为int的名为“response”的xml元素将成为输出,这样我就可以轻松地创建一个代理服务来执行两个整数的添加,但是我觉得很难在WSO2中执行相同的操作 – Surya

+0

@ user3243890为此,您需要创建一个WSDL,并修改代理以指向该WSDL。如果您的代理的输入与后端Web服务相同,那么您可以简单地指出这一点。否则,以WSDL为起点,并相应地修改输入/输出。 –