gpt4 book ai didi

javascript - 如何使用 Axios 库发送 XML 数据

转载 作者:行者123 更新时间:2023-11-30 14:18:59 25 4
gpt4 key购买 nike

我是编码新手,目前我正在探索 Axios 发送 XML 请求,感谢您帮助我将下面的内容转换为 Axios 命令?

请求正文

<?xml version="1.0" encoding="UTF-8"?>
<req:KnownTrackingRequest xmlns:req="http://www.example.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.com
TrackingRequestKnown.xsd">
<Request>
<ServiceHeader>
<MessageTime>2002-06-25T11:28:56-08:00</MessageTime>
<MessageReference>1234567890123456789012345678</MessageReference>
<SiteID>SiteID</SiteID>
<Password>Password</Password>
</ServiceHeader>
</Request>
<LanguageCode>en</LanguageCode>
<AWBNumber>01234567890</AWBNumber>
<LevelOfDetails>LAST_CHECK_POINT_ONLY</LevelOfDetails>

最佳答案

您可以在 axios 中使用 XML 代替 JSON,如下所示。

var xmlBodyStr = `<?xml version="1.0" encoding="UTF-8"?>
<req:KnownTrackingRequest xmlns:req="http://www.example.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.com
TrackingRequestKnown.xsd">
<Request>
<ServiceHeader>
<MessageTime>2002-06-25T11:28:56-08:00</MessageTime>
<MessageReference>1234567890123456789012345678</MessageReference>
<SiteID>SiteID</SiteID>
<Password>Password</Password>
</ServiceHeader>
</Request>
<LanguageCode>en</LanguageCode>
<AWBNumber>01234567890</AWBNumber>
<LevelOfDetails>LAST_CHECK_POINT_ONLY</LevelOfDetails>`;

var config = {
headers: {'Content-Type': 'text/xml'}
};

axios.post('https://POST_URL', xmlBodyStr, config);

下面是我的完整代码:

    const axios = require('axios');
const parseString = require('xml2js').parseString;
exports.handler = function(context, event, callback) {
var xmlBodyStr = `<?xml version="1.0" encoding="UTF-8"?>
<req:KnownTrackingRequest xmlns:req="http://www.sample.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sample.com
TrackingRequestKnown.xsd">
<Request>
<ServiceHeader>
<MessageTime>2002-06-25T11:28:56-08:00</MessageTime>
<MessageReference>1234567890123456789012345678</MessageReference>
<SiteID>ID</SiteID>
<Password>Pwd</Password>
</ServiceHeader>
</Request>
<LanguageCode>en</LanguageCode>
<AWBNumber>0123456789</AWBNumber>
<LevelOfDetails>LAST_CHECK_POINT_ONLY</LevelOfDetails>`;
var config = {
headers: {'Content-Type': 'text/xml'}
};
axios.post('https://xml.sample.com/XMLShippingServlet', xmlBodyStr, config).then(res => {
callback(res.data);
}).catch(err => callback(err));
};

XML 响应:

<?xml version="1.0" encoding="UTF-8"?>
<req:TrackingResponse xmlns:req="http://www.dhl.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.dhl.com TrackingResponse.xsd">
<Response>
<ServiceHeader>
<MessageTime>2018-11-02T04:29:21.024+01:00</MessageTime>
<MessageReference>1234567890123456789012345678</MessageReference>
<SiteID>ID</SiteID>
</ServiceHeader>
</Response>
<AWBInfo>
<AWBNumber>1234567890</AWBNumber>
<Status>
<ActionStatus>success</ActionStatus>
</Status>
<ShipmentInfo>
<OriginServiceArea>
<ServiceAreaCode>PEN</ServiceAreaCode>
<Description>PENANG-MYS</Description>
</OriginServiceArea>
<DestinationServiceArea>
<ServiceAreaCode>PAO</ServiceAreaCode>
<Description>Description</Description>
</DestinationServiceArea>
<ShipperName>Shipper</ShipperName>
<ShipperAccountNumber>12354678</ShipperAccountNumber>
<ConsigneeName>Sample</ConsigneeName>
<ShipmentDate>2018-09-21T02:41:21</ShipmentDate>
<Pieces>1</Pieces>
<Weight>0.5</Weight>
<WeightUnit>K</WeightUnit>
<GlobalProductCode>P</GlobalProductCode>
<ShipmentDesc>testing</ShipmentDesc>
<DlvyNotificationFlag>N</DlvyNotificationFlag>
<Shipper>
<City>CHEMOR</City>
<PostalCode>12345</PostalCode>
<CountryCode>MY</CountryCode>
</Shipper>
<Consignee>
<City>SUNNYVALE</City>
<CountryCode>US</CountryCode>
</Consignee>
<ShipmentEvent>
<Date>2018-09-21</Date>
<Time>11:30:52</Time>
<ServiceEvent>
<EventCode>OK</EventCode>
<Description>Delivered</Description>
</ServiceEvent>
<Signatory>Cnee</Signatory>
<ServiceArea>
<ServiceAreaCode>ABC</ServiceAreaCode>
<Description>sample</Description>
</ServiceArea>
</ShipmentEvent>
</ShipmentInfo>
</AWBInfo>
<LanguageCode>en</LanguageCode>
</req:TrackingResponse>
<!-- ServiceInvocationId:20181102042921_7837_c7ab8c82-428a-4b59-8379-
a00ec8a4f29e -->

关于javascript - 如何使用 Axios 库发送 XML 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53058805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com