Hi all,

we spent _way_too_much_ time trying to get Axis to work and finally realized
that it just wouldn't be worth while.

Instead we went with Sun's Metro and it worked like a charm! Now we're
exposing webservices and tapping straight into Turbine services using a
listener and a servlet in the Turbine servlet's web.xml.

The steps to get started are roughly:

1. Download Metro from https://metro.dev.java.net/ 

2. Follow the docs for creating a web service
https://metro.dev.java.net/guide/

3. Copy the following files to $CATALINA_HOME/shared/lib/
webservices-extra-api.jar
webservices-extra.jar
webservices-rt.jar
webservices-tools.jar

4. Copy the following file to $CATALINA_HOME/common/endorsed/
webservices-api.jar

5. Copy the following file to $CATALINA_HOME/webapps/${mywebapp}/WEB-INF/
sun-jaxws.xml

It should look something like this:
<?xml version="1.0" encoding="UTF-8"?>

<endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime'
version='2.0'>
    <endpoint
        name='myfirstmetro'
        implementation='com.mydomain.myfirstmetro.ws.HelloWorld'
        url-pattern='/sayHelloWorld'/>
</endpoints>


6. Add the following lines to
$CATALINA_HOME/webapps/${mywebapp}/WEB-INF/web.xml after the
<servlet-mapping> entry for Turbine:

<!-- Start of Web Service configuration for MyFirstMetro -->
    <listener>
 
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListen
er</listener-class>
    </listener>
    <servlet>
        <description>JAX-WS endpoint - MyFirstMetro</description>
        <display-name>myfirstmetro</display-name>
        <servlet-name>myfirstmetro</servlet-name>
 
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-clas
s>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>myfirstmetro</servlet-name>
        <url-pattern>/sayHelloWorld</url-pattern>
    </servlet-mapping>
<!-- End of Web Service configuration for MyFirstMetro -->


7. HelloWorld.java looks like this:
package com.tibetserver.plugins.branova.ws;

import javax.jws.WebService;

@WebService(name = "MyFirstMetro",
    targetNamespace = "http://ws.myfirstmetro.mydomain.com";)

public interface HelloWorld {
    public String sayHelloWorld(String request);
}


8. HelloWorldImpl.java looks something like this:

package com.tibetserver.plugins.branova.ws;

@WebService(endpointInterface = "com.mydomain.myfirstmetro.ws.HelloWorld")
public class HelloWorld {

    public String sayHelloWorld(String userName) {

        String greeting =
Turbine.getConfiguration().getString("myfirstmetro.ws.HelloWorld.greeting");
        User user = TurbineSecurity.getUser(userName);

        System.out.println(greeting + user);
    }
}


9. Your webservice should be available at www.mydomain.com/sayHelloWorld
after deployment.


Please forgive me if I missed any steps, it was a while ago that we worked
on this.

Good luck!

/Martin






-----Ursprungligt meddelande-----
Från: Siegfried Goeschl [mailto:[EMAIL PROTECTED] 
Skickat: den 16 juli 2008 21:11
Till: Turbine Developers List
Ämne: [fulcrum] Fulcrum Axis2 Integration

Hi folks,

anyone interested in exposing webservices (Jürgen?) using Fulcrum  - I'm on
the way to get it working and it was long way ...

+) dependency nightmare
+) works on JDK 1.4
+) I got some regression tests running

Cheers,

Siegfried Goeschl

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to