【问题标题】:SAXParseException - when parsing soap responseSAXParseException - 解析肥皂响应时
【发布时间】:2016-06-03 10:52:02
【问题描述】:

我试图在 java 代码中使用 saxparse 解析下面的 xml,但我得到了 SAXParseException。 xml 看起来不错。不知道为什么我得到这个例外。谁能帮我知道我的xml有什么问题。提前致谢!

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:m0="http://schemas.compassplus.com/two/1.0/fimi_types.xsd" xmlns:m1="http://schemas.compassplus.com/two/1.0/fimi.xsd">
   <env:Body>
      <m1:UserDefinedRp>
         <m1:Response Response="1" TranId="7643629" Ver="14.3" Product="XXX"/>
      </m1:UserDefinedRp>
   </env:Body>
</env:Envelope>

以下是我得到的异常:

org.xml.sax.SAXParseException: Element type "env:Envelope" must be followed by either attribute specifications, ">" or "/>".
    at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1213)
    at org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(XMLDocumentScanner.java:579)
    at org.apache.xerces.framework.XMLDocumentScanner.abortMarkup(XMLDocumentScanner.java:628)
    at org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1800)
    at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:949)
    at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)

【问题讨论】:

    标签: java xml soap


    【解决方案1】:

    如果您认为它是正确的 XML(是的,它看起来不错),请尝试检查不可打印的字符,有时 IDE 或其他编辑器会添加它们。试着检查一下。

    【讨论】:

    • 在将来自 MS Teams 的 SOAP 请求粘贴到 Postman 中然后在 MacOS 上提交时遇到同样的错误。即使删除所有空格和行尾,所以请求是单行也没有解决它。该请求很短,因此假设某处存在不可打印的字符,手动重新输入请求并按预期工作。 +1 这个答案,因为这需要一段时间才能找到并解决。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 2011-12-29
    相关资源
    最近更新 更多