!--a11y-->
ProtocolContext Interface 
The ProtocolContext interface methods take either no parameters, or one parameter: com.sap.engine.services.webservices.runtime.ProtocolContext.
Initially, it extends com.sap.engine.interfaces.webservices.runtime.FolderContext, thus providing it with the functionality of binding objects and creating subcontexts. For each protocol a separate instance of ProtocolContext is created with its specific global features set.
Method getRuntimeContext() returns reference to the RuntimeContext object. From this object you can obtain the OperationDefinition object, runtime settings (logging enabled, monitoring enabled and so on) and the ProtocolChain object (this object holds an array of ProtocolContextinstances in the order their Protocols are invoked by the Runtime, and other information which is exposed by the com.sap.engine.services.webservices.runtime.RuntimeContext interface).
Method getGlobalFeatures() returns the global features, which are bound to this protocol. This is used by the protocol to obtain the global configuration information. To obtain operation specific feature configuration, use the following pseudo method invocation chain:
RuntimeContext rtContext = ProtocolContext.getRuntimeContext();
OperationDefinition operation = RuntimeContext.getOperation().getFeatures();
FeatureInterface[] features = OperationDefinition.getFeatures();
The obtained array of Feature objects contains all the features for all the protocols. The specified protocol should search the array for Feature objects with protocolID (obtained from Feature.getProtocolID() method) equal to its own, in order to gain access to its operation specific configuration.
Method getProtocolInstance() returns a reference to the protocol instance. This is used by the Runtime to access the instance.
