我正在尝试使用 API 端点设置我的 Meteor 应用程序,以便在我列出的项目发生更改或交易时接收 Ebay 卖家通知。
我按照 theMeteorChef 的指南编写了一个 api。
我在尝试使用流星 API 时遇到的第一个问题是,我body
在请求中出现了空对象,我读过自流星 1.12 以来所有 XML POST 请求都会发生这种情况。
遵循smilansky 的解决方案后,我能够将预期的 XML 放入 rawBody 并从context.request.rawBody
.
我现在遇到的问题是尝试解析 SOAP XML。这是我收到的错误:
[
Error: Invalid character in entity name
Line: 38
Column: 82
Char: =
]
我尝试了 ignoreAttrs、mergeAttrs 以及几个 xml2js 解析器选项的几种组合,以试图解决这个问题。
我正在使用 Postman 进行测试,这是我用于测试的原始文本/xml 输入:
(来自 eBay API 文档的示例 ItemListed 通知)
<?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>
<ebl:RequesterCredentials soapenv:mustUnderstand="0" xmlns:ns="urn:ebay:apis:eBLBaseComponents"
xmlns:ebl="urn:ebay:apis:eBLBaseComponents">
<ebl:NotificationSignature xmlns:ebl="urn:ebay:apis:eBLBaseComponents">DYrq65GiZvg4cLFfW8J/Mg==</ebl:NotificationSignature>
</ebl:RequesterCredentials>
</soapenv:Header>
<soapenv:Body>
<GetItemResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2011-01-06T08:08:13.025Z</Timestamp>
<Ack>Success</Ack>
<CorrelationID>476457080</CorrelationID>
<Version>699</Version>
<Build>E699_CORE_BUNDLED_12457306_R1</Build>
<NotificationEventName>ItemListed</NotificationEventName>
<RecipientUserID>testuser_magicalbookseller</RecipientUserID>
<EIASToken>nY+sHZ2PrBmdj6wVnY+sEZ2PrA2dj6wFk4CpDZSLpwqdj6x9nY+seQ**</EIASToken>
<Item>
<AutoPay>false</AutoPay>
<BuyerProtection>ItemIneligible</BuyerProtection>
<BuyItNowPrice currencyID="USD">0.0</BuyItNowPrice>
<Country>US</Country>
<Currency>USD</Currency>
<GiftIcon>0</GiftIcon>
<HitCounter>NoHitCounter</HitCounter>
<ItemID>110066229557</ItemID>
<ListingDetails>
<Adult>false</Adult>
<BindingAuction>false</BindingAuction>
<CheckoutEnabled>true</CheckoutEnabled>
<ConvertedBuyItNowPrice currencyID="USD">0.0</ConvertedBuyItNowPrice>
<ConvertedStartPrice currencyID="USD">1.0</ConvertedStartPrice>
<ConvertedReservePrice currencyID="USD">0.0</ConvertedReservePrice>
<HasReservePrice>false</HasReservePrice>
<StartTime>2011-01-06T08:07:54.000Z</StartTime>
<EndTime>2011-01-13T08:07:54.000Z</EndTime>
<ViewItemURL>http://cgi.sandbox.ebay.com/ws/eBayISAPI.dll?ViewItem&item=110066229557&category=377</ViewItemURL>
<HasUnansweredQuestions>false</HasUnansweredQuestions>
<HasPublicMessages>false</HasPublicMessages>
<ExpressListing>false</ExpressListing>
</ListingDetails>
<ListingDuration>Days_7</ListingDuration>
<ListingType>Chinese</ListingType>
<Location>San Jose, California</Location>
<PaymentMethods>PayPal</PaymentMethods>
<PayPalEmailAddress>magicalbookseller@yahoo.com</PayPalEmailAddress>
<PrimaryCategory>
<CategoryID>377</CategoryID>
<CategoryName>Books:Fiction & Literature</CategoryName>
</PrimaryCategory>
<PrivateListing>false</PrivateListing>
<Quantity>1</Quantity>
<ReservePrice currencyID="USD">0.0</ReservePrice>
<ReviseStatus>
<ItemRevised>false</ItemRevised>
</ReviseStatus>
<Seller>
<AboutMePage>false</AboutMePage>
<Email>testuser_magicalbookseller@yahoo.com</Email>
<FeedbackScore>31</FeedbackScore>
<PositiveFeedbackPercent>100.0</PositiveFeedbackPercent>
<FeedbackPrivate>false</FeedbackPrivate>
<FeedbackRatingStar>Yellow</FeedbackRatingStar>
<IDVerified>true</IDVerified>
<eBayGoodStanding>true</eBayGoodStanding>
<NewUser>false</NewUser>
<RegistrationDate>2010-01-01T00:00:00.000Z</RegistrationDate>
<Site>US</Site>
<Status>Confirmed</Status>
<UserID>testuser_magicalbookseller</UserID>
<UserIDChanged>false</UserIDChanged>
<UserIDLastChanged>2007-11-29T18:43:54.000Z</UserIDLastChanged>
<VATStatus>NoVATTax</VATStatus>
<SellerInfo>
<AllowPaymentEdit>true</AllowPaymentEdit>
<CheckoutEnabled>true</CheckoutEnabled>
<CIPBankAccountStored>false</CIPBankAccountStored>
<GoodStanding>true</GoodStanding>
<LiveAuctionAuthorized>false</LiveAuctionAuthorized>
<MerchandizingPref>OptIn</MerchandizingPref>
<QualifiesForB2BVAT>false</QualifiesForB2BVAT>
<StoreOwner>true</StoreOwner>
<StoreURL>http://www.stores.sandbox.ebay.com/id=132854966</StoreURL>
<ExpressEligible>false</ExpressEligible>
<ExpressWallet>false</ExpressWallet>
<SafePaymentExempt>false</SafePaymentExempt>
</SellerInfo>
<MotorsDealer>false</MotorsDealer>
</Seller>
<SellingStatus>
<BidCount>0</BidCount>
<BidIncrement currencyID="USD">0.25</BidIncrement>
<ConvertedCurrentPrice currencyID="USD">1.0</ConvertedCurrentPrice>
<CurrentPrice currencyID="USD">1.0</CurrentPrice>
<LeadCount>0</LeadCount>
<MinimumToBid currencyID="USD">1.0</MinimumToBid>
<QuantitySold>0</QuantitySold>
<ReserveMet>true</ReserveMet>
<SecondChanceEligible>false</SecondChanceEligible>
<ListingStatus>Active</ListingStatus>
</SellingStatus>
<ShippingDetails>
<ApplyShippingDiscount>false</ApplyShippingDiscount>
<CalculatedShippingRate>
<OriginatingPostalCode>95125</OriginatingPostalCode>
<PackageDepth measurementSystem="English" unit="inches">2</PackageDepth>
<PackageLength measurementSystem="English" unit="inches">10</PackageLength>
<PackageWidth measurementSystem="English" unit="inches">7</PackageWidth>
<PackagingHandlingCosts currencyID="USD">0.0</PackagingHandlingCosts>
<ShippingIrregular>false</ShippingIrregular>
<ShippingPackage>PackageThickEnvelope</ShippingPackage>
<WeightMajor measurementSystem="English" unit="lbs">2</WeightMajor>
<WeightMinor measurementSystem="English" unit="oz">0</WeightMinor>
</CalculatedShippingRate>
<SalesTax>
<SalesTaxPercent>0.0</SalesTaxPercent>
<ShippingIncludedInTax>false</ShippingIncludedInTax>
</SalesTax>
<ShippingServiceOptions>
<ShippingService>USPSMedia</ShippingService>
<ShippingServicePriority>1</ShippingServicePriority>
<ExpeditedService>false</ExpeditedService>
<ShippingTimeMin>2</ShippingTimeMin>
<ShippingTimeMax>9</ShippingTimeMax>
</ShippingServiceOptions>
<ShippingType>Calculated</ShippingType>
<ThirdPartyCheckout>false</ThirdPartyCheckout>
<ExcludeShipToLocation>Asia</ExcludeShipToLocation>
<ExcludeShipToLocation>Middle East</ExcludeShipToLocation>
<ExcludeShipToLocation>Southeast Asia</ExcludeShipToLocation>
<SellerExcludeShipToLocationsPreference>true</SellerExcludeShipToLocationsPreference>
</ShippingDetails>
<ShipToLocations>US</ShipToLocations>
<Site>US</Site>
<StartPrice currencyID="USD">1.0</StartPrice>
<Storefront>
<StoreCategoryID>1</StoreCategoryID>
<StoreCategory2ID>0</StoreCategory2ID>
<StoreURL>http://www.stores.sandbox.ebay.com/id=132854966</StoreURL>
</Storefront>
<TimeLeft>P6DT23H59M42S</TimeLeft>
<Title>Harry Potter and the Philosopher's Stone</Title>
<UUID>CD751A9973E249ABB880E1B2DF65B50B</UUID>
<HitCount>0</HitCount>
<LocationDefaulted>true</LocationDefaulted>
<GetItFast>false</GetItFast>
<PostalCode>95125</PostalCode>
<PictureDetails>
<GalleryType>Gallery</GalleryType>
<GalleryURL>http://i1.sandbox.ebayimg.com/03/i/00/3e/60/d7_1.JPG?set_id=8800005007</GalleryURL>
<PhotoDisplay>PicturePack</PhotoDisplay>
<PictureURL>http://i1.sandbox.ebayimg.com/03/i/00/3e/60/d7_1.JPG?set_id=8800005007</PictureURL>
</PictureDetails>
<DispatchTimeMax>3</DispatchTimeMax>
<ProxyItem>false</ProxyItem>
<BuyerGuaranteePrice currencyID="USD">20000.0</BuyerGuaranteePrice>
<IntangibleItem>false</IntangibleItem>
<ReturnPolicy>
<RefundOption>MoneyBack</RefundOption>
<Refund>Money Back</Refund>
<ReturnsWithinOption>Days_30</ReturnsWithinOption>
<ReturnsWithin>30 Days</ReturnsWithin>
<ReturnsAcceptedOption>ReturnsAccepted</ReturnsAcceptedOption>
<ReturnsAccepted>Returns Accepted</ReturnsAccepted>
<Description>This is the first book in the Harry Potter series. In excellent condition!</Description>
<ShippingCostPaidByOption>Buyer</ShippingCostPaidByOption>
<ShippingCostPaidBy>Buyer</ShippingCostPaidBy>
</ReturnPolicy>
<PaymentAllowedSite>eBayMotors</PaymentAllowedSite>
<PaymentAllowedSite>CanadaFrench</PaymentAllowedSite>
<PaymentAllowedSite>Canada</PaymentAllowedSite>
<PaymentAllowedSite>US</PaymentAllowedSite>
<ConditionID>1000</ConditionID>
<ConditionDisplayName>Brand New</ConditionDisplayName>
</Item>
</GetItemResponse>
</soapenv:Body>
</soapenv:Envelope>
此外,在类似生产的环境中对其进行测试时,我收到关于request entity too large
. 我现在不知道该怎么做。
任何援助将不胜感激。
提前感谢您的宝贵时间。