Создание документов доставки FedEx с использованием службы доставки FedEx WSDL - PullRequest
2 голосов
/ 10 февраля 2011

Я нахожусь в процессе интеграции с международной судовой службой FedEx.Но я действительно застрял на одной части.Я пытаюсь создать сертификат происхождения, используя их тестовую среду.Я следовал схеме xml и нашел код ниже

private static void SetCustomInvoice(ProcessShipmentRequest request)
    {
        request.RequestedShipment.ShippingDocumentSpecification = new ShippingDocumentSpecification();
        request.RequestedShipment.ShippingDocumentSpecification.ShippingDocumentTypes = new RequestedShippingDocumentType[1] { new RequestedShippingDocumentType() };
        request.RequestedShipment.ShippingDocumentSpecification.ShippingDocumentTypes[0] = RequestedShippingDocumentType.CERTIFICATE_OF_ORIGIN;
        request.RequestedShipment.ShippingDocumentSpecification.CertificateOfOrigin = new CertificateOfOriginDetail();
        request.RequestedShipment.ShippingDocumentSpecification.CertificateOfOrigin.DocumentFormat = new ShippingDocumentFormat { StockType = ShippingDocumentStockType.STOCK_4X6, ImageType = ShippingDocumentImageType.PDF, ImageTypeSpecified = true, StockTypeSpecified = true };
        request.RequestedShipment.SpecialServicesRequested = new ShipmentSpecialServicesRequested();
        request.RequestedShipment.SpecialServicesRequested.SpecialServiceTypes = new ShipmentSpecialServiceType[1] { new ShipmentSpecialServiceType() };
        request.RequestedShipment.SpecialServicesRequested.SpecialServiceTypes[0] = ShipmentSpecialServiceType.ELECTRONIC_TRADE_DOCUMENTS;

        request.RequestedShipment.SpecialServicesRequested.EtdDetail = new EtdDetail();
        request.RequestedShipment.SpecialServicesRequested.EtdDetail.RequestedDocumentCopies = new RequestedShippingDocumentType[1] { RequestedShippingDocumentType.CERTIFICATE_OF_ORIGIN };
        request.RequestedShipment.SpecialServicesRequested.EtdDetail.DocumentReferences = new UploadDocumentReferenceDetail[1] { new UploadDocumentReferenceDetail() };
        request.RequestedShipment.SpecialServicesRequested.EtdDetail.RequestedDocumentCopies[0] = RequestedShippingDocumentType.CERTIFICATE_OF_ORIGIN;

    }

Но я продолжаю получать сообщение об ошибке от веб-службы с указанием «Неверный тип запаса».Даже если shipmentDocumentStockType является перечислением, и я использую одно из значений из него.Я все еще получаю эту ошибку.Есть идеи, где я могу пойти не так?Любая информация будет отличной помощью.Я попытался связаться со службой технической поддержки FedEx, и они не очень помогли.

1 Ответ

5 голосов
/ 28 июня 2011

Это может быть немного поздно для вас, но я просто хотел дать ответ на тот случай, если кто-то другой может его искать.

У меня была похожая проблема, но вместо Сертификата происхождения она была сКоммерческий Счет.Оказывается, эти формы нужно печатать на полной странице размером 8,5 x 11 в формате PDF, поэтому изменение StockType с STOCK_4x6 на PAPER_LETTER исправило его для меня:

From: request.RequestedShipment.ShippingDocumentSpecification.CertificateOfOrigin.DocumentFormat = new ShippingDocumentFormat { StockType = ShippingDocumentStockType.STOCK_4X6, ImageType = ShippingDocumentImageType.PDF, ImageTypeSpecified = true, StockTypeSpecified = true };

To: request.RequestedShipment.ShippingDocumentSpecification.CertificateOfOrigin.DocumentFormat = new ShippingDocumentFormat { StockType = ShippingDocumentStockType.PAPER_LETTER, ImageType = ShippingDocumentImageType.PDF, ImageTypeSpecified = true, StockTypeSpecified = true };

Надеюсь, это поможет

...