【问题标题】:Does a SOAP Envelope allows DOCTYPE?SOAP 信封是否允许 DOCTYPE?
【发布时间】:2019-02-11 07:15:12
【问题描述】:

我实际上有一个肥皂信封,如下所述。通过 POSTMAN 或 SOAP UI 运行它,我得到了想要的结果。但是,在添加 DOCTYPE 时,它给了我 400 Bad Request。下面是xml

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE doc 
[<!ENTITY win SYSTEM \"file:///C:/Users/user/Documents/testdata2.txt\">]>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:koh="http://kohls.com/">
<soapenv:Header/>
<soapenv:Body>
  <Process>
  <doc>&win;</doc>
     <!--Optional:-->
     <webEnvelope>                       
        <TraceEvents/>
        <Properties>
           <PropertyTO Name="Assembly" Value="IS.XS.Rf.Mls"/>
           <PropertyTO Name="Type" Value="IS.XS.Rf.Mls.MlsRequestMessage"/>
        </Properties>
        <Pipeline>MlsMessagePipeline</Pipeline>
        <TargetService>RfPriceChanges</TargetService>
        <TargetTransaction>GetClearanceTicketLocations</TargetTransaction>
     </webEnvelope>
  </Process>
</soapenv:Body>
</soapenv:Envelope>

如果我从 xml 中删除 DOCTYPE 及其支持标记,它会成功运行并显示 200 状态代码。另外,根据网址:https://salesforce.stackexchange.com/questions/171003/soap-message-must-not-contain-a-document-type-declarationdtd

它说肥皂信封不再支持 DOCTYPE。我还检查了 SOAP Doc,但没有发现任何与 DTD 使用相关的内容。我错过了什么吗?任何帮助表示赞赏

【问题讨论】:

    标签: xml soap soapui


    【解决方案1】:

    WS-I Basic Profile 明确拒绝 SOAP 信封中的 DTD:

    3.2.3 不允许的构造

    XML DTD 和 PI 可能会引入安全漏洞、处理 用于信封时的开销和语义歧义。因此, SOAP 1.2 的第 5 节不允许某些 XML 结构。

    虽然已发布勘误表 NE05(参见 http://www.w3.org/XML/xml-names-19990114-errata ) 允许命名空间 声明 xmlns:xml="http://www.w3.org/XML/1998/namespace" 到 出现,一些较旧的处理器认为这样的声明是 错误。这些要求确保符合的工件具有 尽可能广泛的互操作性。

    R1008 信封不得包含文档类型声明。核 可测试的 BP1007

    R1009 信封不得包含处理指令。核 可测试的 BP1208

    R1033 信封不得包含命名空间声明 xmlns:xml="http://www.w3.org/XML/1998/namespace"。核心可测试 BP1033

    如果需要,您可以在soapUI 中check WS-I compliance 并将其构建到您的断言中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-03
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多