...
On this page, we are going to
Excerpt |
---|
configure the my- cxf-se-su service unit to provide our service |
Configuring pom.xml
Changing the project name
In order to make the build output a little bit more comprehensible, we first change the project name in the generated pom.xml file.
No Format |
---|
<project>
...
<name>CXF WSDL Tutorial :: CXF SE SU</name>
...
</project>
|
Adding parent's element to generated pom.xml
We must to specify parent of this project. So, we add this to generated pom.xml.
No Format |
---|
<parent> <artifactId>parent</artifactId> <groupId>org.apache.servicemix.tutorial</groupId> <version>1.0-SNAPSHOT</version> </parent> |
Adding version of cxf to pom.xml
We must specify version of CXF.
No Format |
---|
<project>
...
<properties>
...
<cxf-version> 2.0.7</cxf-version>
...
</properties>
...
</project>
|
Implementing generated ExampleService.java
We must implement our service in java. In our example, it's HelloImpl.java
No Format |
---|
package com.mycompany.hello; import javax.jws.WebService; import javax.xml.ws.Holder; import com.mycompany.hello.types.SayHello; import com.mycompany.hello.types.SayHelloResponse; @WebService(serviceName = "HelloService", targetNamespace = "http://mycompany.com/hello", endpointInterface = "com.mycompany.hello.Hello") public class HelloImpl implements Hello { public void sayHello(Holder<String> name) throws UnknownWordFault { if (name.value == null || name.value.length() == 0) { com.mycompany.hello.types.UnknownWordFault fault = new com.mycompany.hello.types.UnknownWordFault(); throw new UnknownWordFault(null, fault); } name.value = "Hi " + name.value; } } |
Adding org.apache.cxf plugin
We add this plugin to the generated pom.xml file to element plugins.
...
Where service.wsdl is WSDL file, which we made in my-cxf-bc-su. We must copy this WSDL file from my-cxf-bc-su/src/main/resources to
my-cxf-se-su/src/main/resources.
Implementing generated ExampleService.java
We must implement our service in java. In our example, it's HelloImpl.java
No Format |
---|
package org.apache.servicemix.examples;
import javax.jws.WebService;
import javax.xml.ws.Holder;
import com.mycompany.hello.types.SayHello;
import com.mycompany.hello.types.SayHelloResponse;
@WebService(serviceName = "HelloService", targetNamespace = "http://servicemix.apache.org/examples", endpointInterface = "org.apache.servicemix.examples.Hello")
public class HelloImpl implements Hello {
public void sayHello(Holder<String> name)
throws UnknownWordFault
{
if (name.value == null || name.value.length() == 0) {
org.apache.servicemix.examples.types.UnknownWordFault fault = new org.apache.servicemix.examples.types.UnknownWordFault();
throw new UnknownWordFault(null, fault);
}
name.value = "Hi " + name.value;
}
}
|
Next, we are going to create our second SUservice assembly.
Things to remember
- You specify the plugin for a SU in Maven's pom.xml file
- In ServiceMix, most service units will be configured by a file named xbean.xml
...