首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >apigee SOAP验证

apigee SOAP验证
EN

Stack Overflow用户
提问于 2015-05-30 00:00:51
回答 1查看 512关注 0票数 0

我想通过针对WSDL文件的Apigee soap消息验证来验证包装在MTOM中的SOAP请求。

当我提交带有标题的请求时

Content-type: multipart/related;type="application/xop+xml";start="http://tempuri.org/0";boundary="uuid:4fa9f99a-7f53-4ac6-84ff-05655e9af89c+id=22";start-info="text/xml“

验证策略似乎只是传递/不触发。我把假信息放进信封,但它不会失败。我看过一篇文章,其中有人提到为了触发SOAP验证策略,头部必须指定Content-type:"application/xml“。如果我这样做了,那么MTOM包装就会导致问题,因为请求体不是纯XML:

例如。MTOM包装器:--uuid:4fa9f99a-7f53-4ac6-84ff-05655e9af89c+id=22 Content-ID: application/xop+xml;charset=utf-8;type="text/xml“Content-Transfer- http://tempuri.org/0:8bit Content-Type: MTOM

所以,长篇大论(对不起)的方式来问这个问题:如果APIGEE需要纯XML,而我有MTOM包装器,我该如何在APIGEE中使用SOAP消息验证策略?

附注,我尝试将SOAP消息/信封本身提取到一个变量(bodyvar)中,并将策略源定义为该变量,但随后APIGEE抱怨该变量不能解析为消息:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageValidation async="false" continueOnError="false" enabled="true" name="WSDL_VALIDATION">
    <DisplayName>WSDL_VALIDATION</DisplayName>
    <FaultRules/>
    <Properties/>
    <SOAPMessage />
  <Element namespace="http://schemas.xmlsoap.org/soap/envelope/">Body</Element>
    <Source>bodyvar</Source>
    <ResourceURL>wsdl://FormRequest.wsdl</ResourceURL>
</MessageValidation>

运行此命令会出现此错误:{“错误”:{“错误字符串”:“变量环境无法解析为消息”,"detail":{"errorcode":"steps.messagevalidation.NonMessageVariable"}}}

EN

回答 1

Stack Overflow用户

发布于 2015-09-01 23:42:29

是的,只有当content-type是application/xml时,soap消息验证才有效。我猜你需要将content-type设置为上面提到的值,这样你的后端才能理解它。因此,我建议是这样的:-从客户端发送消息时,将其作为application/xml发送-一旦验证了soap消息,在将其发送到目标之前,您可以使用assign message或javascript策略将content-type头设置为您想要的。

希望这种方法适用于您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30534070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档