代码之家  ›  专栏  ›  技术社区  ›  Guillaume

从flex webservice生成的xml无效

  •  1
  • Guillaume  · 技术社区  · 14 年前

    我试图让flex与spring ws-webservice进行通信。但是flex生成一个soap请求,它既没有被payloadvalidatinginterceptor验证,也没有被soapui验证。这个问题似乎与XML名称空间的使用有关。

    未验证的消息如下:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
      <soapenv:Header/>
      <soapenv:Body>
        <getAccountDataRequest xmlns="http://test.com/services/Account">
          <accountNumber>537048.001</accountNumber>
        </getAccountDataRequest>
      </soapenv:Body>
    </soapenv:Envelope>
    

    以下两种变体都经过验证:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
      <soapenv:Header/>
      <soapenv:Body>
        <ac:getAccountDataRequest xmlns:ac="http://test.com/services/Account">
          <accountNumber>537048.001</accountNumber>
        </ac:getAccountDataRequest>
      </soapenv:Body>
    </soapenv:Envelope>
    
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                      xmlns:ac="http://test.com/services/Account">
      <soapenv:Header/>
      <soapenv:Body>
        <ac:getAccountDataRequest>
          <accountNumber>537048.001</accountNumber>
        </ac:getAccountDataRequest>
      </soapenv:Body>
    </soapenv:Envelope>
    

    根据我对所读文献的理解,第一个版本也应该是有效的。

    是不是Spring和Soapui在他们接受的方面太挑剔了?或者flex生成的xml无效?

    谢谢你的帮助!

    1 回复  |  直到 14 年前
        1
  •  0
  •   Guillaume    14 年前

    我最后补充说 elementFormDefault="qualified" 对于定义我的webservice的xsd,现在大家都同意flex生成的消息是正确的。