= Webservice JAX-WS - Resources config
:index-group: Webservice
:jbake-type: page
:jbake-status: published

TomEE relies on Apache CXF for JAX-RS (RESTful Services) and JAX-WS (Web Services). This is an example of how to develop  EJB webservices thanks to CXF implementation.

== openejb-jar.xml Configuration
You can use (http://tomee.apache.org/details-on-openejb-jar.html[openejb-jar.xml]) to configure your webservice.

CXF API is reusable but you can also configure the interceptors through `openejb-jar.xml`(located in WEB-INF).
As a quick reminder the configuration `openejb-jar.xml` looks like the following one for an EJB:

[source,xml]
----

<openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1">
  <ejb-deployment ejb-name="CalculatorBean"> <!-- configure the bean, values are in resources.xml -->
    <properties>
      cxf.jaxws.in-interceptors = wss4j
    </properties>
  </ejb-deployment>
</openejb-jar>
----
For a Pojo webservice it is the same but using pojo-deployment instead of ejb-deployment.

Then once you selected your prefix and know where to write the config just use the following entries:

* *properties*: server factory properties

* *features*: CXF features

* *in-interceptors*: CXF in interceptors

* *out-interceptors*: CXF out interceptors

* *in-fault-interceptors*: CXF in interceptors for fault handling

* *out-fault-interceptors*: CXF out interceptors for fault handling

* *databinding*: server databinding

* *providers (only for JAX-RS endpoint)*: list of JAX-RS providers

* *skip-provider-scanning (only for JAX-RS)*: is provider scanning on or not (default true)

For features and interceptors the rule is the same: value is a list comma separated. Each value of the list is either a qualified class name or an id of a service in resources.xml.

== Sample for JAX-WS
To configure WSS4J on the EJB `CalculatorBean` for instance add in openejb-jar.xml:

[source,xml]
----

<resources>
  <!-- the interceptors -->
  <Service id="wss4j1" class-name="org.apache.openejb.server.cxf.config.WSS4JInInterceptorFactory" factory-name="create">
    action = UsernameToken
    passwordType = PasswordText
    passwordCallbackClass = org.superbiz.ws.security.PasswordCallbackHandler
  </Service>
</resources>
----
== passwordCallbackClass

`passwordCallbackClass` is one of property of `WSS4JInInterceptorFactory` and his value is the class `PasswordCallbackHandler`.

`PasswordCallbackHandler` use `org.apache.wss4j.common.ext.WSPasswordCallback` to provide password callback mechanism.


==== Example

Full example can be found https://github.com/apache/tomee/blob/master/examples/webservice-ws-with-resources-config/src/main/java/org/superbiz/ws/security/PasswordCallbackHandler.java[here]:


=== Run the tests

Full project example can be found https://github.com/apache/tomee/tree/master/examples/webservice-ws-with-resources-config[here].
It's a maven project, and all the tests can be executed by running `mvn clean test` command.

    mvn clean test
    
```
[INFO] Results:
[INFO] 
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
