SUDS rendering a duplicate node and wrapping everything in it

Posted by PylonsN00b on Stack Overflow See other posts from Stack Overflow or by PylonsN00b
Published on 2010-05-20T16:23:08Z Indexed on 2010/05/20 16:30 UTC
Read the original article Hit count: 245

Filed under:
|
|
|
|

Here is my code:

#Make the SOAP connection
url = "https://api.channeladvisor.com/ChannelAdvisorAPI/v1/InventoryService.asmx?WSDL"
headers = {'Content-Type': 'text/xml; charset=utf-8'}
ca_client_inventory = Client(url, location="https://api.channeladvisor.com/ChannelAdvisorAPI/v1/InventoryService.asmx", headers=headers)
#Make the SOAP headers
login = ca_client_inventory.factory.create('APICredentials')
login.DeveloperKey = 'REMOVED'
login.Password = 'REMOVED'
#Attach the headers
ca_client_inventory.set_options(soapheaders=login)

synch_inventory_item_list = ca_client_inventory.factory.create('SynchInventoryItemList')
synch_inventory_item_list.accountID = "REMOVED"

array_of_inventory_item_submit = ca_client_inventory.factory.create('ArrayOfInventoryItemSubmit')
for product in products:
   inventory_item_submit = ca_client_inventory.factory.create('InventoryItemSubmit')
    inventory_item_list = get_item_list(product)
    inventory_item_submit = [inventory_item_list]
    array_of_inventory_item_submit.InventoryItemSubmit.append(inventory_item_submit)

synch_inventory_item_list.itemList = array_of_inventory_item_submit

#Call that service baby!
ca_client_inventory.service.SynchInventoryItemList(synch_inventory_item_list)

Here is what it outputs:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="http://api.channeladvisor.com/webservices/" xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://api.channeladvisor.com/webservices/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header>
      <tns:APICredentials>
         <tns:DeveloperKey>REMOVED</tns:DeveloperKey>
         <tns:Password>REMOVED</tns:Password>
      </tns:APICredentials>
   </SOAP-ENV:Header>
   <ns1:Body>
      <ns0:SynchInventoryItemList>
         <ns0:accountID>
            <ns0:accountID>REMOVED</ns0:accountID>
            <ns0:itemList>
               <ns0:InventoryItemSubmit>
                  <ns0:Sku>1872</ns0:Sku>
                  <ns0:Title>The Big Book Of Crazy Quilt Stitches</ns0:Title>
                  <ns0:Subtitle></ns0:Subtitle>
                  <ns0:Description>Embellish the seams and patches of crazy quilt projects with over 75 embroidery stitches and floral motifs. You&apos;ll use this handy reference book again and again to dress up wall hangings, pillows, sachets, clothing, and other nostalgic creations.</ns0:Description>
                  <ns0:Weight>4</ns0:Weight>
                  <ns0:FlagStyle/>
                  <ns0:IsBlocked xsi:nil="true"/>
                  <ns0:ISBN></ns0:ISBN>
                  <ns0:UPC>028906018721</ns0:UPC>
                  <ns0:EAN></ns0:EAN>
                  <ns0:QuantityInfo>
                     <ns0:UpdateType>UnShipped</ns0:UpdateType>
                     <ns0:Total>0</ns0:Total>
                  </ns0:QuantityInfo>
                  <ns0:PriceInfo>
                     <ns0:Cost>0.575</ns0:Cost>
                     <ns0:RetailPrice xsi:nil="true"/>
                     <ns0:StartingPrice xsi:nil="true"/>
                     <ns0:ReservePrice xsi:nil="true"/>
                     <ns0:TakeItPrice>6.95</ns0:TakeItPrice>
                     <ns0:SecondChanceOfferPrice xsi:nil="true"/>
                     <ns0:StorePrice>6.95</ns0:StorePrice>
                  </ns0:PriceInfo>
                  <ns0:ClassificationInfo>
                     <ns0:Name>Books</ns0:Name>
                     <ns0:AttributeList>
                        <ns0:ClassificationAttributeInfo>
                           <ns0:Name>Designer/Author</ns0:Name>
                           <ns0:Value>Patricia Eaton</ns0:Value>
                        </ns0:ClassificationAttributeInfo>
                        <ns0:ClassificationAttributeInfo>
                           <ns0:Name>Trim Size</ns0:Name>
                           <ns0:Value></ns0:Value>
                        </ns0:ClassificationAttributeInfo>
                        <ns0:ClassificationAttributeInfo>
                           <ns0:Name>Binding</ns0:Name>
                           <ns0:Value>Leaflet</ns0:Value>
                        </ns0:ClassificationAttributeInfo>
                        <ns0:ClassificationAttributeInfo>
                           <ns0:Name>Release Date</ns0:Name>
                           <ns0:Value>11/1/1999 0:00:00</ns0:Value>
                        </ns0:ClassificationAttributeInfo>
                        <ns0:ClassificationAttributeInfo>
                           <ns0:Name>Skill Level</ns0:Name>
                           <ns0:Value></ns0:Value>
                        </ns0:ClassificationAttributeInfo>
                        <ns0:ClassificationAttributeInfo>
                           <ns0:Name>Pages</ns0:Name>
                           <ns0:Value>20</ns0:Value>
                        </ns0:ClassificationAttributeInfo>
                        <ns0:ClassificationAttributeInfo>
                           <ns0:Name>Projects</ns0:Name>
                           <ns0:Value></ns0:Value>
                        </ns0:ClassificationAttributeInfo>
                     </ns0:AttributeList>
                  </ns0:ClassificationInfo>
                  <ns0:ImageList>
                     <ns0:ImageInfoSubmit>
                        <ns0:PlacementName>ITEMIMAGEURL1</ns0:PlacementName>
                        <ns0:FilenameOrUrl>1872.jpg</ns0:FilenameOrUrl>
                     </ns0:ImageInfoSubmit>
                  </ns0:ImageList>
               </ns0:InventoryItemSubmit>
            </ns0:itemList>
         </ns0:accountID>
      </ns0:SynchInventoryItemList>
   </ns1:Body>
</SOAP-ENV:Envelope>

See how it creates the accountID node twice and wraps the whole thing in it? WHY? How do I make it stop that?!

© Stack Overflow or respective owner

Related posts about suds

Related posts about duplicate-removal