Create the wsp directory under /opt.
Download openssowssproviders.zip from the WSS Agent link on https://opensso.dev.java.net/public/use/index.html.
Unzip openssowssproviders.zip in /opt/wsp/.
Create the jboss directory under /opt/wsp/samples for the JBoss Application Server files. For example:
cd /opt/wsp/samples mkdir jboss
Copy the GlassFish sample files to the new jboss directory:
cp -r /opt/wsp/samples/glassfish/* /opt/wsp/samples/jboss/
Rename glassfish.properties for JBoss Application Server:
cd /opt/wsp/samples/jboss/ mv glassfish.properties jboss.properties
In /opt/wsp/samples/jboss/jboss.properties, remove the GlassFish properties and add the following:
wsp.home=/opt/wsp jaxws.home=/opt/jaxws-ri jaxws.lib.dir=/opt/jaxws-ri/lib
Edit /opt/wsp/samples/jboss/StockService/build.xml, as shown in the next example.
To create a new JBoss Application Server build.xml file, just copy the following XML statements.
<?xml version="1.0" encoding="UTF-8"?>
<project name="StockQuoteService" default="all" basedir=".">
<description>Builds, tests, and runs the project stockclient.</description>
<property file="../jboss.properties"/>
<condition property="wsimport-script-suffix" value=".bat">
<os family="windows"/>
</condition>
<condition property="wsimport-script-suffix" value=".sh">
<not>
<os family="windows"/>
</not>
</condition>
<path id="build.class.path">
<pathelement location="build/classes"/>
<fileset dir="${jaxws.lib.dir}">
<include name="**/*.jar"/>
</fileset>
</path>
<target name="-pre-compile">
<mkdir dir="build/classes"/>
<mkdir dir="web/WEB-INF/classes"/>
<exec executable="${jaxws.home}/bin/wsimport${wsimport-script-suffix}">
<arg line="-verbose -d build/classes web/WEB-INF/wsdl/StockService/stockservice.wsdl"/>
</exec>
<copy file="src/java/handlers.xml" todir="web/WEB-INF/classes"/>
</target>
<target name="compile" depends="-pre-compile">
<javac fork="true" destdir="build/classes" srcdir="src/java">
<classpath refid="build.class.path" />
</javac>
</target>
<target name ="war" depends="compile">
<mkdir dir="dist"/>
<copy todir="web/WEB-INF/classes">
<fileset dir="build/classes" />
</copy>
<copy todir="web/WEB-INF/lib">
<fileset dir="${jaxws.lib.dir}"/>
</copy>
<war destfile="dist/StockService.war" webxml="web/WEB-INF/web.xml">
<zipfileset dir="web" />
</war>
</target>
<target name="all">
<antcall target="war" />
</target>
</project>
In the following file, change any references to localhost and port 8080, depending on your deployment:
/opt/wsp/samples/jboss/StockService/web/WEB-INF/wsdl/StockService/stockservice.wsdl
Remove /opt/wsp/samples/jboss/StockService/web/WEB-INF/sun-web.xml. For example:
cd /opt/wsp/samples/jboss/StockService/web/WEB-INF rm sun-web.xml
In the same directory, create sun-jaxws.xml with the following content:
<?xml version="1.0" encoding="UTF-8"?>
<endpoints
xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime'
version='2.0'>
<endpoint
name='StockService'
implementation='com.samples.StockService'
url-pattern='/StockService' />
</endpoints>
In the same directory, in web.xml, add the agent <filter>, <filter-mapping>, <listener>, <servlet>, and <servlet-mapping> entries, as follows:
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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"
version="2.5">
<filter>
<filter-name>Agent</filter-name>
<filter-class> com.sun.identity.agents.filter.AmAgentFilter </filter-class>
</filter>
<filter-mapping>
<filter-name>Agent</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
</welcome-file-list>
<listener>
<listener-class>
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
</listener-class>
</listener>
<servlet>
<description>JAX-WS endpoint</description>
<display-name>The JAX-WS servlet</display-name>
<servlet-name>jaxws</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>jaxws</servlet-name>
<url-pattern>/StockService</url-pattern>
</servlet-mapping>
</web-app>
Build the StockService WAR file. For example, using ant:
cd /opt/wsp/samples/jboss/StockService /share/builds/components/ant/1.6.5/bin/ant -f build.xml