Nopcommerce 3.5 XML文档中的UPS运输插件格式不正确

时间:2015-06-25 07:29:21

标签: xml nopcommerce ups

我正在开发nopcommerce 3.5。我开发了一个用于运送UPS的插件并调用TransitInTime API。现在我想使用UPS插件,因为我想通过UPS运输方法和我的TransitInTime API获得费率。 但我得到了 错误:错误代码10001 描述:XML文档在XML的响应中不是很好。

在请求中我通过了:

<?xml version='1.0'?>
<AccessRequest xml:lang='en-US'>
    <AccessLicenseNumber>CC....</AccessLicenseNumber>
    <UserId>gi...</UserId>
    <Password>Ch...</Password>
</AccessRequest>
<?xml version='1.0'?>
<RatingServiceSelectionRequest xml:lang='en-US'>
    <Request>
        <TransactionReference>
            <CustomerContext>
Bare Bones Rate Request
</CustomerContext>
            <XpciVersion>
1.0001
</XpciVersion>
        </TransactionReference>
        <RequestAction>
Rate
</RequestAction>
        <RequestOption>
Shop
</RequestOption>
    </Request>
    <PickupType>
        <Code>06</Code>
    </PickupType>
    <CustomerClassification>
        <Code>04</Code>
    </CustomerClassification>
    <Shipment>
        <Shipper>
            <Address>
                <PostalCode>35006</PostalCode>
                <CountryCode>US</CountryCode>
            </Address>
        </Shipper>
        <ShipTo>
            <Address>
                <ResidentialAddressIndicator/>
                <PostalCode>35005</PostalCode>
                <CountryCode>US</CountryCode>
            </Address>
        </ShipTo>
        <ShipFrom>
            <Address>
                <PostalCode>35006</PostalCode>
                <CountryCode>US</CountryCode>
            </Address>
        </ShipFrom>
        <Service>
            <Code>03</Code>
        </Service>
        <Package>
            <PackagingType>
                <Code>02</Code>
            </PackagingType>
            <Dimensions>
                <Length>0</Length>
                <Width>0</Width>
                <Height>0</Height>
            </Dimensions>
            <PackageWeight>
                <Weight>18</Weight>
            </PackageWeight>
        </Package>
    </Shipment>
</RatingServiceSelectionRequest>

并回复:

<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header/>
    <soapenv:Body>
        <soapenv:Fault>
            <faultcode>Client</faultcode>
            <faultstring>An exception has been raised as a result of client data.</faultstring>
            <detail>
                <err:Errors
                    xmlns:err="http://www.ups.com/schema/xpci/1.0/error">
                    <err:ErrorDetail>
                        <err:Severity>Hard</err:Severity>
                        <err:PrimaryErrorCode>
                            <err:Code>
10001
</err:Code>
                            <err:Description>
The XML document is not well formed
</err:Description>
                            <err:Digest>
Unexpected element: XML_DOC_DECL
</err:Digest>
                        </err:PrimaryErrorCode>
                        <err:Location/>
                    </err:ErrorDetail>
                </err:Errors>
            </detail>
        </soapenv:Fault>
    </soapenv:Body>
</soapenv:Envelope>

1 个答案:

答案 0 :(得分:0)

您正在使用<?xml version='1.0'?>两次。删除内部并使用XMl信封---

示例

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
        xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Header>
    <ns1:RequestHeader
         soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
         soapenv:mustUnderstand="0"
         xmlns:ns1="https://www.google.com/apis/ads/publisher/v201605">
      <ns1:networkCode>123456</ns1:networkCode>
      <ns1:applicationName>DfpApi-Java-2.1.0-dfp_test</ns1:applicationName>
    </ns1:RequestHeader>
  </soapenv:Header>
  <soapenv:Body>
    <getAdUnitsByStatement xmlns="https://www.google.com/apis/ads/publisher/v201605">
      <filterStatement>
        <query>WHERE parentId IS NULL LIMIT 500</query>
      </filterStatement>
    </getAdUnitsByStatement>
  </soapenv:Body>
</soapenv:Envelope>