To reduce interoperability issues due to differences between SOAP client implementations for different languages and operating environments, design decisions have been implemented that may affect how an application is designed to use the base and core component types.
Polymorphism
Extension is limited to the request type schema and response type schema. For example, AddItemRequestType
extends AbstractRequestType
. In all other cases, polymorphism is avoided. For example, when specifying shipping details (i.e., ShippingDetails
,) you need to choose either a flat rate or a calculated rate. Rather than extending a common rate type, discrete FlatShippingRate
and CalculatedShippingRate
containers are defined. You can specify either of these in the shipping details, but not both. An application will need to handle such business logic (i.e., the or logic is not exposed in the schema).
Backward Compatibility
A versioning system has been implemented so that applications will be backward compatible when new elements appear in the server-side schema.
Cardinality/Multiplicity
For base components, the cardinality of major containers is set to minOccurs="0"
but maxOccurs
can vary. This enables the reuse of the same container objects across different use cases that might require different combinations of child components in the future.
Data conventions
The following conventions for representing data types in the schema have been adopted:
-
For numeric values:
int
(32-bit) data type is used instead oflong
(64-bit)- For percentage values,
float
is used rather thandecimal
- The core monetary amount type is derived from double.
- Time values are expressed in GMT/UTC using the ISO format. However, some development environments (e.g., the Java 2 Platform, the Microsoft .NET Framework,) convert time values returned in SOAP messages to the time zone specified in an environment's locale.
Additional information
For additional information, refer to:
- API data types for a list of data types and information about working with time values
- Specify the schema version
- When to update the schema
When using an IDE that recognizes WSDL files and displays the annotations, it may be useful to browse the eBay WSDL file.