我正在使用Azure API管理策略,我正在尝试弄清楚如何从SOAP pass-thru服务的输出中删除名称空间前缀。
我能找到的唯一解决方案是使用此
<find-and-replace from="what to replace" to="replacement" />
find-and-replace会接受正则表达式而不是静态字符串吗?像这样的东西?
<find-and-replace from="/(?!xmlns)^.*:/" to="" />
答案 0 :(得分:0)
不幸的是,查找和替换策略背后的想法是在不缓冲整个消息体的情况下替换,支持正则表达式将需要缓冲。但您可以使用策略表达式来完成任务:
<set-body>@(Regex.Replace(context.Response.Body.As<string>(), "pattern", ""))</set-body>