anchor.diff:  
   This protocol is intended to conform to HTTP semantics as closely as possible, however it is not intended to be a RESTful protocol. The semantics of EJB invocation to not necessarily map well to REST, and JAX-RS already provides a standard way to map EJB invocation to RESTful web services.
   
  +TODO: do we hard code the 'river' marshalling strategy or do we require a header that specifies the strategy?
  +
   == Protocol
   
   The protocol is based on HTTP, and is intended to be used over both HTTP/1.1 and HTTP/2. All services are mapped a location in the _Cluster Service Context Path_ which by default is +/wildfly-services+. This context path is configurable per connector, and can be disabled entirely. Each specific protocol will be mapped to a sub location inside the service context path. For example EJB will be mapped to +/wildfly-services/ejb/+.
  
positive.code: Method::: +POST+
  URI:: +/ejb/\{applicationName}/\{moduleName}/\{distinctName}/\{beanName}+
  Additional Required Headers::
  +Accept: +application/x-wf-ejb-new-session;version=1,application/x-wf-ejb-exception;version=1++
  Additional Optional Headers::
  +Cookie: JSESSIONID=\{sessionAffinityKey}+
  Request Body::
  
negative.code: 
  Message Type:: +application/x-wf-ejb-exception+
  Response Body::
  This response body contains a serialized representation of the exception, followed by an optional serialized representation of the attachments map
  Response Codes::
   * +400+ General malformed request (missing headers etc)
   * +403+ Authorization failure
  