1 / 38

03-60-569 Project

03-60-569 Project. Global Book retailer Titas Mutsuddy Quazi Rahman. Outline. Introduction. Service integration. Screen shots of project. Difficulties faced. Conclusion. Introduction. Project Description:

kalkin
Download Presentation

03-60-569 Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 03-60-569 Project Global Book retailer Titas Mutsuddy Quazi Rahman

  2. Outline • Introduction. • Service integration. • Screen shots of project. • Difficulties faced. • Conclusion.

  3. Introduction Project Description: Integration of Amazon web service, eBay web service to find out cheap books and convert price to other currencies.

  4. Web services • Amazon Web Service. • eBay Web service. • Currency Converter (XMathods).

  5. Tools used • Axis 1.4 (switched from Axis2). • WSDL2Java • JAX-RPC • Tomcat 5.5 • J2sdk1.5 • Jsp • Servlet • Java Bean

  6. Class Diagram

  7. Screen Shots

  8. Screen Shots

  9. Screen Shots

  10. Screen Shots

  11. Screen Shots

  12. Screen Shots

  13. Screen Shots

  14. Screen Shots

  15. Screen shots

  16. Screen Shots

  17. Screen Shots

  18. Difficulties faced • Installation of Axis(2.0/1.4). • Class path setup. • Set up jar files in to lib. • Amazon web service call. • Set up keys for service call. • Soap message call.

  19. Difficulties faced eBay web service call: Soap API . eBay Java SDK (XML based RPC). System development: SandBox development environment. Production development environment.

  20. Difficulties faced • Difficulties with eBay:- • eBay active auction is so volatile that most of the time auction ended before debugging of codes. • eBay API manual is not friendly for new developers. • eBay uses their own “ItemID” for each item in active auction. • I Failed Item Specific search in eBay. Succeeded on category search. • Parsed whole category response xml to pick up item by “Title”. • Most of the time Amazon and eBay book title are not same. • Tried to find out possible pattern to split the titles to extract the name.

  21. Difficulties faced eBay web service:- • Authentication failure: <?xml version="1.0" encoding="UTF-8"?> <eBay><EBayTime>2007-03-10 15:46:37</EBayTime><Errors><Error><Code>16112</Code> <SeverityCode>1</SeverityCode> <Severity>SeriousError</Severity> <Line>0</Line><Column>0</Column> <ErrorClass>RequestError</ErrorClass> <ShortMessage><![CDATA[Invalid authentication method.]]></ShortMessage><LongMessage><![CDATA[The authentication method you are using is invalid. Please use the eBay Authentication & Authorization method.]]></LongMessage></Error></Errors></eBay>

  22. Difficulties faced • eBay web service “The velocity (rate of change) of eBay is notoriously fast. As anyone who has used eBay knows, things constantly change, and there is a fundamental release every 2 weeks. There are supporters and non-supporters of this, but it's something we all have to live with at this time, both eBay users and eBay employees…..” Best Regards,Amish PateleBay Developer Support

  23. Difficulties faced GetItemRequest fails <?xml version="1.0" encoding="utf-8"?> <GetItemRequest xmlns="urn:ebay:apis:eBLBaseComponents"> <DetailLevel>ItemReturnAttributes</DetailLevel> <RequesterCredentials> <eBayAuthToken>MY TOKEN </eBayAuthToken> </RequesterCredentials> <ItemID>517203014</ItemID> </GetItemRequest>

  24. Difficulties faced <?xml version="1.0" encoding="UTF-8"?> <GetItemResponse xmlns="urn:ebay:apis:eBLBaseComponents"> <Timestamp>2007-03-12T1 7:17:47.171Z</Timestamp> <Ack>Failure</Ack> <Errors> <ShortMessage>Item not found.</ShortMessage> <LongMessage>Item &quot;517203014&quot; is invalid, not activated,or no longer in our database, or an Live Auction item.</LongMessage> <ErrorCode>17</ErrorCode> <SeverityCode>Error</SeverityCode> <ErrorParameters ParamID="0"> <Value>517203014</Value> </ErrorParameters> <ErrorClassification>RequestError</ErrorClassification> </Errors> <Version>503</Version><Build>e503_core_Bundled_4329350_R1</Build> </GetItemResponse>

  25. Difficulties faced zhuowei.developersupport@ebay.comPosts: 938 Member Since: 10/20/05 Re: GetItemRequest fails Posted: Mar 14, 2007 4:40 PM  Reply Hi titasmutsuddy,You need to specify an eBay ItemID but ISBN # in your GetItem API request. You can get the item number in either your item's View Item or the seller's My eBay Selling page. Best Regards,Zhuowei YangeBay Developer Support

  26. Difficulties faced <?xml version="1.0" encoding="UTF-8"?> <GetItemResponse xmlns="urn:ebay:apis:eBLBaseComponents"> <Timestamp>2007-03-14T0 3:22:17.302Z</Timestamp> <Ack>Failure</Ack> <Errors> <ShortMessage>Item not found.</ShortMessage> <LongMessage>Item &quot;130094932808&quot; is invalid, not activated, or no longer in our database, or an Live Auction item.</LongMessage> <ErrorCode>17</ErrorCode> <SeverityCode>Error</SeverityCode> <ErrorParameters ParamID="0"> <Value>130094932808</Value> </ErrorParameters> <ErrorClassification>RequestError</ErrorClassification> </Errors> <Version>503</Version> <Build>e503_core_Bundled_4329350_R1</Build> </GetItemResponse>

  27. Difficulties faced GetSearchResultRequest:- <?xml version='1.0' encoding='utf-8'?>\r\n"+ <GetSearchResultsRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\"> <ExternalProductID> <Value>0876295340</Value> <Type>ISBN</Type> </ExternalProductID> <Pagination> <EntriesPerPage>2</EntriesPerPage> <PageNumber>1</PageNumber> </Pagination> <RequesterCredentials> <eBayAuthToken>token</eBayAuthToken> </RequesterCredentials> </GetSearchResultsRequest>

  28. Difficulties faced GetSearchResultResponse:- <?xml version="1.0" encoding="UTF-8"?> <GetSearchResultsResponse xmlns="urn:ebay:apis:eBLBaseComponents"> <Timestamp>2007-03-14T19:13:08.706Z</Timestamp> <Ack>Success</Ack> <Version>503</Version> <Build>e503_core_Bundled_4329350_R1</Build> <ItemsPerPage>100</ItemsPerPage> <PageNumber>1</PageNumber> <HasMoreItems>false</HasMoreItems> <PaginationResult> <TotalNumberOfPages>1</TotalNumberOfPages> <TotalNumberOfEntries>0</TotalNumberOfEntries> </PaginationResult> <CategoryArray/> </GetSearchResultsResponse>

  29. Difficulties faced Error:- Content not allowed in prolog [Fatal Error] request.xml:1:41: Content is not allowed in prolog. Error Sending Request: org.xml.sax.SAXParseException: Content is not allowed in prolog. org.xml.sax.SAXParseException: Content is not allowed in prolog. at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:172) at GetSearchResults.SendRequest(GetSearchResults.java:220) at GetSearchResults.main(GetSearchResults.java:91)

  30. Difficulties faced

  31. Difficulties faced titasmutsuddyPosts: 4 Member Since: 3/13/07 PKIX path building failed Posted: Mar 14, 2007 9:38 PM  ReplyHi,I am getting a strange error. I didn't get it 4-hours ago. It is like the following:-SendRequest IO Error:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:150)at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1518)at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:174)at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:168)and so on------Note that I am using the jre1.5.0_11 and checked for latest version and there is none.I will be pleased if you give any suggestions.Regards,Titas Mutsuddy

  32. Difficulties faced Response:- javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed I think Sun changed the default TrustManagerFactory from SunX509 to SunPKIX sometime during the 1.5.0 update cycle. grep ManagerFactory $JAVA_HOME/jre/lib/security/java.security You should be able to override these with system properties.

  33. Difficulties faced Default:- ssl.KeyManagerFactory.algorithm=SunX509 ssl.TrustManagerFactory.algorithm=PKIX OverWritten in the following properties file:- D:\Sun\AppServer\jdk\jre\lib\security\java.security(properties file):- ssl.KeyManagerFactory.algorithm=PKIX ssl.TrustManagerFactory.algorithm=PKIX

  34. Difficulties faced caradtesterPosts: 1 Member Since: 3/10/06 Re: PKIX path building failed Posted: Mar 14, 2007 11:48 PM  ReplyYour JDK is probably missing one of the CA-certs in the path for https://api.sandbox.ebay.comIt seems sandbox may have updated the SSL certificate within the last 24 hours. Hopefully there will be an official update soon.Meanwhile.... you might try this (assuming windows platform):1. In IE, connect to https://api.sandbox.ebay.com2. Go to Tools > Internet Options > Content > Certificates > Intermediate Certification Authorities [or "Trusted Root Certification Authorities"]3. Choose "VeriSign Class 3 Secure Server CA" (I assume this is the certificate that is missing... you can confirm by comparing thumbprints to what is in your keystore)4. Click "Export...", then "Next>"5. Select "DER encoded binary X.509 (.CER)"6. Name the file c:\temp\verisignsecureserver.cer7. Select "Finish"8. \j2sdk1.4.2_08\bin\keytool -keystore \j2sdk1.4.2_08\jre\lib\security\cacerts -import -alias verisignsecureserver -file c:\temp\verisignsecureserver.cer -trustcacerts9. del c:\temp\verisignsecureserver.cerNote that you must have a full JDK installed (not just the JRE) to have access. The default password for the JDK keystore is well-known: changeitPlease post feedback if this worked for you or not.

  35. Difficulties faced GetSearchResultRequest (Category search succeeded):- <?xml version='1.0' encoding='utf-8'?> < GetSearchResultRequest xmlns="urn:ebay:apis:eBLBaseComponents"> <RequesterCredentials> <eBayAuthToken>token </eBayAuthToken> </RequesterCredentials> <ErrorLevel>1</ErrorLevel> <Query>books</Query> <MaxResults>2</MaxResults> <SiteId>0</SiteId> </GetSearchResultRequest>

  36. Conclusion • Rate of change of eBay is notoriously fast. • Failed “Item specific” search in eBay web service. • eBay XML based Java API is difficult to handle. • eBay introduced SOAP based API in mid-2004 and still eBay platform is undergoing significant transition to SOAP.

  37. Future extension • Item wise search for eBay. • Integrate other available book retailers web service. • Try to create the Shopping Cart (Most difficult part of the project).

  38. Questions ?

More Related