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

时间:2015-09-17 18:58:15

标签: xml web-services ssis

我使用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>

但是当我将结果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>

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

我是如何解决此问题的,以便SSIS Web服务任务产生与从Web服务任务检索的XML相同的XML?

0 个答案:

没有答案