POCOpro C++ Frameworks Release 2025.1 Available
This release is based on the latest POCO C++ Libraries release 1.14.2 and includes enhancements and fixes in the Open Service Platform (OSP) and Remoting NG frameworks.
For our customers, source code packages are available on our download server.
RemotingNG Changes
- Significant improvements to the WSDL/XML Schema code generator (XSDGen), which now allow it to successfully process very complex WSDL and XML Schema documents, including the ONVIF specifications.
- C++ classes generated for XML elements by XSDGen now provide additional setter functions taking an rvalue reference for move assignment.
- Code generated by XSDGen can now use
std::shared_ptr
instead ofPoco::SharedPtr
andstd::optional
instead ofPoco::Optional
. - The SOAP transport now supports WS-Security authentication with the Username Token Profile. On the client side (
Poco::RemotingNG::SOAP::Transport
), WS-Security is supported by setting the respective authentication mode (AUTH_WSSE_TEXT
orAUTH_WSSE_DIGEST
). - HTTP-based transports (HTTP, JSON-RPC, SOAP, REST) now allow setting custom HTTP headers for requests.
- The SOAP transport library provides a new
Poco::RemotingNG::SOAP::SOAPFaultException
class, which provides access to all XML elements from the SOAP Fault element. This exception is now thrown instead of a genericPoco::RemotingNG::RemoteException
if the server returns a SOAP Fault. TheSOAPFaultException
class is a subclass ofRemoteException
to maintain backwards compatibility. - The REST transport library provides a new
Poco::RemotingNG::REST::RESTServerException
class, which provides access to the JSON content that is sent as part of an error response (HTTP status code >= 400) from the server. This exception is now thrown instead of a genericPoco::RemotingNG::RemoteException
if the sends a response with an error status code. TheRESTServerException
class is a subclass ofRemoteException
to maintain backwards compatibility.
Open Service Platform Changes
- Performance improvements in services query language.
- Web: Securely clear credentials in
WebServerDispatcher
when no longer needed. - Web: The session timeout can be changed after session has been created.
- Auth: add
AuthAdminService::verifyCredentials()
, improved credentials caching