【问题标题】:Axis webservice calls fail sometimes, access.log shows content!Axis webservice 调用有时会失败,access.log 会显示内容!
【发布时间】:2010-04-16 14:59:32
【问题描述】:

我们的应用程序是第三方 Web 服务(也是 1 轴)的 Web 服务客户端(轴 1)。我们已经使用了几年了。

几周以来,我们(作为客户端)有时会在调用 Web 服务时收到 HTTP 状态 400(错误请求)或读取超时。

奇怪的是,服务的 access.log 显示的是请求或响应的一部分,而不是 URL。看起来像这样(看起来像请求字符串的结尾)

x.x.x.x -> y.y.y.y:8080 - - [timestamp] "POST /webservice HTTP/1.0" 200 16127 0
x.x.x.x -> y.y.y.y:8080 - - [timestamp] "POST /webservice HTTP/1.0" 200 22511 1
x.x.x.x -> y.y.y.y:8080 - - [timestamp] "il=\"true\"/><nsl:text xsi:type=\"xsd:string\" xsi:nil=\"true\"/></SOAPSomeOperation></soapenv:Body></soapenv:Envelope> Axis/1.4" 400 299 0

或者(一些看起来像请求的字符串)

x.x.x.x -> y.y.y.y:8080 - - [timestamp] ":string\">some text</sometag><othertag>moretext" 400 299 0

或者在某些其他情况下,它看起来像两个请求一起抛出(...表示省略了 xml 字符串):

x.x.x.x -> y.y.y.y:8080 - - [timestamp] "...</someop></soapenv:Body></soapenv:Envelope>:xsd=\"http://www.w3.org/2001/XMLSchema\"...</soapenv:Body></soapenv:Envelope>" 400 299 0

应用程序日志没有给出任何提示。此类调用的频率是对该服务的所有调用的 1%。到目前为止,我所知道的唯一区别是它发生在操作通知我们服务 url 因“服务器迁移”而发生变化时。

有没有人经历过这种现象?有人知道出了什么问题以及如何解决吗?

谢谢,

【问题讨论】:

    标签: java http soap web-services axis


    【解决方案1】:

    我们没有这种确切的行为,但我们遇到了 Axis 1 的几个缺陷,这让我们遭受了很多痛苦。有缺陷的类之一是 Axis 的 HttpSender,它似乎不是线程安全的,并且还有许多 bugs

    访问日志错误的不规则性可能意味着它实际上与线程安全相关。无论如何,如果您有机会摆脱 Axis 1,请立即执行。它已经快 5 年了,实际上是死产品,有很多缺陷未修复。

    【讨论】:

      猜你喜欢
      • 2010-11-02
      • 1970-01-01
      • 2014-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多