我的SSIS Web服务任务正在修改XML结果以省略父节点,是什么给出的?

Pat*_*ski 7 xml ssis web-services

我使用SSIS 2012 Web服务任务调用Web服务.HTTP调用返回的XML非常类似于:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetFooResponse xmlns="http://acme1234">
         <GetFooResult>
            <Foo FOOTYPE_CODE="2" FOOTYPE="Premium" FOO_CODE="11" FOONAME="example" ACTIVE_INACTIVE="A"/>
            <Foo FOOTYPE_CODE="1" FOOTYPE="Standard" FOO_CODE="12" FOONAME="example2" ACTIVE_INACTIVE="A"/>
         </GetFooResult>
      </GetFooResponse>
   </s:Body>
</s:Envelope>
Run Code Online (Sandbox Code Playgroud)

但是当我将结果XML存储在磁盘上的变量或文件中后在SSIS中调试时,我看到存储的XML是:

<?xml version="1.0" encoding="utf-16"?>
<GetFooResponse xmlns="http://acme1234">
    <Foo FOOTYPE_CODE="2" FOOTYPE="Premium" FOO_CODE="11" FOONAME="example" ACTIVE_INACTIVE="A"/>
    <Foo FOOTYPE_CODE="1" FOOTYPE="Standard" FOO_CODE="12" FOONAME="example2" ACTIVE_INACTIVE="A"/>
</GetFooResponse>
Run Code Online (Sandbox Code Playgroud)

我真的不知道这是怎么可能的 - SSIS如何剥离中间节点?我很好地剥离了外部SOAP元素,但GetFooResult去了哪里?结果,我的XSD不再正确; 除非我手动捏造XSD,否则我无法获得可用的SSIS包.

任何想法如何解决这个问题,以便SSIS Web服务任务导致从Web服务任务检索到相同的XML?