| Apache CXF Documentation > Index > Frontends > Simple > Simple Frontend Configuration |
You can configure the CXF simple front end server endpoint by using the <simple:server> tag in the spring.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:simple="http://cxf.apache.org/simple" xmlns:soap="http://cxf.apache.org/bindings/soap" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd http://cxf.apache.org/simple http://cxf.apache.org/schemas/simple.xsd"> <simple:server id="pojoservice" serviceClass="demo.hw.server.HelloWorld" address="/hello_world"> <simple:serviceBean> <bean class="demo.hw.server.HelloWorldImpl" /> </simple:serviceBean> </simple:server> </beans>
The simple:server element supports many additional attributes:
| Name | Value |
|---|---|
| endpointName | The endpoint name this service is implementing, it maps to the wsdl:port@name. In the format of "ns:ENDPOINT_NAME" where ns is a namespace prefix valid at this scope. |
| serviceName | The service name this service is implementing, it maps to the wsdl:service@name. In the format of "ns:SERVICE_NAME" where ns is a namespace prefix valid at this scope. |
| wsdlLocation | The location of the WSDL. Can be on the classpath, file system, or be hosted remotely. |
| bindingId | The binding uri for the service model to use |
| transportId | The transport uri which is used for looking up the transport factory in CXF |
| address | The service publish address |
| bus | The bus name that will be used in the jaxws endpoint. |
| serviceBean | The implementor of jaxws endpoint. You can specify the implementor class name here, or just the ref bean name in the format of "#REF_BEAN_NAME" |
| serviceClass | The implementor class name, it is really useful when you specify the implementor with the ref bean which is wrapped by using Spring AOP |
| start | Whether the service endpoint should be published now, or whether it will be published at a later point, the default value is true |
It also supports many child elements:
| Name | Value |
|---|---|
| simple:executor | A Java executor which will be used for the service. This can be supplied using the Spring <bean class="MyExecutor"/> syntax. |
| simple:inInterceptors | The incoming interceptors for this endpoint. A list of <bean>s or <ref>s. |
| simple:inFaultInterceptors | The incoming fault interceptors for this endpoint. A list of <bean>s or <ref>s. |
| simple:outInterceptors | The outgoing interceptors for this endpoint. A list of <bean>s or <ref>s. |
| simple:outFaultInterceptors | The outgoing fault interceptors for this endpoint. A list of <bean>s or <ref>s. |
| simple:properties | A properties map which should be supplied to the JAX-WS endpoint. See below. |
| simple:dataBinding | You can specify the which DataBinding will be use in the endpoint , This can be supplied using the Spring <bean class="MyDataBinding"/> syntax. |
| simple:binding | You can specify the BindingFactory for this endpoint to use. This can be supplied using the Spring <bean class="MyBindingFactory"/> syntax. |
| simple:features | The features that hold the interceptors for this endpoint. A list of <bean>s or <ref>s |
| simple:invoker | The invoker which will be supplied to this endpoint. This can be supplied using the Spring <bean class="MyInvoker"/> syntax. |
| simple:schemaLocations | The schema locations for endpoint to use. A list of <schemaLocation>s |
| simple:serviceFactory | The service factory for this endpoint to use. This can be supplied using the Spring <bean class="MyServiceFactory"/> syntax |
| simple:serviceBean | The service implementation instance to be used. This can be supplied using the Spring <bean class="MyServiceBean"/> syntax |
Here is a more advanced example which shows how to provide interceptors and properties:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:simple="http://cxf.apache.org/simple" xmlns:soap="http://cxf.apache.org/bindings/soap" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd http://cxf.apache.org/simple http://cxf.apache.org/schemas/simple.xsd"> <simple:server id="inlineInvoker" serviceClass="org.apache.cxf.service.factory.HelloServiceImpl" address="http://localhost:8080/simpleWithAddress"> <simple:invoker> <bean class="org.apache.cxf.service.invoker.BeanInvoker"> <constructor-arg> <bean class="org.apache.cxf.service.factory.HelloServiceImpl"/> </constructor-arg> </bean> </simple:invoker> </simple:server> <simple:server id="inlineSoapBinding" serviceClass="org.apache.cxf.service.factory.HelloService" serviceBean="#greeter" address="http://localhost:8080/test" serviceName="t:HelloService" xmlns:t="http://apache.org/hello_world_soap_http" endpointName="t:HelloPort" > <simple:binding> <soap:soapBinding mtomEnabled="true" version="1.2"/> </simple:binding> </simple:server> </beans>
You could use the <simple:client> element to configure the simple front end client, you can use the spring's getBean API to get the client instance from the application context.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:simple="http://cxf.apache.org/simple" xmlns:soap="http://cxf.apache.org/bindings/soap" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd http://cxf.apache.org/simple http://cxf.apache.org/schemas/simple.xsd"> <simple:client id="client" serviceClass="org.apache.cxf.service.factory.HelloService" address="http://localhost:9000/foo2" serviceName="s:XMLService" xmlns:s="http://apache.org/hello_world_soap_http" endpointName="s:XMLPort" bindingId="http://cxf.apache.org/bindings/xformat"/> </beans>
The simple:client element supports many additional attributes:
| Name | Value |
|---|---|
| endpointName | The endpoint name this service is implementing, it maps to the wsdl:port@name. In the format of "ns:ENDPOINT_NAME" where ns is a namespace prefix valid at this scope. |
| serviceName | The service name this service is implementing, it maps to the wsdl:service@name. In the format of "ns:SERVICE_NAME" where ns is a namespace prefix valid at this scope. |
| wsdlLocation | The location of the WSDL. Can be on the classpath, file system, or be hosted remotely. |
| bindingId | The binding uri for the service model to use |
| address | The service publish address |
| bus | The bus name that will be used in the jaxws endpoint. |
| serviceClass | The implementor class name, it is really useful when you specify the implementor with the ref bean which is wrapped by using Spring AOP |
| username | The user name which is used in the transport layer |
| password | The password that is used in the transport layer |
It also supports many child elements:
| Name | Value |
|---|---|
| simple:inInterceptors | The incoming interceptors for this endpoint. A list of <bean>s or <ref>s. |
| simple:inFaultInterceptors | The incoming fault interceptors for this endpoint. A list of <bean>s or <ref>s. |
| simple:outInterceptors | The outgoing interceptors for this endpoint. A list of <bean>s or <ref>s. |
| simple:outFaultInterceptors | The outgoing fault interceptors for this endpoint. A list of <bean>s or <ref>s. |
| simple:properties | A properties map which should be supplied to the JAX-WS endpoint. See below. |
| simple:dataBinding | You can specify the which DataBinding will be use in the endpoint , This can be supplied using the Spring <bean class="MyDataBinding"/> syntax. |
| simple:binding | You can specify the BindingFactory for this endpoint to use. This can be supplied using the Spring <bean class="MyBindingFactory"/> syntax. |
| simple:features | The features that hold the interceptors for this endpoint. A list of <bean>s or <ref>s |
| simple:conduitSelector | The conduit selector which is strategy for retreival of a conduit to mediate an outbound message to be injected into the client. |
Here is a more advanced example which shows how to provide interceptors and properties:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:simple="http://cxf.apache.org/simple" xmlns:soap="http://cxf.apache.org/bindings/soap" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd http://cxf.apache.org/simple http://cxf.apache.org/schemas/simple.xsd"> <bean id="saajIn" class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/> <bean id="saajOut" class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor"/> <simple:client id="client1" serviceClass="org.apache.cxf.service.factory.HelloService" address="http://localhost:9000/foo" serviceName="s:SOAPService" xmlns:s="http://apache.org/hello_world_soap_http"> <simple:binding> <soap:soapBinding mtomEnabled="true" version="1.2"/> </simple:binding> <simple:inInterceptors> <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/> <ref bean="saajIn"/> </simple:inInterceptors> <simple:outInterceptors> <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/> <ref bean="saajOut"/> </simple:outInterceptors> <simple:conduitSelector> <bean class="org.apache.cxf.endpoint.NullConduitSelector"/> </simple:conduitSelector> </simple:client> </beans>