CWIC Development Team Archie Warnock CWIC Development Team Workshop, Greenbelt, MD 28-30 January 2014.

Slides:



Advertisements
Similar presentations
Chapter 6 Server-side Programming: Java Servlets
Advertisements

CWIC Development Team Yuanzheng Shao Lingjun Kang Archie Warnock
Automated Testing and Response Analysis of Web Services
CSCI 6962: Server-side Design and Programming Input Validation and Error Handling.
XML in the real world (2) SOAP. What is SOAP? ► SOAP stands for Simple Object Access Protocol ► SOAP is a communication protocol ► SOAP is for communication.
CWIC Start OpenSearch prototype January 28 th 2014 Calin Duma CWIC and GCMD OpenSearch Implementations.
CWIC Exception & Error Handling Archie Warnock Lingjun Kang Genyong Yu
DT228/3 Web Development WWW and Client server model.
Automating Bespoke Attack Ruei-Jiun Chapter 13. Outline Uses of bespoke automation ◦ Enumerating identifiers ◦ Harvesting data ◦ Web application fuzzing.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
CS320 Web and Internet Programming Generating HTTP Responses
HTTP Hypertext Transfer Protocol. HTTP messages HTTP is the language that web clients and web servers use to talk to each other –HTTP is largely “under.
ASP.NET Programming with C# and SQL Server First Edition Chapter 8 Manipulating SQL Server Databases with ASP.NET.
CWIC Metrics Eugene G. Yu Lingjun Kang Archie Warnock
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
Support for Client Partners Eugene G. Yu Lingjun Kang Archie Warnock
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
PerfSONAR Client Construction February 11 th 2010, APAN 29 – perfSONAR Workshop Jeff Boote, Assistant Director R&D.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
User Interface Design using jQuery Mobile CIS 136 Building Mobile Apps 1.
European Space Astronomy Centre (ESAC) Villafranca del Castillo, MADRID (SPAIN) Aurélien Stébé Homogeneous Access to Tabular Data Beijing, China - May.
4-1 INTERNET DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
Gainful Employment Webinar #10 Understanding the NSLDS Corrections Functionality October 24, 2012.
9/15/2015© 2008 Raymond P. Jefferis IIILect Application Layer.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
NERC DataGrid Vocabulary Server Access Vocabulary Workshop, RAL, February 25, 2009.
Page 1 CSISS Center for Spatial Information Science and Systems Design and Implementation of CWIC Metrics Weiguo Han, Liping Di, Yuanzheng Shao, Lingjun.
Web HTTP Hypertext Transfer Protocol. Web Terminology ◘Message: The basic unit of HTTP communication, consisting of structured sequence of octets matching.
Page 1 CSISS Center for Spatial Information Science and Systems WGISS-37 meeting,2014 CWIC OpenSearch Implementation Yuanzheng Shao, Lingjun Kang, Archie.
Functional Testing Montpellier October 2006 perfSONAR Meeting Michalis Michael (Cynet)
WGISS 37 CCMEO Data Provider Status Patrick King April 15, 2014.
Getting Started with OPC.NET OPC.NET Software Client Interface Client Base Server Base OPC Wrapper OPC COM Server Server Interface WCF Alternate.
Page 1 CSISS Center for Spatial Information Science and Systems CWIC Metrics: Current and Future Weiguo Han, Liping Di, Yuanzheng Shao, Lingjun Kang Center.
Chapter 29 World Wide Web & Browsing World Wide Web (WWW) is a distributed hypermedia (hypertext & graphics) on-line repository of information that users.
CWIC + OPENSEARCH: IT WORKS WITH BROWSERS, TOO Archie Warnock Lingjun Kang Genyong Yu
Web Services Error Handling and Debugging. Agenda Simple SOAP faults Advanced SOAP faults SOAP headers and faults Error handling From a Service Perspective.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
Archibald Warnock FGDC Activities CIP/INFEO Interoperability and ISO CD2 Metadata Activities.
CWIC Developers Meeting January 28 th 2014 Calin Duma CSW and OpenSearch from the CWIC Start client perspective.
Web Server.
 Previous lessons have focused on client-side scripts  Programs embedded in the page’s HTML code  Can also execute scripts on the server  Server-side.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Week 9 : Text processing (Reading and writing files)
Page 1 CSISS Center for Spatial Information Science and Systems CWIC Development Team Meeting, 2014 CWIC OpenSearch Design and Implementation Yuanzheng.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
CSC 2720 Building Web Applications Basic Frameworks for Building Dynamic Web Sites / Web Applications.
Page 1 CSISS Center for Spatial Information Science and Systems CWIC Development Team Meeting, 2014 CWIC Server-Client Interactions Yuanzheng Shao, Lingjun.
ERDDAP The Next Generation of Data Servers Bob Simons DOC / NOAA / NMFS / SWFSC / ERD Monterey, CA Disclaimer: The opinions expressed.
CEOS Open Search Best Practices Doug Newman (NASA ECHO) CWIC January 2014.
CWIC Open Search Best Practices Doug Newman (NASA ECHO) CEOS WGISS-37 April 15th 2014 Presenter: Archie Warnock (A/WWW Enterprises)
DDM Central Catalogs and Central Database Pedro Salgado.
Server-side http General form of http response/request GET request method POST request method Responses Servlet support.
Quality Service Assurance: Monitoring, Testing, and Metrics Eugene G. Yu Lingjun Kang
CWIC Development Team Yuanzheng Shao Lingjun Kang Archie Warnock
Coupling and Cohesion Schach, S, R. Object-Oriented and Classical Software Engineering. McGraw-Hill, 2002.
CWIC Development Team Yuanzheng Shao Lingjun Kang Archie Warnock
ODP V2 Data Provider overview. 22 Scope Data Provider provides access to data and metadata of the local data systems. Data Provider is a wrapper, installed.
COMP2322 Lab 4 Socket Programming
CWIC Status Report Yonsook Enloe yonsook. k.
Chapter 7 Text Input/Output Objectives
Chapter 7 Text Input/Output Objectives
EUMETSAT CWIC Status Report
Chapter 7 Text Input/Output Objectives
OpenSearch: the data search API for everyone
CWIC Status Report Yonsook Enloe yonsook. k.
CWIC Status Report Yonsook Enloe yonsook. k.
Tweaking CWIC Practices to Fit
JavaScript Form Validation
WGISS Connected Data Assets Client Guide Oct 23, 2018 Archie Warnock
Chapter 7: Input Validation
Presentation transcript:

CWIC Development Team Archie Warnock CWIC Development Team Workshop, Greenbelt, MD January 2014

Background  Error Handling in CSW was implemented primarily through exceptions  Most error conditions in shared code base already identified from CSW experience  OpenSearch requires errors to be handled via HTTP status codes, not exceptions  HTTP Status codes permit server-supplied text which can be used for human-readable error messages  Clients can modify the error text returned from the server for explanation to end users

HTTP Status Code Usage  4xx status codes, i.e., client errors  Refer to errors from the CWIC server (Mediator and Connectors) since the CWIC component do the basic syntax checking on incoming requests. A few may be related to internal CWIC server errors.  5xx status codes, i.e, server errors  Refer to problems in connecting to or parsing responses from the remote data provider system, since these exceptions are generally not correctable nor controllable from the CWIC software.

OpenSearch Errors  Invalid Request Format  (400 Bad Request) REQUEST_EXCEPTION: UNABLE_TO_PARSE_REQUEST - Incoming request payload could not be parsed

OpenSearch Errors  Search Request  (400 Bad Request) REQUEST_EXCEPTION: INVALID_QUERYABLES - Requested parameter value not valid  (400 Bad Request) REQUEST_EXCEPTION: INVALID_STARTPOSITION – Requested startPosition was not a positive integer  (400 Bad Request) REQUEST_EXCEPTION: INVALID_MAXRECORDS – Requested maxRecords was not a positive integer  (400 Bad Request) REQUEST_EXCEPTION: INVALID_RESULTTYPE – Requested output schema not “Atom”  (400 Bad Request) REQUEST_EXCEPTION: MISSING_DATASET – No dataset dc:subject or dc:identifier defined in this request  (400 Bad Request) REQUEST_EXCEPTION: INVALID_DATASET – Unrecognized dataset

OpenSearch Errors  Search Request (cont’d)  (400 Bad Request) REQUEST_EXCEPTION: INVALID_STARTDATE_VALUE – Start Date and Time not valid. Supported formats are 'yyyy-MM-dd', 'yyyy-MM- ddTHH:mm:ssZ' or 'yyyy-MM-dd HH:mm:ss'  (400 Bad Request) REQUEST_EXCEPTION: INVALID_ENDDATE_VALUE – End Date and Time not valid. Supported formats are 'yyyy-MM- dd', 'yyyy-MM- ddTHH:mm:ssZ' or 'yyyy-MM-dd HH:mm:ss'  (400 Bad Request) REQUEST_EXCEPTION: INCONSISTENT_START_END_DATE_VALUES – Start date and time must be before end date and time  (400 Bad Request) REQUEST_EXCEPTION: INVALID_GEOBOX – Unrecognized request geoBox  (400 Bad Request) REQUEST_EXCEPTION: INVALID_RECORDID – Found unrecognized record identifier  (400 Bad Request) REQUEST_EXCEPTION: INVALID_DATASET – Found unrecognized dataset from the record identifier

Request Limitations & Data Validation  Request Limitations  (400 Bad Request) REQUEST_LIMITATION: TOO_MANY_RECORDS – The request asked for more records than can be handled  (400 Bad Request) REQUEST_LIMITATION: TEMPEXTENT_TOO_BIG – The request asked for a larger temporal extent than can be handled  (400 Bad Request) REQUEST_LIMITATION: SPATIAL_TOO_BIG – The request asked for a larger spatial extent than can be handled  (400 Bad Request) REQUEST_LIMITATION: UNSUPPORTED_PARAMETER – The requested parameter was not supported  (400 Bad Request) REQUEST_LIMITATION: UNSUPPORTED_MULTIPLE_DATASET – The request asked for multiple datasets in single GetRecords request  (400 Bad Request) REQUEST_LIMITATION: MISSING_TEMPORAL_RANGE – Temporal range parameters are required by the requested catalog  (400 Bad Request) REQUEST_LIMITATION: INVALID_CWIC_RECORDID_FORMAT – Found unrecognized record identifier

Request Limitations & Data Validation  Data Validation  (400 Bad Request) REQUEST_LIMITATION: BAD_LL_LON_VALUE – Longitude of lower left corner is not numeric  (400 Bad Request) REQUEST_LIMITATION: INVALID_LL_LON_VALUE – Longitude of lower left corner should be between [-180.0, 180.0]  (400 Bad Request) REQUEST_LIMITATION: BAD_UR_LON_VALUE – Longitude of upper right corner is not numeric  (400 Bad Request) REQUEST_LIMITATION: INVALID_UR_LON_VALUE – Longitude of upper right corner should be between [-180.0, 180.0]  (400 Bad Request) REQUEST_LIMITATION: BAD_LL_LAT_VALUE – Latitude of lower left corner is not numeric  (400 Bad Request) REQUEST_LIMITATION: INVALID_LL_LAT_VALUE – Latitude of lower left corner should be between [-90.0, 90.0]  (400 Bad Request) REQUEST_LIMITATION: BAD UR_LAT_VALUE – Latitude of upper right corner is not numeric  (400 Bad Request) REQUEST_LIMITATION: INVALID_UR_LAT_VALUE – Latitude of upper right corner should be between [-90.0, 90.0]  (400 Bad Request) REQUEST_LIMITATION: INCONSISTENT_LAT_VALUES – Latitude of lower left corner cannot be greater than upper right corner

Remote System & Communication Errors  (500 Internal Server Error) COMM_EXCEPTION: REMOTE_SEARCH_FAILED – Could not reach remote server  (500 Internal Server Error) COMM_EXCEPTION: REMOTE_SEARCH_FAILED – Server returned error The search failed and returned an HTTP error. The exception message contains the error text returned by the server.  (504 Gateway Timeout) COMM_EXCEPTION: NO_RESPONSE – Failed to get response from remote server  (500 Internal Server Error) COMM_EXCEPTION: NO_CONNECTION_INFO – No connection information is available.  (500 Internal Server Error) COMM_EXCEPTION: INVALID_CONNECTION_INFO – Connection information is not valid for opening a connection to the remote server. Contact CWIC staff.  (502 Bad Gateway) COMM_EXCEPTION: UNABLE_TO_PARSE_RESPONSE – Response from remote server could not be parsed (e.g., the connector received a bad response from the remote server)  (500 Internal Server Error) COMM_EXCEPTION: MISSING_REQUEST_TEMPLATE – the template used to generate a SOAP request to the USGS/LSI system could not be found.

Other Exceptions  (500 Internal Server Error) NumberFormatException – Conversion from string to numeric failed  (500 Internal Server Error) UnsupportedCodingException – Conversion from URL to string failed  (500 Internal Server Error) CONFIG_EXCEPTION: FILE_READ_ERROR – unable to read contents of file  (500 Internal Server Error) CONFIG_EXCEPTION: FILE_OPEN_ERROR – unable to open file for reading  (500 Internal Server Error) CONFIG_EXCEPTION: MISSING_REQUEST_TEMPLATE – the Velocity template for the USGS/LSI SOAP request could not be located. Contact the CWIC support staff  (500 Internal Server Error) CONFIG_EXCEPTION: CONFIGURATION_ERROR – connection configuration could not be read. Contact the CWIC support staff

Discussion