最近做一个调用webservice的接口,通讯和数据都没啥问题了,就是delphi生成的xml格式略有问题,以下是用soapui测试正确的
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <SOAP-ENV:Body>
      <MT_SHANGLIAN_CARD_INFO xmlns="urn:ginwa:changyi:ecc:shanglian_card_info_upload_in">
         <ROW xmlns="">
            <STORE_ID>21</STORE_ID>
            <COUNTER_ID/>
            <EVENT_TP>03</EVENT_TP>
            <AMOUNT>1270</AMOUNT>
            <CURR>CNY</CURR>
            <FDATE>20130625</FDATE>
         </ROW>
      </MT_SHANGLIAN_CARD_INFO>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
以下是delphi自己生成的
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <SOAP-ENV:Body>
      <MT_SHANGLIAN_CARD_INFO xmlns="urn:ginwa:changyi:ecc:shanglian_card_info_upload_in">
         <ROW>
            <STORE_ID xmlns="">21</STORE_ID>
            <COUNTER_ID xmlns=""/>
            <EVENT_TP xmlns="">03</EVENT_TP>
            <AMOUNT xmlns="">1270</AMOUNT>
            <CURR xmlns="">CNY</CURR>
            <FDATE xmlns="">20130625</FDATE>
         </ROW>
      </MT_SHANGLIAN_CARD_INFO>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
可以看出delphi自己生成的就是在ROW下边的每一项里边都加了个xmlns="",而对方要求的是在ROW后边加个xmlns="",而下边的每一项没有。
求组各位大神帮忙看看,如果没法让Delphi自动调整,我可以手工调整xml,但是不知道在哪儿可以调整,用什么方法调整,谢谢大家了