Skip to main content
Published: March 17 2011, 7:50:00 AMUpdated: November 28 2020, 9:16:40 PM


Here is a sample written using the Java SDK for listing a fixed price item to the US site item using the AddFixedPriceItem call. This sample shows how to specify item specifics as name-value pairs for the listing.


© 2011-2013 eBay Inc., All Rights Reserved
Licensed under CDDL 1.0 -

import com.ebay.sdk.*;
import com.ebay.soap.eBLBaseComponents.*;

public class AppAddFixedPriceItemWithItemSpec {

    private static String USER_TOKEN="YOUR TOKEN";
    public static ApiContext createApiContext() {
        ApiContext apiContext = new ApiContext();
        ApiLogging apiLogging = new ApiLogging();

        CallRetry cr = new CallRetry();
        cr.setDelayTime(1000); // Wait for one second between each retry-call.

        String[] apiErrorCodes = new String[]{"502"};
        // Set trigger exceptions for CallRetry.

        // Build a dummy SdkSoapException so that we can get its Class.
        Class[] tcs = new Class[]{com.ebay.sdk.SdkSoapException.class};

        // set the server url and credentials for Sandbox

        // set API Token to access eBay API Server
        ApiCredential cred = apiContext.getApiCredential();

        // set the site

        return apiContext;

    private static FeesType addFixedItem() throws ApiException, SdkException,
            Exception {

        FeesType fee = null;
        AddFixedPriceItemCall request = new AddFixedPriceItemCall(createApiContext());

        ItemType item = new ItemType();
        item.setTitle("Testing item. Dont bid");
        item.setDescription("Testing item. Dont bid");

        // set the item condition depending on the value from GetCategoryFeatures


        // Track inventory by SKU

        // Specify unique SKU

        // Set Payment Method to PayPal
        BuyerPaymentMethodCodeType[] arrPaymentMethods = new BuyerPaymentMethodCodeType[]{BuyerPaymentMethodCodeType.PAY_PAL};

        // Specify Quantity, Start Price and the eBay category
        CategoryType category = new CategoryType();



       // Add Item Specifics
        NameValueListArrayType itemSpec = new NameValueListArrayType();

        NameValueListType nv1 = new NameValueListType();
        nv1.setValue(new String[]{"GAP"});
        NameValueListType nv2 = new NameValueListType();
        nv2.setValue(new String[]{"Button-Front"});

        NameValueListType nv3 = new NameValueListType();
        nv3.setName("Size Type");
        nv3.setValue(new String[]{"Regular"});

        NameValueListType nv4 = new NameValueListType();
        nv4.setName("Size (Men's)");
        nv4.setValue(new String[]{"M"});

        itemSpec.setNameValueList(new NameValueListType[]{nv1, nv2, nv3});


        // Add pictures
        PictureDetailsType pdt = new PictureDetailsType();
        pdt.setPictureURL(new String[]{""});

        fee = request.addFixedPriceItem();

        return fee;

    private static ReturnPolicyType getReturnPolicy() {
        ReturnPolicyType rp = new ReturnPolicyType();
        rp.setDescription("Return accepted");
        return rp;

    private static ShippingDetailsType getShippingDetails() {
        ShippingDetailsType sd = new ShippingDetailsType();

        ShippingServiceOptionsType st1 = new ShippingServiceOptionsType();

        ShippingServiceOptionsType st2 = new ShippingServiceOptionsType();

        sd.setShippingServiceOptions(new ShippingServiceOptionsType[]{st1,

        return sd;


    private static AmountType getAmount(double amount) {
        AmountType a = new AmountType();
        return a;

    public static void main(String[] args) {

        try {
            FeesType fee = addFixedItem();
        } catch (ApiException e) {
        } catch (SdkException e) {
        } catch (Exception e) {


The generated AddFixedPriceItem SOAP request is attached to this article.

How well did this answer your question?
Answers others found helpful