When I deploy my webapplication on a JBoss app-server it fails to deploy the webservice. I am using the top-down approach and generated the necessary files with wsconsume.bat from my wsdl- and xsd-files. I then add necessary anottations to the webservice implementation-class. But this is pretty much as far as I get, the documentation in the user guides fails to describe how I should continue.
I have experimented with different settings in the jbossws-cxf.xml and web.xml. But webserive fails to deploy correctly.
Anyone could suggest some points or point me towards a reference implementation that describes my use case?
So I finally got it to work.
The trick is to remove jbossws-cxf.xml-file. In web.xml there should be a servlet-mapping to the webservice implementation-class. Jbossws-cxf.xml-file is then automatically generated and stored in a tmp-directory. I advice to examine this file and then create the jbossws-cxf.xml so that customisation can be applied.
In short this is how a configuration in it's simpliest form should look like:
WEB-INF/web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>ws-name</servlet-name>
<servlet-class>org.company.WebServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ws-name</servlet-name>
<url-pattern>/webservice/endpoint</url-pattern>
</servlet-mapping>
</web-app>
WEB-INF/Jbossws-cxf.xml:
<beans xmlns='http://www.springframework.org/schema/beans'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:beans='http://www.springframework.org/schema/beans'
xmlns:jaxws='http://cxf.apache.org/jaxws'
xmlns:soap='http://cxf.apache.org/bindings/soap'
xsi:schemaLocation='http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd'>
<jaxws:endpoint id='ws-name'
address='http://127.0.0.1:8180/webservice/endpoint'
implementor='org.company.WebServiceImpl'>
<jaxws:invoker>
<bean class='org.jboss.wsf.stack.cxf.InvokerJSE'/>
</jaxws:invoker>
</jaxws:endpoint>
</beans>