【问题标题】:.NET client getting "not well formed" XML response from Axis web service.NET 客户端从 Axis Web 服务获得“格式不正确”的 XML 响应
【发布时间】:2009-06-09 13:59:52
【问题描述】:

我有一个简单的 .NET 应用程序,它对第三方 Axis Web 服务进行 SOAP 调用。当我跟踪 HTTP 流量时,我看到请求看起来很好,但是我遇到了一个异常:“响应不是格式正确的 XML。”返回对象为空,似乎无法反序列化 XML。

关于 wsdl 中各种命名空间声明的问题。其中一些声明指向不再存在的 URL/域。这会导致任何问题吗?

来自 wsdl 文档:

<wsdl:definitions targetNamespace="http://domaindoesntexist.com/"  
xmlns:apachesoap="http://xml.apache.org/xml-soap"  
xmlns:impl="http://domaindoesntexist.com/"  
xmlns:intf="http://domaindoesntexist.com/"  
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"  
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"  
xmlns:xsd="http://www.w3.org/2001/XMLSchema">

删除了有罪数据的示例 HTTP 响应:

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=utf-8
Transfer-Encoding: chunked
Date: Fri, 05 Jun 2009 13:54:59 GMT

7cb
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<someMethod xmlns="http://test.com/services/myservice/">
</someMethod>
</soapenv:Body>
</soapenv:Envelope>
0

【问题讨论】:

  • 你有没有成功解决过这个问题?您还需要这方面的帮助吗?
  • 我们确实解决了这个问题,但不幸的是我不记得问题的根源,因为它已经快一年半了。

标签: xml soap .net-2.0 axis


【解决方案1】:

根据我的经验,命名空间 URL 不必是实际存在的 URI。 需要的是一致性,因此可以构建内部 XML 模式以进行验证。目的是(我相信)在该位置托管命名空间定义,以便开发人员可以去那里检查它,但后来人们变得懒惰了。

事实上,我对后者的看法可能是完全错误的。

【讨论】:

    【解决方案2】:

    其中一些声明指向 不再存在的 URL/域。 这会导致任何问题吗?

    当然。您是否尝试过更新项目中的网络服务?

    【讨论】:

    【解决方案3】:

    我遇到了类似的问题,在查看 Wireshark 跟踪后发现有一个代理服务器正在 XML 有效负载中插入一些标头

    webservice 正在尝试加载 xml

    "内容类型:text/xml;charset=utf-8 变化:接受编码,用户代理 连接:关闭 传输编码:分块 2rZ3fnB2rMzDjipXgQz8ObOcEczeOIO74sa17YK5hrPkt62qce12BItOmuvPrC / WD8N3xZzBeBceBbiAA0IlsR2aXxd479Es7wO9va2cGpF / cc284gI.K5FXbOR5PUPx00EqNRjCdbdU4fv / JXN2alGDzGVlgCnRK5 / 6DJlAkcED2011-06-08T15:35:21.505Z“ EM>

    显然不会加载。

    在我的例子中完整的 tcp 流

    POST /ls/ws/auth HTTP/1.1

    用户代理:Mozilla/4.0(兼容;MSIE 6.0;MS Web 服务客户端协议 2.0.50727.3615)

    内容类型:文本/xml;字符集=utf-8

    SOAPAction: ""

    主持人:??????

    内容长度:487

    期望:100-继续

    连接:保持活动状态

    2PUldqLs2KqUkJryFiZPQJI.D6RCixeMu443SLd7dCF2qrzws0E2JYatTqm8wD2CuFrSVHEjvJHIXfiLy6w9yBagentfp093.0.1.9019HTTP/1.0 200 OK

    日期:格林威治标准时间 2011 年 6 月 8 日星期三 15:35:21

    服务器:Apache-Coyote/1.1

    内容类型:text/xml;charset=utf-8

    变化:Accept-Encoding、User-Agent

    X-Cache:来自 dgtproxy1.skybroadband.com.ph 的 MISS

    连接:关闭

    .1

    内容类型:text/xml;charset=utf-8

    变化:Accept-Encoding、User-Agent

    连接:关闭

    传输编码:分块

    2rZ3fnB2rMzDjipXgQz8ObOcEczeOIO74sa17YK5hrPkt62qce12BItOmuvPrC / WD8N3xZzBeBceBbiAA0IlsR2aXxd479Es7wO9va2cGpF / cc284gI.K5FXbOR5PUPx00EqNRjCdbdU4fv / JXN2alGDzGVlgCnRK5 / 6DJlAkcED2011-06-08T15:35:21.505Z P>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多