Я должен напечатать метки возврата, когда ProcessShipmentReply заканчивается в веб-сервисах FEDEX.
У меня уже есть этикетки для отправки, но теперь мне нужны возвратные этикетки.
Я настроил следующее:
ShipmentSpecialServiceType[] shipmentSpecialServiceType = new ShipmentSpecialServiceType[1];
shipmentSpecialServiceType[0] = ShipmentSpecialServiceType.RETURN_SHIPMENT;
request.RequestedShipment.SpecialServicesRequested = new ShipmentSpecialServicesRequested();
request.RequestedShipment.SpecialServicesRequested.SpecialServiceTypes = shipmentSpecialServiceType;
request.RequestedShipment.SpecialServicesRequested.ReturnShipmentDetail = new ReturnShipmentDetail();
request.RequestedShipment.SpecialServicesRequested.ReturnShipmentDetail.ReturnType = ReturnType.PRINT_RETURN_LABEL;
Я думаю, что мне нужно что-то еще в методе ответа, но я не могу понять это.
Следующий блок - это метод ответа:
private void ShowShipmentReply (ProcessShipmentReply ответить, bool isCodShipment)
{
foreach (CompletedPackageDetail packageDetail in reply.CompletedShipmentDetail.CompletedPackageDetails)
{
ShowTrackingDetails (packageDetail.TrackingIds);
if (null! = packageDetail.PackageRating && null! = packageDetail.PackageRating.PackageRateDetails)
{
ShowPackageRateDetails (packageDetail.PackageRating.PackageRateDetails);
}
еще
{
Console.WriteLine («Информация о ставке не возвращается.»);
}
if (null! = packageDetail.Label.Parts [0] .Image)
{
// Сохранить ярлык исходящей доставки
string LabelPath = "C: \ Users \ cma2tl \ Documents \ FedexLabelsTest \";
string LabelFileName = LabelPath + packageDetail.TrackingIds[0].TrackingNumber + ".pdf";
SaveLabel(LabelFileName, packageDetail.Label.Parts[0].Image);
if (isCodShipment)
{
if (null != packageDetail.CodReturnDetail.Label.Parts[0].Image)
{
// Save outbound shipping label
LabelFileName = LabelPath + packageDetail.TrackingIds[0].TrackingNumber + "_COD.pdf";
SaveLabel(LabelFileName, packageDetail.CodReturnDetail.Label.Parts[0].Image);
}
}
}
ShowBarcodeDetails(packageDetail.OperationalDetail.Barcodes);
}
ShowPackageRouteDetails(reply.CompletedShipmentDetail.OperationalDetail);