com.ebay.app.pres.service.hosting.WebServiceDisabledException:Web服务eBayAPI未正确配置或未找到并被禁用

时间:2014-12-22 14:18:23

标签: c# asp.net-mvc-4 ebay-api

我正在使用eBay API在我的ASP.NET MVC4应用程序中调用GetSessionId方法。 但是我收到了这个错误

com.ebay.app.pres.service.hosting.WebServiceDisabledException:未正确配置或未找到Web服务eBayAPI并将其禁用。

我的代码在这里......

[HttpPost]
    public ActionResult f()
    {
        string endpointURL5 = _apiUrl + "?callname = GetSessionID" +
                         "&siteid = " + "0" +
                         "&appid = " + _appId +
                         "&version = " + "768" +
                         "&routing = default";
        eBayAPIInterfaceClient service = new eBayAPIInterfaceClient();

        System.ServiceModel.EndpointAddress address1 = new System.ServiceModel.EndpointAddress(endpointURL5);
        service.Endpoint.Address = address1;
        string version1 = "768";
        GetSessionIDRequestType gs = new GetSessionIDRequestType();
        gs.RuName = _ruName;
        gs.Version = version1;


        CustomSecurityHeaderType cred = new CustomSecurityHeaderType();
        UserIdPasswordType cr = new UserIdPasswordType();
        //cr.Username = "esandbox10539";
        //cr.Password = "nomistakes";
        cr.AppId = _appId;
        cr.AuthCert = _authCert;
        cr.DevId = _devId;
        cred.Credentials = cr;

        GetSessionIDResponseType sessionID = service.GetSessionID(ref cred, gs);
        Session["sessionID"] = (sessionID.Any.GetValue(0) as XmlElement).InnerXml;

        r.Data = _signInUrl + "?SignIn&runame=" + gs.RuName + "&SessID=" + Server.UrlEncode(Session["sessionID"].ToString());
        return Json(r, JsonRequestBehavior.AllowGet);
    }

7个月前工作正常。但现在我收到了这个错误 我已经检查了凭证,但凭据是完美的。我的_apiUrl是' https://api.ebay.com/wsapi'

感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

这是用于检查您的身份验证令牌是否有效的PHP代码。对不起,我是一名PHP开发人员,所以对ASP

了解不多
$feed = <<< EOD
<?xml version="1.0" encoding="utf-8"?>
<GetTokenStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>$this->auth_token</eBayAuthToken>
</RequesterCredentials>
<ErrorLanguage>en_GB</ErrorLanguage>
<MessageID>$messageID</MessageID>
<Version>$this->api_version</Version>
<WarningLevel>High</WarningLevel>
</GetTokenStatusRequest>​
EOD;

$feed = trim($feed);
        $site_id = 3;//3 For UK
        $headers = array
            (
            'X-EBAY-API-COMPATIBILITY-LEVEL: ' . $this->api_version,
            'X-EBAY-API-DEV-NAME: ' . $this->dev_id,
            'X-EBAY-API-APP-NAME: ' . $this->app_id,
            'X-EBAY-API-CERT-NAME: ' . $this->cert_id,
            'X-EBAY-API-CALL-NAME: ' . $call_name,
            'X-EBAY-API-SITEID: ' . $site_id,
        );

        // Send request to eBay and load response in $response
        $connection = curl_init();
        curl_setopt($connection, CURLOPT_URL, 'https://api.ebay.com/ws/api.dll');
        curl_setopt($connection, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($connection, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($connection, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($connection, CURLOPT_POST, 1);
        curl_setopt($connection, CURLOPT_POSTFIELDS, $feed);
        curl_setopt($connection, CURLOPT_RETURNTRANSFER, 1);
        $response = curl_exec($connection);
        curl_close($connection);