Notes: The most recent full SDK release is the eBay SDK 549 for .NET Full Release. Point releases, unlike
full releases, do not go through the typical, full rounds of quality assurance. Point releases include bug fixes and updates to the wrapper classes. You can download SDK releases from the eBay SDK for .NET download page.
Please see the most recent version of this Readme file, available at the Windows Developer Center.
Please note that upgrades to an SDK should always be done in a test environment. Additionally, before using a version of the SDK, please read this Readme file. Please also read the Trading API Release Notes (which contain tables showing schema changes that occur every two weeks) for all Trading API versions released after your current version. The Trading API Release Notes are located at the Windows Developer Center.
Starting with the July release, the eBay SDK for .NET will only support Microsoft's .NET Framework 1.1, and .NET Framework 2.0. We will drop support for .NET Framework 1.0, because Microsoft has retired it. We strongly recommend that you update your .NET Framework, if you are still using 1.0.
| Contents |
|---|
| Release Information for the eBay SDK for .NET |
| General Information for the eBay SDK for .NET |
Important: Changes to the Trading API affect the SDK. For example, in schema version 499, deprecated objects in the schema were deleted, creating backward incompatibility. Please see the Trading API Release Notes for ongoing updates to the schema (including occasional removals of schema elements). Please also see Versioning Strategy and Deprecated Objects.
The Attributes Library in the SDK now supports downloading and rendering sitewide characteristic sets. This enables you to include sitewide attributes in listings.
On many sites, you use sitewide attribute sets to fill in an item's Return Policy fields, the Item Condition field, or both. Some categories may support zero, one, or both of these sets (as indicated in each sitewide set's "exclude list").
The changes described here assume you are already familiar with the Attributes Library. (For information about working with the Attributes Library, see The Attributes API.)
In the IAttributesMaster interface and AttributesMaster class, these new methods have been defined:
Also, in the AttributesMaster class, the RenderHtml() method has been overloaded to support rendering Return Policy fields (using eBay's XSL stylesheet). This method checks whether the data is for a return policy, and adds the pageId attribute to the SelectedAttributes node if it is.
Note: In a few cases, the Item Condition attribute may appear twice when you render standard and sitewide data for a category (please inform eBay if this occurs). This occurs when a category is mapped to a standard characteristic set that defines an Item Condition attribute locally, and the category is also mapped to a sitewide Item Condition characteristic set. To avoid unexpected results, the seller should either use the local Item Condition defined in the standard set, or you should make sure the same value is used for both when you list the item.
A few helper methods have been added to or modified in IAttributesXmlProvider and AttributesXmlDownloader:
A few helper methods have also been added to ICategoryCSProvider and CategoryCSDownloader:
Before CategoryCSDownloader downloads sitewide characteristic sets, it checks to see what version of the metadata is already stored locally and compares it to the version on the site. If the version on the site is different, or if the metadata isn't stored locally, it downloads the appropriate metadata from the site and stores it in the local file system. These are the filename conventions (where version is the metadata version, not the request version):
| Sitewide characteristic set mapping (all categories) | site.ALL.version.swcs |
| Sitewide characteristic set mapping (one category) | site.categoryID.version.swcs |
site.categoryID.version.
Here are a few cases that may be helpful when you're testing sitewide attributes in the Sandbox:
For a sample that uses the new functionality in the Attributes library, see C:\Program Files\eBay\SDKInstallDir\Samples\ASP.NET\AttributesDemo and the Readme file for that sample.
The eBay SDK for .NET contains updated wrapper classes, updated test cases, and other updates that facilitate your use of recent features of the API.
For information about the latest API features, please see the Trading API Release Notes and the eBay Trading Web Services section of the Developer Documentation Center.
The Attributes Library now gives you the option to store attribute metadata locally, and only download updates for a site if a newer version exists on the site. Each provider includes one or more Get methods for this purpose. In the downloader classes that implement these provider interfaces, these methods check to see what version of the metadata is already stored locally and compare it to the version on the site. If the version on the site is different, or if the metadata isn't stored locally, these Get methods download the appropriate metadata from the site and store it in the local file system.
These are the filename conventions (where version is the metadata version, not the request version):
| XSL file | site.version.attrxsl |
| Category-to-CS mappings (all categories) | site.ALL.version.catcs |
| Category-to-CS mappings (one category) | site.categoryID.version.catcs |
| Attributes CS (all sets) | site.ALL.version.attrcs |
| Attributes CS (one or more sets) | site.CSIdHashcode.version.attrcs |
For example, if you retrieve a full attribute metadata XML file from the UK site (without specifying a particular CSId), and the attribute system version is 8005, the filename would be: UK.ALL.8005.attrcs.
If you retrieve attribute metadata for one or more CSIds, the downloader creates a hashcode for the set (the sum of the IDs), and uses that value in the filename.
The downloader saves these files in the C:\temp directory.
Important: You can delete these locally stored files, but if you edit or rename them, your application may fail.
Alternatively, each provider includes Download methods to enable you to force a full download of the metadata without checking the version. In the downloader classes, these methods store the metadata in memory only.
For more information about working with the Attributes Library, see The Attributes API. For a sample that uses the new functionality in the Attributes library, see C:\Program Files\eBay\SDKInstallDir\Samples\ASP.NET\AttributesDemo and the Readme file for that sample.
Also note that the following (existing) class and interface definitions have been moved from the AttributesMaster.cs file to individual files in eBay.Service.SDK.Attribute.
The eBay SDK for .NET contains updated wrapper classes, updated test cases, and other updates that facilitate your use of recent features of the API.
For information about the latest API features, please see the Trading API Release Notes and the eBay Trading Web Services section of the Developer Documentation Center.
The following sample (formerly under ...\SDKInstallDir\Samples\C#) has been removed from the SDK: SamplePaymentApplication.
The eBay SDK for .NET no longer is available in the Community Codebase. Instead, it is available on the eBay SDK for .NET download page. The 511 version includes the 511 NDoc.
For information about the latest API features, please see the Trading API Release Notes and the Trading Web Services API Guide at the Windows Developer Center. The Trading Web Services API Guide replaces the eBay SDK for .NET Guide.
Schema version 513 introduced a new XML API call (UploadSiteHostedPictures) for uploading pictures for listings. Availability of this call in the SOAP API is planned for a future date, to be announced. Until this call is available in the SOAP API, no wrapper class will be available for this call in the SDK.
Many deprecated calls and fields were deleted in WSDL version 499. Due to the large number of deletions, SDK Version 511 is not backward compatible.
You can use two new helper classes (in ...\SDKInstallDir\Source\eBay.Service.SDK\Util) for storing the data returned by GetCategoryFeaturesCall and GeteBayDetailsCall.
The sample titled SampleSellingApplication (in ...\SDKInstallDir\Samples\C#\SampleSellingApplication) is not compatible with this SDK version.
The following samples (formerly under ...\SDKInstallDir\Samples\C#) have been removed from the SDK: AttributeBulkEditorControl and AttributeBulkEditorDemo.
Due to a large number of deletions from version 499 of the schema, SDK version 503 is not backward compatible. Deprecated calls and fields were deleted on schema version 499.
For information about SDK changes, please see the NDoc installed in the C:\Program Files\eBay\SDKInstallDir\docs\LibRef folder. Additional information about schema deletions is in the Deprecated Objects page in the Input/Output Reference. Please also read the eBay Schema Versioning Strategy page.
This SDK point release contains updated wrapper classes and other updates that facilitate your use of new API features. The following features, described in the Trading API Release Notes, are among the API features included in this SDK release:
In the Shipping Discount Profiles feature, changes to WSDL elements were made on API version 505. To use the Shipping Discount Profiles feature, please update your SDK to WSDL version 505 or later.
The GetDefaultCurrencyCodeType method of the CurrencyUtility class has been updated to return currencies for newer eBay sites.
The eBay SDK for .NET contains updated wrapper classes, updated test cases, and other updates that facilitate your use of recent features of the API.
The GetMyeBayCall wrapper class has been removed from the SDK due to deprecation of the underlying request/response elements in the schema. For more information about deprecated elements, please see the Versioning Strategy and Versioning Summary. Additionally, the GetMyeBay code has been removed from sample code.
The PictureDetails field replaced the SiteHostedPicture and VendorHostedPicture fields in the API. Therefore, references in sample code to SiteHostedPicture and VendorHostedPicture have been removed from the SDK. For information about when the PictureDetails field replaced the SiteHostedPicture and VendorHostedPicture fields, please see the Versioning Summary.
Four dialog boxes, including dialog boxes for use of GetCartCall and SetCartCall, have been added to the SoapApiDemo sample (C:\Program Files\eBay\SDKInstallDir\Samples\C#\SoapApiDemo).
The multi-call test programs delivered with the SDK have been consolidated. They require only a single compilation after you have opened TestScenarios.sln in C:\Program Files\eBay\SDKInstallDir\Source\SanityTest\TestScenarios. Additionally, they use only one Account Settings dialog box.
Multi-call test programs for adding orders and for retrieving shipping information have been added to the SDK. To run the test programs, use TestScenarios.sln in C:\Program Files\eBay\SDKInstallDir\Source\SanityTest\TestScenarios.
The GetCharitiesCall wrapper class can be used without any call-specific input fields in order to retrieve all charity nonprofit organizations. Formerly, at least one call-specific input field was required in the wrapper class.
You can use the new ExceptionFilter class to specify several types of logging. You can specify logging in cases of specific API errors and HTTP status codes. You also can specify logging in general cases of API exceptions and HTTP exceptions. The new logging feature makes logging more useful and reduces the size of your logs.
The FrmMain.cs file in the SOAPApiDemo sample (at C:\Program Files\eBay\SDKInstallDir\Samples\C#\SoapApiDemo) shows one way to use the new ExceptionFilter class. To use the new logging feature for a program, you can add values from C:\Program Files\eBay\SDKInstallDir\Source\Helper\AppSettingHelper.cs to the app.config file for the program. To see an example of how to log only calls resulting in HTTP status codes 404 and 502, add the following line to the app.config file of SoapApiDemo (case insensitive):
<add key="LogPayloadHttpStatusCodes" value="404;502"/>To see an example of how to log only calls resulting in error codes 17 and 124, add the following line to the app.config file of SoapApiDemo:
<add key="LogPayloadErrorCodes" value="17;124"/>To see an example of how to log only calls resulting generally in API exceptions, add the following line to the app.config file of SoapApiDemo:
<add key="LogPayloadExceptions" value="ApiException"/>To see an example of how to log only calls resulting generally in HTTP exceptions, add the following line to the app.config file of SoapApiDemo:
<add key="LogPayloadExceptions" value="HttpException"/>To see an example of how to log only calls resulting generally in API and HTTP exceptions, add the following line to the app.config file of SoapApiDemo:
<add key="LogPayloadExceptions" value="ApiException;HttpException"/>
Enhancements to core SDK files can help you determine the time needed for each phase of a SOAP API call (client-side phases for encoding and decoding, network-transport phases, and server-side phase).
For an example of how to use the enhancements, see the MultiThread sample (C:\Program Files\eBay\SDKInstallDir\Samples\C#\MultiThread).
Multi-call test programs for leaving feedback and getting item transactions have been added to the SDK.
To run the test programs, use the following solution file: C:\Program Files\eBay\SDKInstallDir\Source\SanityTest\testscenarios\SanityTestScenarios.sln.
The folders of the new programs are in the following folder: C:\Program Files\eBay\SDKInstallDir\Source\SanityTest\testscenarios. The new program that shows one way to test LeaveFeedbackCall is in the SanityTestSNR2 folder. The new program that shows one way to test GetItemTransactionsCall is in the SanityTestSNR3 folder.
AddMemberMessage was removed from the WSDL on version 481. As previously announced, this call has been replaced by AddMemberMessageAAQToPartner, AddMemberMessageRTQ, and AddMemberMessagesAAQToBidder. For information about schema changes, please see the Trading API Release Notes (which contain tables showing the schema changes that occur every two weeks) at the Developer Documentation Center.
The validation rule logic in the Attributes Library (C:\Program Files\eBay\SDKInstallDir\Source\eBay.Service.SDK.Attribute) has been updated to match the current site logic. For information about updates to the Attributes Library, see Attributes Library Notes. The next release of the Trading API documentation will be updated to reflect the same changes.
The reliability of the Sanity Test suite (under the Source\SanityTest folder) has been improved. You can use the Sanity Test suite for simple testing after you change code in the SDK.
The eBay SDK for .NET contains wrapper classes and other updates that facilitate your use of recent features of the API.
The eBay SDK for .NET no longer includes the database sample. In past releases, the database sample was installed at the following location: C:\Program Files\eBay\SDKInstallDir\Samples\C#\DatabaseSample. Additionally, references in other samples to the database sample have been removed. However, the compiled version of the database sample, eBay.Service.SDK.Integration.dll, is available in the following location: C:\Program Files\eBay\SDKInstallDir\eBay.Service.SDK.Integration.dll. In pre-459 releases, the database sample files were referred to as the "integration library." Please note that if you regenerate eBay.snk and then rebuild ebay.Service.dll, errors can occur if you compile and run a sample that depends on the database sample.
Commands in C:\Program Files\eBay\SDKInstallDir\RegSDK.bat for registering eBay.Service.SDK.Integration.dll and AttributeBulkEditBox.dll have been moved to C:\Program Files\eBay\SDKInstallDir\Samples\C#\RegSDKSample.bat.
A multi-call test program demonstrates a scenario that uses 8 different API calls involving data of a single item listing. To run the multi-call test program, use the following solution file: C:\Program Files\eBay\SDKInstallDir\Source\SanityTest\testscenarios\SanityTestScenarios.sln.
You can use updates to the CallRetry and ApiException classes to detect HTTP errors and subsequently perform call retry. Specifically, you can implement call retry in response to 502 HTTP errors, 404 HTTP errors, and related HTTP errors from a web server. In the SoapApiDemo sample, at C:\Program Files\eBay\SDKInstallDir\Samples\C#\SoapApiDemo, updates to FrmGetItem.cs, including a GetCallRetry method, show one way to use the new functionality of the CallRetry class.
The StoresFixedPrice tag, currently available for international sites, will soon be obsolete. The 471 API schema released in late July contained additions to ItemTypeFilterCodeType that apply to searches with GetSearchResults and GetCategoryListings. The additions to ItemTypeFilterCodeType must be used instead of the StoresFixedPrice tag. For more information, please see the Trading API Release Notes (which contain tables showing schema changes that occur every two weeks) at the Developer Documentation Center.
The following wrapper classes now store images in a PictureDetails container, by default: AddItemCall, VerifyAddItemCall, RelistItemCall, and AddLiveAuctionItemCall. Formerly, a SiteHostedPicture container was used. If you want your application to continue using a SiteHostedPicture container, set the UseDeprecatedPictureStructure property of the wrapper class to true. Note that SiteHostedPicture is deprecated. Applications eventually will have to use PictureDetails because with API version 439 and higher, PictureDetails is used for pictures associated with an item.
The following properties are added to the TimeFilter class: TimeFilter.TimeFromUTC and TimeFilter.TimeToUTC. For more information, see Note About Time Values.
An exception resulting from an invalid codetype value now includes the text of the specific value that caused the exception.
The name of the integration library has been changed to "Database Sample." The name change includes a change to the name of the folder containing the sample; the name of the eBay.Service.SDK.Integration folder has been changed to DatabaseSample. The sample is meant solely to show one way to store and access eBay data.
Please see the Past Releases section of the Release Notes in the following GZ file: eBayDotNETSDKAPIAllDocs459.tar.gz.
The WSDL is located at http://developer.ebay.com/webservices/Version/ebaySvc.wsdl.
Version in the URL means latest or it means a numerical version of a WSDL release (see the top of the particular WSDL file).
In the case of Version meaning latest, the WSDL is the latest released version (http://developer.ebay.com/webservices/latest/ebaySvc.wsdl). If Version in the URL means a numerical version of the WSDL, Version is a number (for example, http://developer.ebay.com/webservices/445/ebaySvc.wsdl).
Hypothetically, if the latest release of the WSDL were 449, you would find that WSDL version at both http://developer.ebay.com/webservices/latest/ebaySvc.wsdl and at http://developer.ebay.com/webservices/449/ebaySvc.wsdl.
eBay has tested the eBay SDK for .NET using the following client environments:
Samples are available in the following folder: C:\Program Files\eBay\SDKInstallDir\Samples.
To view samples in the C:\Program Files\eBay\SDKInstallDir\Samples\C# folder, use the C:\Program Files\eBay\SDKInstallDir\Samples\C#\CSharp Samples.sln solution.
The SoapApiDemo sample utilizes many of the wrapper classes in the SDK. For more information, see C:\Program Files\eBay\SDKInstallDir\Samples\C#\SoapApiDemo\Readme.htm.
All files under the C:\Program Files\eBay\SDKInstallDir\Samples folder are samples; they are meant solely to show one way to store and access eBay data.
With the eBay SDK 479 for .NET Full Release, the validation rule logic in the Attributes Library (C:\Program Files\eBay\SDKInstallDir\Source\eBay.Service.SDK.Attribute) has been updated to match the current site logic, as follows:
The following can occur with an application based on the SDK: A local time (for example, 10 a.m.) is emitted by an application, and the API will change that time to GMT (for example, to 5 p.m.). And a GMT time from the API (for example, 1 p.m.) received by an application will be converted to local time (for example, to 6 a.m.). For this reason, in conjunction with release of eBay SDK 465 for .NET, the following properties are added to the TimeFilter class: TimeFilter.TimeFromUTC and TimeFilter.TimeToUTC. For more information, see the topic for this class in the Library Reference (NDoc) at C:\Program Files\eBay\SDKInstallDir\docs\LibRef. Additional information is available in the following two MSDN Library topics:
© 2005 - 2008 eBay Inc. All rights reserved.