gpt4 book ai didi

java - 通过 API 将 eBay 订单标记为发货人返回 'GetSellerTransactionsResponseType incompatible with CompleteSaleResponseType' 错误

转载 作者:行者123 更新时间:2023-12-01 05:13:17 26 4
gpt4 key购买 nike

我需要将 eBay 订单标记为通过 eBay API 发货。

有一个方法:

public void ShippEbayOrder(EbayOrder ebayOrder)
{
string Developer = WebConfigurationManager.AppSettings["EbayProductionDevID"];
string Application = WebConfigurationManager.AppSettings["EbayProductionAppID"];
string Certificate = WebConfigurationManager.AppSettings["EbayProductionCertID"];
string eBayToken = WebConfigurationManager.AppSettings["EbayProductionUserToken"];
string SoapApiServerUrl = WebConfigurationManager.AppSettings["EbayProductionApiServerUrl"];
string SignInUrl = WebConfigurationManager.AppSettings["EbayProductionSignInUrl"];
string EPSServerUrl = WebConfigurationManager.AppSettings["EbayProductionEPSUrl"];

var ebayService = GetebayService();

CompleteSaleRequestType completeSaleRequestType = new CompleteSaleRequestType();
completeSaleRequestType.Version = version;

if (ebayOrder.ContainsOrderType == EbayOrder.OrderType.Transaction)
{
completeSaleRequestType.TransactionID = ebayOrder.SourceOrderId;
completeSaleRequestType.ItemID = ebayOrder.ItemsInfo[0].SourceItemId;
}
else
completeSaleRequestType.OrderID = ebayOrder.SourceOrderId;

completeSaleRequestType.Shipped = true;
completeSaleRequestType.ShippedSpecified = true;
CompleteSaleResponseType completeSaleResponseType = ebayService.CompleteSale(completeSaleRequestType);

但是当代码调用CompleteSale方法时,它会抛出异常:

java.lang.ClassCastException: com.ebay.domain.apisoap.pres.service.hosting.soap.basecomponents.GetSellerTransactionsResponseType incompatible with com.ebay.domain.apisoap.pres.service.hosting.soap.basecomponents.CompleteSaleResponseType

谁能帮助我?谢谢!

最佳答案

正确的代码和方法应该是:

public void ShippEbayOrder(EbayOrder ebayOrder)
{
string Developer = WebConfigurationManager.AppSettings["EbayProductionDevID"];
string Application = WebConfigurationManager.AppSettings["EbayProductionAppID"];
string Certificate = WebConfigurationManager.AppSettings["EbayProductionCertID"];
string eBayToken = WebConfigurationManager.AppSettings["EbayProductionUserToken"];
string SoapApiServerUrl = WebConfigurationManager.AppSettings["EbayProductionApiServerUrl"];
string SignInUrl = WebConfigurationManager.AppSettings["EbayProductionSignInUrl"];
string EPSServerUrl = WebConfigurationManager.AppSettings["EbayProductionEPSUrl"];

var ebayService = new eBayAPIInterfaceService();

string version = "551";
string requestUrl = SoapApiServerUrl + "?callname=CompleteSale&siteid=0"
+ "&appid=" + Application + "&version=" + version + "&routing=default";
ebayService.Url = requestUrl;
ebayService.RequesterCredentials = new CustomSecurityHeaderType();
ebayService.RequesterCredentials.Credentials = new UserIdPasswordType();
ebayService.RequesterCredentials.Credentials.AppId = Application;
ebayService.RequesterCredentials.Credentials.DevId = Developer;
ebayService.RequesterCredentials.Credentials.AuthCert = Certificate;
ebayService.RequesterCredentials.eBayAuthToken = eBayToken;

CompleteSaleRequestType completeSaleRequestType = new CompleteSaleRequestType();
completeSaleRequestType.Version = version;

if (ebayOrder.ContainsOrderType == EbayOrder.OrderType.Transaction)
{
completeSaleRequestType.TransactionID = ebayOrder.SourceOrderId;
completeSaleRequestType.ItemID = ebayOrder.ItemsInfo[0].SourceItemId;
}
else
completeSaleRequestType.OrderID = ebayOrder.SourceOrderId;

completeSaleRequestType.Shipped = true;
completeSaleRequestType.ShippedSpecified = true;
CompleteSaleResponseType completeSaleResponseType = ebayService.CompleteSale(completeSaleRequestType);
}

关于java - 通过 API 将 eBay 订单标记为发货人返回 'GetSellerTransactionsResponseType incompatible with CompleteSaleResponseType' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11720976/

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