Find the answer to your question
Advanced Search Product -Select Product- Trading API Shopping API Merchandising API Large Merchant Services Client Alerts API Feedback API Open eBay Apps Finding API Product Services Sandbox Others MIP Media API Notification API Identity API Charity API Taxonomy API Catalog API Recommendation API Compliance API Logistics API Finances API(Alpha) Negotiation API Listing API Sell Feed API Marketing Ads API Account API Inventory API Fulfillment API Marketing Promotion API Analytics API Metadata API Offer API Marketplace Insights API Deal API Marketing API Feed API Browse API Order API Analytics API Cancellation API Case Management API Inquiry API Return API
Category -Select- Getting Started Sample Code Troubleshooting HowTo's / Best Practices No Value
Language -Select- C# Flex Java JavaScript PHP VB.NET VB6
Format -Select- All XML SOAP JSON Name Value N/A
SDK -Select- .NET Java JavaScript Flax/Flash Mobile - iOS None
Sort by Default Summary New Description Date Updated
Sort order Descending Ascending
Search
Published: October 14 2009, 6:11:00 AM Updated: November 28 2020, 7:46:29 PM
How can I generate Java code stubs against Finding API WSDL using wsimport tool and make Finding API calls?
Summary
This sample uses wsimport tool that ships with JAX-WS to generate Java code stubs and demonstrates how to make Finding API calls.
Detailed Description
Software Requirements:
Generate Java code stub using wsimport tool:
Once you have set up JAW-WS on your machine, go to the {JAX-WS install-dir}/bin directory where you will find the wsimport tool. Open command prompt, change the directory to {JAX-WS install-dir}/bin and enter the following command:
wsimport -extension http://developer.ebay.com/webservices/finding/latest/FindingService.wsdl
This will generate the required Java classes from the WSDL and you should see all the classes in the ./com/ebay/marketplace/search/v1/services directory.
Sample Java class:
/*
© 2009-2013 eBay Inc., All Rights Reserved
Licensed under CDDL 1.0 - http://opensource.org/licenses/cddl1.php
*/
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.handler.MessageContext;
import com.ebay.marketplace.search.v1.services.FindItemsAdvancedRequest;
import com.ebay.marketplace.search.v1.services.FindItemsAdvancedResponse;
import com.ebay.marketplace.search.v1.services.FindingService;
import com.ebay.marketplace.search.v1.services.FindingServicePortType;
import com.ebay.marketplace.search.v1.services.ItemFilter;
import com.ebay.marketplace.search.v1.services.ItemFilterType;
import com.ebay.marketplace.search.v1.services.OutputSelectorType;
import com.ebay.marketplace.search.v1.services.SortOrderType;
public class FindingSample
{
public static void main(String[] args)
{
String strBaseURL = "http://svcs.ebay.com/services/search/FindingService/v1";
FindingService service = new FindingService();
FindingServicePortType port = service.getFindingServiceSOAP12PortHttp();
BindingProvider bp = (BindingProvider) port;
Map<String, Object> requestProperties = bp.getRequestContext();
Map<String, List<String>> httpHeaders = new HashMap<String, List<String>>();
//Set the headers
httpHeaders.put("X-EBAY-SOA-MESSAGE-PROTOCOL", Collections.singletonList("SOAP12"));
httpHeaders.put("X-EBAY-SOA-OPERATION-NAME", Collections.singletonList("findItemsAdvanced"));
//Edit the following line to insert your AppID to set the X-EBAY-SOA-SECURITY-APPNAME correctly
httpHeaders.put("X-EBAY-SOA-SECURITY-APPNAME", Collections.singletonList("YOUR_APP_ID_HERE"));
requestProperties.put(MessageContext.HTTP_REQUEST_HEADERS, httpHeaders);
requestProperties.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, strBaseURL);
FindItemsAdvancedRequest req = new FindItemsAdvancedRequest();
List<OutputSelectorType> opSelector = req.getOutputSelector();
opSelector.add(OutputSelectorType.SELLER_INFO);
ItemFilter objFilter1 = new ItemFilter();
objFilter1.setName(ItemFilterType.AVAILABLE_TO);
objFilter1.getValue().add("US");
ItemFilter objFilter2 = new ItemFilter();
objFilter2.setName(ItemFilterType.LISTING_TYPE);
objFilter2.getValue().add("All");
ItemFilter objFilter3 = new ItemFilter();
objFilter3.setName(ItemFilterType.HIDE_DUPLICATE_ITEMS);
objFilter3.getValue().add("true");
// set the time filters
ItemFilter endtimefromFilter = new ItemFilter();
endtimefromFilter.setName(ItemFilterType.END_TIME_FROM);
List<String> endtimefrom = endtimefromFilter.getValue();
endtimefrom.add("2012-07-010T20:25:11.513Z");
ItemFilter endtimetoFilter = new ItemFilter();
endtimetoFilter.setName(ItemFilterType.END_TIME_TO);
List<String> endtimeto = endtimetoFilter.getValue();
endtimeto.add("2012-07-15T20:25:11.513Z");
List<ItemFilter> itemFilter = req.getItemFilter();
itemFilter.add(objFilter1);
itemFilter.add(objFilter2);
itemFilter.add(objFilter3);
itemFilter.add(endtimefromFilter);
itemFilter.add(endtimetoFilter);
List<String> catID = req.getCategoryId();
catID.add("279");
req.setSortOrder(SortOrderType.END_TIME_SOONEST);
req.setKeywords("Harry Potter");
FindItemsAdvancedResponse res = port.findItemsAdvanced(req);
System.out.println("Search Count: " + res.getSearchResult().getCount());
}
}
Set CLASSPATH and run the code sample:
Please ensure that the following are included in your classpath before you run the above Java code.
Include the jars in the {JAX-WS install-dir}/lib directory
Include the Java stub classes generated by the wsimport tool as instructed in the sample earlier.
Now you can compile FindingSample.java and run the sample.
How well did this answer your question? Answers others found helpful