locked
error BEC3001: The global element 'http://schemas.xmlsoap.org/soap/envelope/:Envelope' has already been declared. RRS feed

  • Question

  • I'm trying to generate an schema (xsd) from a given file in xml format with soap envelope.

    I use the BizTalk 2013 schema generator and it generate 6 different xsd file. Next I update the import schema locations.

    -------------------------------------------

    When I compile the schema project, it throws

    error BEC2004: The 'http://schemas.xmlsoap.org/soap/envelope/:mustUnderstand' attribute is not declared.

    I fixed this by download the soap envelope from http://schemas.xmlsoap.org/soap/envelope and add to my schema project.

    -------------------------------------------------

    When I compile the schema project, it throws

    error BEC3001: The global element 'http://schemas.xmlsoap.org/soap/envelope/:Envelope' has already been declared. 

    ----------------------------

    Below is the xml file

    <?xml version="1.0" encoding="UTF-8" ?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:biz="http://schemas.biztalk.org/btf-2-0/address/types"> 
    <SOAP-ENV:Header>
    <endpoints xmlns="http://schemas.biztalk.org/btf-2-0/endpoints" SOAP-ENV:mustUnderstand="1">
    <to><address xsi:type="biz:OrganizationName">Microsoft</address></to>
    <from><address xsi:type="biz:OrganizationName">VSDN</address></from>
    </endpoints>
    <properties xmlns="http://schemas.biztalk.org/btf-2-0/properties" SOAP-ENV:mustUnderstand="1">
    <identity>uuid:a4beff26-19cd-4e63-b9da-2025b85b1e5c</identity><sentAt>2014-12-17T09:25:59+00:00</sentAt><expiresAt>2014-12-27T09:25:59+00:00</expiresAt><topic>root:ShippingScheduleResponse</topic>
    </properties>
    <services xmlns="http://schemas.biztalk.org/btf-2-0/services" SOAP-ENV:mustUnderstand="1">
    <deliveryReceiptRequest>
    <sendTo><address xsi:type="biz:httpsURL">https://www.mybiztalk.com/BTSHTTPReceive.dll</address></sendTo>
    <sendBy>2014-12-27T09:25:59+00:00</sendBy>
    </deliveryReceiptRequest>
    </services>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body><ShippingSchedule><ShippingScheduleHeader><ScheduleID>16347277</ScheduleID>
    <ScheduleIssuedDate>2014-12-17T01:25:00</ScheduleIssuedDate>
    <SiteID>ARAPWF</SiteID><ShipmentID>16365899</ShipmentID>
    <ScheduleReferences><ScheduleOrderReference><OrderIssueDate>2014-12-13T00:00:00</OrderIssueDate></ScheduleOrderReference><OtherScheduleReferences><ListOfReferenceCoded><ReferenceCoded><ReferenceTypeCoded>DataAuthenticationNumber</ReferenceTypeCoded><ReferenceDescription>16365899</ReferenceDescription></ReferenceCoded></ListOfReferenceCoded><ListOfReferenceCoded><ReferenceCoded /></ListOfReferenceCoded><ListOfReferenceCoded><ReferenceCoded><ReferenceTypeCoded>AgreementNumber</ReferenceTypeCoded><ReferenceDescription>6631941 </ReferenceDescription></ReferenceCoded></ListOfReferenceCoded><ListOfReferenceCoded><ReferenceCoded><ReferenceTypeCoded>PurchaseOrderNumber</ReferenceTypeCoded><ReferenceDescription>test1moetuat2</ReferenceDescription></ReferenceCoded></ListOfReferenceCoded><ListOfReferenceCoded><ReferenceCoded><ReferenceTypeCoded>PriorityRating</ReferenceTypeCoded><ReferenceDescription>10</ReferenceDescription></ReferenceCoded></ListOfReferenceCoded><ListOfReferenceCoded><ReferenceCoded><ReferenceTypeCoded>SUB</ReferenceTypeCoded><ReferenceDescription>NEW</ReferenceDescription></ReferenceCoded></ListOfReferenceCoded></OtherScheduleReferences></ScheduleReferences><ScheduleParty><Party><PartyID>0005164613</PartyID><NameAddress><Name1>Test Infocom Ltd</Name1><Name2 /><Name3>Test Name</Name3><Name4>Sharma</Name4><Street>3 Test Buildi P Road</Street><Street2 /><Street3 /><Street4 /><PostalCode>4004</PostalCode><City>Mumbai</City><Region><RegionCoded>MH </RegionCoded></Region><Country><CountryCoded>IN</CountryCoded></Country></NameAddress><OrderContact><ContactNumber><ContactValue>6582200</ContactValue></ContactNumber></OrderContact></Party><Party><PartyID>SHIPTO</PartyID><NameAddress><Name1>Test  Ltd(AMD)</Name1><Name2 /><Name3>Test name</Name3><Name4 /><Street>Test No 41 &amp; 42,R.K.ESTATE,</Street><Street2>B/H. Test HOTEJ BAVA,</Street2><Street3 /><Street4 /><PostalCode>8888</PostalCode><City>Ahmedabad</City><Region><RegionCoded>GJ</RegionCoded></Region><Country><CountryCoded>IN</CountryCoded></Country></NameAddress><OrderContact><ContactNumber><ContactNumberTypeCoded>TelephoneNumber</ContactNumberTypeCoded><ContactValue>9223368232</ContactValue></ContactNumber></OrderContact></Party></ScheduleParty><ListOfTransportRouting><TransportRouting><ServiceLevel><ServiceLevelCode>Standard Service</ServiceLevelCode></ServiceLevel><CarrierID /><TransportMode><TransportModeCodedOther /></TransportMode></TransportRouting></ListOfTransportRouting><ShippingScheduleHeaderNote /></ShippingScheduleHeader><ListOfMaterialGroupedShippingDetail><MaterialGroupedShippingDetail><BaseShippingDetail><LineItemNum><SellerLineItemNum>32304185</SellerLineItemNum></LineItemNum><ItemIdentifiers><PartNumbers><ManufacturerPartNumber><PartID>7-00004</PartID></ManufacturerPartNumber></PartNumbers></ItemIdentifiers><TotalQuantity><QuantityValue>10</QuantityValue><Currency>USD</Currency><UnitPrice>20.00</UnitPrice></TotalQuantity><ListOfItemReferences><ListOfReferenceCoded><ReferenceCoded><ReferenceTypeCoded>DataAuthenticationNumber</ReferenceTypeCoded><ReferenceDescription>16365899</ReferenceDescription></ReferenceCoded></ListOfReferenceCoded></ListOfItemReferences></BaseShippingDetail></MaterialGroupedShippingDetail></ListOfMaterialGroupedShippingDetail></ShippingSchedule></SOAP-ENV:Body>
    </SOAP-ENV:Envelope>


    Monday, June 15, 2015 3:08 PM

Answers

  • You should only use the payload of the Soap envelop body tag to generate the schema, i.e. from <ShippingSchedule> .... to .... </ShippingSchedule>

    The soapEnvelope is added/removed by the BizTalk adapters at runtime.

    Regards,

    René

    Monday, June 15, 2015 6:04 PM