【问题标题】:problems creating SAAJ object model创建 SAAJ 对象模型的问题
【发布时间】:2014-07-01 22:45:28
【问题描述】:

我尝试在 jquery 中向第三方发送 SOAP 请求,但总是收到此错误:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Problems creating SAAJ object model</faultstring></soap:Fault></soap:Body></soap:Envelope>

我这样做的方式是将几个令牌传递给另一个函数,该函数基于这些令牌创建 SOAP 请求。其中一个标记是这样的 Html 字符串:

<tr><td width="2" bgcolor="#ffffff"><\/td><td width="1" bgcolor="#d8dbe3"><\/td><td width="2" bgcolor="#ffffff"><\/td><td width="15" bgcolor="#f5f6f8"><\/td><td width="535" bgcolor="#f5f6f8"><table width="535" cellspacing="0" cellpadding="0" border="0" bgcolor="#f5f6f8"><tr><td width="80"><table width="80" height="96" bgcolor="#999999" cellspacing="0" cellpadding="0" border="0" align="center"><tr><td width="80" height="1" colspan="3"><\/td><\/tr><tr><td width="1" bgcolor="#999999"><\/td>....

每当我添加此令牌时,SOAP 请求都会失败。我试图转义这个 html 字符串令牌,SOAP 请求成功,但是整个字符串都被所有转义字符弄乱了,第三方需要这个 html 字符串来呈现模板,所以我无论如何都无法发送转义版本。有什么方法可以安全地传递 html 字符串而不会导致请求崩溃?

【问题讨论】:

    标签: java jquery jquery-ui html-escape-characters saaj


    【解决方案1】:

    soap-request 无法在服务器端解析时,通常会出现“创建 SAAJ 对象模型的问题”错误。 在服务器上的日志文件中,您可以看到类似

    Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '>' (code 62) (expected a name start character)
     at [row,col {unknown-source}]: [18,6]
    

    您将 html 标记传递给 soap 信封,因此 问题可能与转义 html-tags 相关。在soap-request 中为此类数据传递BASE64 字符串是一种很好的做法

    【讨论】:

    • 请举例或参考如何在soap请求中传递BASE64字符串
    【解决方案2】:

    请添加标题,如“Content-type text/xml;charset=utf-8”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-02
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多