当前位置: 首页 > 知识库问答 >
问题:

如何在WSO2 esb的代理服务中调用wsdl中存在的多个操作

勾安翔
2023-03-14

我有一个由几个操作组成的wsdl。我已经使用该wsdl创建了一个代理服务,并希望在wsdl中公开当前的操作。

我们可以在代理服务中定义特定于操作的流吗?

更准确地说,在Oracle Service Bus中,它有分支的概念,我们能在WSO2 esb proxy中实现同样的概念吗?

共有1个答案

赫连昕
2023-03-14

您可以根据操作使用过滤器或开关中介来应用中介:查看SOAP主体中的第一个节点,或者查看初始化后的SOAP操作。

基于消息内容的示例(假设这是一条SOAP 11消息) :

<switch xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" source="local-name(soap:Body/*[1])">
  <case regex="operation1">
    <log level="custom">
      <property name="operation" value="operation1"/>
    </log>
  </case>
  <case regex="operation2">
    <log level="custom">
      <property name="operation" value="operation2"/>
    </log>
  </case>
  <default/>
</switch>

<filter xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" source="local-name(soap:Body/*[1])" regex="postCustomer">
  <then>
    <log level="custom">
      <property name="operation" value="operation1"/>
    </log>
  </then>
  <else>
    <log level="custom">
      <property name="operation" value="not operation1"/>
    </log>
  </else>
</filter>
 类似资料:
  • 我有一个负载平衡器,我想测试负载平衡器的性能。我使用Apache JMeter来测试负载平衡器。我需要更改我的IP地址,以便客户端IP总是不同的。我的uni不允许我添加多个IP地址(IP欺骗/ IP别名)。 所以,另一个选择是使用代理服务器。有没有办法一次在JMeter中使用2个或多个代理服务器?目前我只能一次指定一个代理服务器。 有办法扭转局面吗?

  • 我正在研究Spring-WS,它基于手动创建的XSD生成WSDL。 我试图使用Spring-WS将Spring Controller RESTFul API服务公开为WSDL。 那么如何在spring webservice调用时传递{customer-id}呢?如何在spring wsdl定义中指定这个url?

  • Træfɪk是一个用Go语言写的先进(和流行技术结合的比较好)的反向代理。它支持多种配置方式,本文将介绍如何通过Docker设置多个MinIO实例,并用Træfɪk可实现通过不同的子域名进行访问。 1. 前提条件 已经安装Docker并运行, 如果没有参考安装说明. 2. 步骤 获取,配置和启动Træfɪk 首先你应该为Træfɪk创建一个配置文件来启用Let's Encrypt并配置Docker

  • 问题内容: 作为我的标题,这是位于conf.d / api-server.conf中的配置文件 nginx.conf文件与默认设置相同。 将请求发送到api.localhost(api.localhost / admin / login)之后,我仍然收到405错误: 问题答案: 问题是您的if条件不会在中发送父项中的标头。如果您检查飞行前响应标头,它将是 那什么也没给。因此,有两种可能的解决方案。

  • 我想在KeyClope中实现事务功能。我先创建一个用户,然后创建一个角色,并将该角色与该用户关联。我希望所有这些操作都在一个事务中进行。以下是我的代码片段:

  • null 或者所有微服务都应该从一个特殊的身份和访问API获得用户的身份,该API将基于访问令牌公开用户?