Ошибка: неверный формат XML для мыльного клиента в узле (Fedex) - PullRequest
0 голосов
/ 14 мая 2018

Я использую soap в узле для отправки запросов в веб-службы Fedex на загрузку документов. Документ для загрузки может быть допустимым типом файла, преобразованным в base64 (скажем, в PDF-файл с несколькими страницами). Если этот PDF-файл должен иметь одну страницу, поток работает совершенно нормально. Но если PDF-файл состоит из нескольких страниц, я получаю следующую ошибку от Fedex:

"Invalid XML","detail":"Error: Unexpected close tag\nLine: 0\nColumn: 127\nChar: >".

Для отладки я извлек запрос xml, который отправляется на fedex:

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:ns="http://fedex.com/ws/uploaddocument/v11"><soap:Body><ns:UploadDocumentsRequest xmlns:ns="http://fedex.com/ws/uploaddocument/v11" xmlns="http://fedex.com/ws/uploaddocument/v11"><ns:WebAuthenticationDetail><ns:UserCredential><ns:Key>*******</ns:Key><ns:Password>******</ns:Password></ns:UserCredential></ns:WebAuthenticationDetail><ns:ClientDetail><ns:AccountNumber>*****</ns:AccountNumber><ns:MeterNumber>*****</ns:MeterNumber></ns:ClientDetail><ns:Version><ns:ServiceId>cdus</ns:ServiceId><ns:Major>11</ns:Major><ns:Intermediate>0</ns:Intermediate><ns:Minor>0</ns:Minor></ns:Version><ns:OriginCountryCode>IN</ns:OriginCountryCode><ns:DestinationCountryCode>CN</ns:DestinationCountryCode><ns:Usage>ELECTRONIC_TRADE_DOCUMENTS</ns:Usage><ns:Documents><ns:CustomerReference></ns:CustomerReference><ns:DocumentType>PRO_FORMA_INVOICE</ns:DocumentType><ns:FileName>1810e200-4467-11e8-b6a8-07a18eeb7b1a.pdf-test.pdf</ns:FileName><ns:DocumentContent>Base64String</ns:DocumentContent></ns:Documents></ns:UploadDocumentsRequest></soap:Body></soap:Envelope>  

Переменная 'Base64String' в запросе может быть принята как отправляемый файл. Любая помощь в том, что это за ошибка и как это имеет смысл? Дайте мне знать, если есть какая-либо другая информация, которая может потребоваться

1 Ответ

0 голосов
/ 17 мая 2018

Если вы используете xml2js для преобразования вашего запроса, что наиболее вероятно, убедитесь, что вы обновились до версии 0.4.2. Сначала удалите его, а затем установите эту версию:

npm uninstall --save xml2js  
npm install --save xml2js@0.4.2

Эта проблема была решена в этой версии

...