You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

servicemix-http

ServiceMix ships with a JBI compliant HTTP/SOAP binding component named servicemix-http.

Here are the main features:

  • JBI compliant Binding Component
  • Usable in a lightweight mode in servicemix.xml configuration files
  • Integrated HTTP server based on Jetty 6
  • HTTP Client using Jakarta Commons HTTP Client
  • Highly performant and scalable using Jetty 6 continuations
  • SOAP 1.1 and 1.2 support
  • MIME attachments
  • WS-Addressing support
  • WSDL based and XBean based deployments
  • Support for all MEPs as consumers or providers

Installation

Installing the servicemix-http component can be done in several ways:

  • drop the installer zip in an hotdeploy directory monitored by ServiceMix
  • using ant tasks

Note that when using ant tasks, the component is not started, you will have to start it manually using ant tasks or a console.

Configuration

Several parameters can be configured using a JMX console.

Configuration

Name

Type

Description

Default

streamingEnabled

boolean

send client side requests using HTTP streaming

false

jettyConnectorClassName

String

Jetty connector class name

org.mortbay.nio.SelectChannelConnector

jettyThreadPoolSize

int

thread pool size for server side requests

255

maxConnectionsPerHost

int

max number of simultaneous connections to a given host

32

maxTotalConnections

int

max number of total simulatenous connections

256

 

 

XBean deployment

You can deploy Service Units containing a file named xbean.xml for activating consumer and provider endpoints.

This xml file should respect the given syntax, though this is a spring based xml configuration file from where all beans of class HttpEndpoint are retrieved.
See a full example here.

Any numbers of endpoints can be specified in the xbean.xml file.

Consumer endpoint

A consumer endpoint is a server-side http endpoint that will consumer plain HTTP, or HTTP+SOAP requests and send them into the NMR to a given JBI endpoint, which is called the proxied endpoint.

Following is an example of an http consumer endpoint.

Error formatting macro: snippet: java.lang.NullPointerException

 

Consumer endpoint attributes

Name

Type

Description

Required

service

QName

the service name of the proxied endpoint

 

endpoint

String

the endpoint name of the proxied endpoint

 

interfaceName

QName

the interface name of the proxied endpoint

 

role

String

must be 'consumer'

yes

locationURI

URI

the http url where this proxy endpoint will be exposed

yes

defaultMEP

URI

the default MEP uri to use

no

soap

boolean

if set, the component will parse the soap requests and send the content into the NMR

no (defaults to false)

soapVersion

string

can be set to '1.1' to force the use of SOAP 1.1 messages

no

wsdlResource

Spring resource

if set, the wsdl will be retrieved from the given Spring resource

no

 

Provider endpoint

A provider endpoint is a client-side jbi endpoint which can receive requests from the NMR and send them to a given url where the service is provided.

Here is an example of an http provider endpoint:

Error formatting macro: snippet: java.lang.NullPointerException

 

Provider endpoint attributes

Name

Type

Description

Required

service

QName

the service name of the exposed jbi endpoint

yes

endpoint

String

the endpoint name of the exposed jbi endpoint

yes

interfaceName

QName

the interface name of the exposed jbi endpoint

no

role

String

must be 'provider'

yes

locationURI

URI

the http url of the target service

yes

soap

boolean

if set, the component will parse the soap requests and send the content into the NMR

no (defaults to false)

wsdlResource

Spring resource

if set, the wsdl will be retrieved from the given Spring resource

no

 

Lightweight mode

Error formatting macro: snippet: java.lang.NullPointerException

 

  • No labels