Using Configuration to configure a server endpoint
The elements used to configure an HTTP provider endpoint are defined in the namespace http://cxf.apache.org/transports/http/configuration. It is commonly referred to using the prefix http-conf . In order to use the HTTP configuration elements you will need to add the lines shown below to the beans element of your endpoint's configuration file. In addition, you will need to add the configuration elements' namespace to the xsi:schemaLocation attribute.
Adding the Configuration Namespace
<beans ...
xmlns:http-conf="http://cxf.apache.org/transports/http/configuration
...
xsi:schemaLocation="...
http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd
...">
You configure an HTTP server endpoint using the http-conf:destination element and its children. The http-conf:destination element takes a single attribute, name , the specifies the WSDL port element that corresponds to the endpoint. The value for the name attribute takes the form portQName .http-destination . The example below shows the http-conf:destination element that would be used to add configuration for an endpoint that was specified by the WSDL fragment <port binding="widgetSOAPBinding" name="widgetSOAPPort> if the endpoint's target namespace was http://widgets.widgetvendor.net .
http-conf:destination Element
<http-conf:destination name=
"{http://widgets/widgetvendor.net}widgetSOAPPort.http-destination">
...
</http-conf:destination>
The http-conf:destination element has a number of child elements that specify configuration information. They are described below.
Element |
Description |
---|---|
http-conf:server |
Specifies the HTTP connection properties. |
http-conf:contextMatchStrategy |
Specifies the parameters that configure the context match strategy for processing HTTP requests. |
http-conf:fixedParameterOrder |
Specifies whether the parameter order of an HTTP request handled by this destination is fixed. |
The http-conf:server element is used to configure the properties of a server's HTTP connection. Its attributes, described below, specify the connection's properties.
Attribute |
Description |
---|---|
ReceiveTimeout |
Sets the length of time, in milliseconds, the server tries to receive a request before the connection times out. The default is 30000. The specify that the server will not timeout use 0. |
SuppressClient-SendErrors |
Specifies whether exceptions are to be thrown when an error is encountered on receiving a request. The default is false ; exceptions are thrown on encountering errors. |
SuppressClient-ReceiveErrors |
Specifies whether exceptions are to be thrown when an error is encountered on sending a response to a client. The default is false ; exceptions are thrown on encountering errors. |
HonorKeepAlive |
Specifies whether the server honors requests for a connection to remain open after a response has been sent. The default is true ; keep-alive requests are honored. |
RedirectURL |
Specifies the URL to which the client request should be redirected if the URL specified in the client request is no longer appropriate for the requested resource. In this case, if a status code is not automatically set in the first line of the server response, the status code is set to 302 and the status description is set to Object Moved. The value is used as the value of the HTTP RedirectURL property. |
CacheControl |
Specifies directives about the behavior that must be adhered to by caches involved in the chain comprising a response from a server to a client. |
ContentLocation |
Sets the URL where the resource being sent in a response is located. |
ContentType |
Specifies the media type of the information being sent in a response. Media types are specified using multipurpose internet mail extensions (MIME) types. The value is used as the value of the HTTP ContentType location. |
ContentEncoding |
Specifies any additional content encodings that have been applied to the information being sent by the service provider. Content encoding labels are regulated by the Internet Assigned Numbers Authority (IANA). Possible content encoding values include zip, gzip, compress, deflate, and identity. This value is used as the value of the HTTP ContentEncoding property. |
ServerType |
Specifies what type of server is sending the response. Values take the form program-name/version. For example, Apache/1.2.5. |
The example below shows a the configuration for an HTTP service provider endpoint that honors keep alive requests and suppresses all communication errors.
HTTP Service Provider Endpoint Configuration
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:http-conf=
"http://cxf.apache.org/transports/http/configuration"
xsi:schemaLocation="
http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<http-conf:destination name=
"{http://apache.org/hello_soap_http}SoapPort.http-destination">
<http-conf:server SuppressClientSendErrors="true"
SuppressClientReceiveErrors="true"
HonorKeepAlive="true" />
</http-conf:destination>
</beans>