- Add support for Async service definitions.
- Fix regression in qualified attribute serialization (handle undefined namespace prefixes).
- Remove usage of Synchronous API in serialization of qualified attribute values.
- Review UTF8 encoding usages to prevent BOM in outgoing messages.
- Add error logging for unexpected errors during request processing.
- Fix 'headers already sent' error if exception is thrown during response processing.
- Change minimum target framework to netstandard2.0.
- Remove legacy X-Road protocol support.
- Refactor to asynchronous IO.
- Remove ASP.NET Classic support library.
- Fix recursive template nodes parsing on netstandard2.0.
- Regression from previous release fixed.
- Extension point added directly before calling the runtime service method.
- Extension point to override web service result serialization.
- Fix: duplicate complex type definitions in WSDL document.
- Fix: deserialize MTOM/XOP enabled property as inline base64 content when multipart attachment content id is missing.
- Check namespaces of complex type elements.
- Add missing pieces of
xs:duration
implementation.
- Fix null reference exception when request definition is merged and doesn't have explicit element (and content name).
- Restore
Null
option of empty tag handling (provides different behavior for nullable value types). - Add
xs:duration
data type.
- Empty tag handling is only required for simple types.
- Fix null reference exception of classic Asp.Net handler while serving X-Road metaservices.
- Fix null reference exception when content type could not be handled.
- Handle quotes around
start-info=
value.
- Fix null reference exception when multipart header does not include content type.
- Fix typo in method name.
- Fix contradictions with empty tag deserialization of simple type definitions.
- Update AspNetCore tutorial to match latest changes.
- Update dependencies.
- Async interface for AspNetCore handlers.
IWebServiceContextAccessor
to provide access to web service context through DI.
- Fix missing content-type bug.
- Disposable X-Road handlers
- Use
Microsoft.AspNetCore.Routing
package for mapping requests. - Some support for SOAP messages without X-Road message protocol specifics.
- Removed
XRoadCommonHeader
, useIXRoadUniversalHeader
as replacement for common interface. - Configurable wrapper element names in request and response definitions.
- Configurable service, port, binding and port type names.
- Configurable soap binding address location.
- Support qualified namespaces in XML schemas.
- Support
object
(everything fits) types as long as runtime types used are defined in the schema. - Basic support of SOAP 1.2 messages.
- Add
start-info
token to MTOM/XOP messageContent-Type
header.
- Fix error messages.
- Fix regression.
- More specific contract violation exceptions.
- Operation input/output binary serialization mode configurable via
XRoadServiceAttribute
attribute. - Property MTOM/XOP serialization configurable via
XRoadXmlElementAttribute
andXRoadXmlArrayItemAttribute
attributes.
- Fix duplicate namespace imports issue in generated service description.
- Fix empty string tag deserialization (returns empty string instead of null).
- Fix deserialization of array with merged content and empty values.
- New exception type
SchemaDefinitionException
which describes issues in schema definitions on server side. - New exception type
ContractViolationException
which describes issues in incoming requests where message differs from service description. - New exception type
InvalidQueryException
which describes propblems with messages which break SOAP specification. - Refactor usage of existing exception types to use introduced exception types.
- Namespace imports should not contain defined schemas.
- Fix common header mapping to legacy header types.
- Fix missing namespace imports when no usages in schemas.
- Separated packages for Asp.Net and Asp.Net Core platform support.
- Removed
System.Web.Services
dependency.
- Use
XRoadContext
parameter instead ofHttpContext
in AspNetCore application X-Road handler virtual methods. - Improved AspNetCore middleware configuration options.
- Separate net461 packaging.
- Fix regression in enum deserialization.
- Fix enum deserialization of self-closing element tags.
- Fix default property comparer.
- Common definition for all protocol versions.
- Move more properties and methods to service manager interface.
- EmptyContentDefinition type.
- More service execution options.
- Allow operation filter to override visibility of operations hidden by schema exporter.
MergeContentAttribute
should be usable on fields, parameters and return values.- Fix
UseXop
detection regression.
- Removed XRoadOptional attribute which is replaced by element, array and array item specific attributes.
- Added XRoadXmlElementAttribute which extends XmlElementAttribute to support
IsOptional
property. - Added XRoadXmlArrayAttribute which extends XmlArrayAttribute to support
IsOptional
property. - Added XRoadXmlArrayItemAttribute which extends XmlArrayItemAttribute to support
MinOccurs
andMaxOccurs
properties. - Refactored
ContentDefinition
type to support better array definitions. - Refactored
XRoadRequest
andXRoadProtocol
types into combinedServiceManager
type. - Optionally add implicit X-Road title annotation via configuration setting.
- Filter operations from service description.
- Fix regression in response element definition.
- Add missing namespace prefix for multipart message header definition.
- Take into account
MergeContent
value when providing definitions of request and response elements. - Fix exception when no service version element is expected in definition.
- Annotation elements appliable to enumeration types and fields.
- Fix xrd:techNotes annotation.
- Remove unnecessary XML namespace prefix from WSDL.
- Add X-Road specific documentation elements.
- Assembly strong name key changed.
- Upgrade to .NET Standard 2.0.
- Fix NuGet publishing.
- Remove duplicate entries from API reference.
- Improve extensibility of base handlers.
- Fix Content-Type header value of
application/xop+xml
message root part.
- Extension package to support Google Protocol Buffers serialization.
- Allow overriding of default IHttpHandler.ProcessRequest method.
- Fix base64 encoding excess memory allocation problem.
- Fix regression when using meta services.
- Use explicit target namespace prefix instead of default in service description.
- Use highest supported version of serializers for meta services.
- Fix base64 attachment serialization bug: insert line breaks after every 76 characters.
- Fix X-Road header serialization error when serializing required header with missing value.
- Fix X-Road protocol name not assigned bug.
- Improved customization support for X-Road message headers.
- Refactor all customizations to ISchemaExporter.
- Improve namespace dependency management in service descriptions.
- Fix parsing of X-Road message protocol version 4.0 response headers.
- Fix regression in listMethods service.
- New X-Road fault structure for message protocol version 4.0.
- Fix regression: remove type attribute from RPC/Encoded root element.
- Deprecate custom CData-based escaping in preference to HTML encoded special characters.
- Fix SOAP Fault parsing when details contains XML.
- Use customized type name when searching runtime types from contract assembly.
- Configuration option to ignore type attributes in content definitions.
- Fix request serialization/deserialization issues for inherited types.
- Separate explicit type attribute serialization logic for request elements.
- Trim quotes from content type header charset.
- Add schemaLocation attribute to Xml Schema import element.
- Make .NET Core features available for .NET 4.5.1.
- Add .NET Core support.
- Validate presence of required elements inside sequences.
- Optional namespace override for service root element.
- Fixes for non-seekable input stream.
- Fix service description for rootless list type response element.
- Better validation for XML Schema date types.
- Fix serialization of RPC/Encoded style header elements.
- Fix parameter name of XRoadProtocol40 constructor.
- Add informational version number to released assembly.
- Remove byte order mark from outgoing messages.
- Fix identifiers ToString() methods.
- Add optional inner exception argument to XRoadFaultException type constructor.
- Fix serialization bug of testSystem response when X-Road message protocol version is not supported.
- Fix deserialization bug when element with xsi:nil attribute has content.
- Fix X-Road namespace import when title attributes are used.
- Fix object reference exception when no SchemaExporter is defined for protocol.
- Check type or operation namespace before creating type map (currently it allowed to use wrong namespaces for composite types).
- Fix types in RPC encoded messages.
- Remove contentType from xop:Include element.
- Add content length to XRoadMessage for write and read operations.
- Add definition property to allow optionally ignore array item element names.
- Fix MIME message output for Linux systems.
- Fix regression of 1.0.0-beta008.
- Refactor to use string interpolation instead of string.Format in error messages.
- Remove unused X-Road exceptions.
- Replace exception message of unsuccessful service detection.
- Fix XRoadRequest helper class.
- Add helper method to generate X-Road request ID-s.
- Fix XRoadRequest class to make POST requests instead of GET.
- Refactor X-Road meta services to handle them separately.
- Fix Xop binary content serialization bug.
- Fix deserialization of merged empty root element.
- Fix serialization/deserialization in reverse direction.
- Add X-Road v4.0 style non-technical faults.
- Alternative explicit non-technical fault representations.
- Multiple schemas in single WSDL file.
- Detect type dependency to filter out unused types from service description.
- Redesign X-Road protocol concept.
- Default protocol implementations for X-Road message protocol versions 2.0, 3.1 and 4.0.
- Improved customization of properties, types and methods.
- Customizable serialization processor.
- Better separation of encoded and literal styles.
- Type improvements: merged content and arrays without wrapper element.
- Clean attributes and support more existing attributes from System.Xml.Serialization namespace.
- Improve protocol v4.0 generated service description.
- Bug fix: add X-Road namespace to imports when title element is used in schema.
- Remove XRoadParameterAttribute in favor of XmlElementAttribute
- Rename default handlers.
- More customizations for collections.
- Add description for enumeration types.
- Bug: anonymous type name in service description.
- Add support for anonymous types.
- Fix error messages.
- Add basic handlers for data and service description requests.
- Fix bugs of previous releases.
- Refactor to use XName instead of XmlQualifiedName.
- Add deserializer for X-Road standard non-technical fault.
- Add deserializer for standard SOAP fault.
- Parameter name customization for contract parameters only.
- Remove protocol dependency from parameter name selection.
- Remove XRoadSerializer since it's buggy and is not needed by the library.
- Add helper method which deserializes SOAP message and handles faults when present.
- Add support for X-Road v6 and X-Road messaging protcol v4.0.
- Redesign support for different protocol versions.
- Add interfaces to override default type options.
- Unhandled SOAP header elements as XElement instead of string representation.
- More annotation elements to types and elements.
- Accept XmlElementAttribute.DataType for parameter elements.
- Type content particle uses always sequence, but deserialization mode may vary.
- Fix strict parameter deserialization when xml template is not used.
- General request handler for X-Road data requests.
- Refactored serializer cache to deal with one assembly only.
- Bug fixes.
- Fix service root element name.
- Fix bug with custom operation type name format.
- Bug fix.
- Use
all
particle for non-strict operation types. - Make
XRoadImportAttribute
protocol specific. - Common interface for appliable attributes.
- Customize parameter names with global name provider.
- Allow protocol specific differences for schema import.
- Customize schema import namespaces and location through attribute parameter.
- Fix wrong version number in generated service description.
- Add properties to test of operation version limits are specified.
- Restore separate producer name attribute.
- Hide complexity of operation declarations in producer definition.
- More configuration options through contract assembly attributes.
- Layout attribute to control content particle and order of elements.
- Add SOAP specific helper methods.
- Add helper methods to resolve operation contracts.
- Initial release
- Extract common logic into separate project.