我正在开发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>
答案 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>