【问题标题】:Problems with WCF service. Service failed to invokeWCF 服务的问题。服务调用失败
【发布时间】:2015-09-15 09:17:19
【问题描述】:

我正在创建 WCF 服务,但是当我调用我创建的服务时遇到了一些问题。这是来自服务的代码。

public void CreateTradeItemWithExtensions(string gtin, string targetMarketCountryCode, string effectiveDate, string publicationDate, string lastChangedDateTime, string tradeItemUnitDescriptor, string brandName, bool isTradeItemBaseUnit, string descriptionLanguage, string functionalName, string shortDecription, int gPC, string articleNumber, bool isTradeItemAConsumerUnit, bool isTradeItemADespatchUnit, bool isTradeItemAnOrderableUnit, bool isTradeItemAnInvoiceUnit, string startAvailability, bool isPackagingMarkedReturnable, string packagingTypeCode, bool isBarCodeOnPackageVariableMeasureBarCode, decimal netContent, decimal height, decimal grossWeight, decimal width, decimal depth, decimal netWeight, string isDangerousSubstance, string barCodeType, bool isPriceOnPack, string classComplianceRegulationCode, string consumerSafteyInformation, string doesTradeItemHaveAutoReaderTracker, bool isProductCustomizable, string isTradeItemACombinationItem, bool isTradeItemANonFunctioningDisplayUnit, bool isTradeItemRecalled, string primaryDistributionMethodCode, string rFIDTaggedCode, string serialNumberLocationCode, string tradeItemConditionTypeCode, string tradeItemCountryOfAssembly, string tradeItemCountryOfOrigin, string tradeItemOperatingEnvionment, bool isTradeItemAVariableUnit, int tradeItemId)
    {
        //Creating the basic trade item
        CreateTradeBasicItem(barCodeType, classComplianceRegulationCode, consumerSafteyInformation, doesTradeItemHaveAutoReaderTracker, isBarCodeOnPackageVariableMeasureBarCode, isProductCustomizable, isTradeItemACombinationItem, isTradeItemANonFunctioningDisplayUnit, isTradeItemRecalled, primaryDistributionMethodCode, rFIDTaggedCode, serialNumberLocationCode, tradeItemConditionTypeCode, tradeItemCountryOfAssembly, tradeItemCountryOfOrigin, tradeItemOperatingEnvionment, tradeItemUnitDescriptor);

        //Creating a GTIN for a trade item
        CreateTradeItemIdentification(gtin);
        //Adding a GTIN to a trade item
        AddTradeItemIdentificationOnTradeItem(tradeItemId, GetNewestTradeItemIdentificationId());

        //Creating a targetmarket for a trade item
        CreateBasicTargetMarket(targetMarketCountryCode);
        //Adding targetmarket to a trade item
        AddTargetMarketOnTradeItem(GetNewestTargetMarketId(), tradeItemId);

        //Creating basic dates for trade item
        CreateTradeItemDateBasicDates(effectiveDate, publicationDate, lastChangedDateTime, startAvailability);
        //Adding basic dates to a trade item
        AddTradeItemDateInformationsOnTradeItem(tradeItemId, GetNewestTradeItemDateInformationId());

        //Adding brand owner (GLN) on trade item
        AddBrandOwnerOfTradeItemOnTradeItem(1, tradeItemId);

        //Creating Trade item basic description information
        CreateBasicDescription(brandName, shortDecription, functionalName, descriptionLanguage);
        //Adding brand name to a trade item
        AddTradeItemDescriptionInformationOnTradeItem(GetNewestTradeItemDescriptionInformationId(), tradeItemId);

        //Creating basic unit indicator
        CreateTradeItemBasicUnitIndicator(isTradeItemBaseUnit, isTradeItemAConsumerUnit, isTradeItemADespatchUnit, isTradeItemAnOrderableUnit, isTradeItemAnInvoiceUnit, isTradeItemAVariableUnit);
        //Adding basic unit indicator to trade item
        AddTradeItemUnitIndicator(GetNewestTradeItemUnitIndicatorId(), tradeItemId);

        //Creating GPC on trade item
        CreateGPCOnTradeItem(gPC);
        //Adding GPC to trade item
        AddGDSNTradeItemClassificationOnTradeItem(tradeItemId, GetNewestGPCId());

        //Creating Additional Trade Item Identification Value
        CreateSupplierArticleNumber(articleNumber);
        //Adding article number to GPC
        AddClassificationCategoryOnGDSNTradeItemClassification(GetNewestGPCId(), GetNewestClassificationCategoryId());

        //Creating Trade item basic marking
        CreateBasicPackagingMarking(isPackagingMarkedReturnable, isPriceOnPack);
        //Adding trade item basic marking to trade item
        AddPackagingMarkingToTradeItem(tradeItemId, GetNewestTradeItemMarking());

        //Creating Trade item basic packagin type
        CreateBasicPackagingType(packagingTypeCode);
        //Adding Trade item basic packagin item to trade item
        AddPackagingTypeToTradeItem(tradeItemId, GetNewestPackagingTypeId());

        //Creating Trade item basic measurements
        CreateBasicTradeItemMeasurements(depth, height, width, grossWeight, netWeight, netContent);
        //Adding measurements to trade item
        AddTradeItemMeasurementsOnTradeItem(tradeItemId, GetNewestTradeItemMeasurementsId());

        //Creating Basic Dangerous Substance Information 
        CreateBasicDangerousSubstanceInformation(isDangerousSubstance);
        //Adding danger sub to trade item
        AddDangerousSubstanceInformationOnTradeItem(GetNewestDangerousSubstanceInformationId(), tradeItemId);

    }

我正在使用 WCF 测试客户端来测试服务。但是当我运行服务并调用它时,我得到了这个错误。

调用服务失败。可能原因:服务离线 或无法访问;客户端配置不匹配 代理;现有代理无效。请参阅堆栈跟踪 更多详情。您可以尝试通过启动新代理来恢复,恢复 到默认配置,或者刷新服务。

我是“WCF 世界”的新手,所以我不知道如何处理这个错误。我目前正在使用 wcf 创建的自动生成的 webconfig 文件。我不知道这是否与它有关。我希望你们中的一些人可以帮助我提供其他信息,如果您需要更多回答,我会尝试发布。谢谢!

【问题讨论】:

    标签: c# wcf


    【解决方案1】:

    我自己解决了这个问题。我需要在 webconfig 文件中创建一个新端点

    <services>
          <service name="EPSystem.TradeItemService">
            <endpoint address="ITradeItemService.svc" binding="basicHttpBinding" contract="EPSystem.ITradeItemService" />
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
          </service>
        </services>
    

    然后我需要更改我正在调用的一些方法。但基本问题是我的端点无法正常工作。我所做的可以在上面看到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多