cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mohammad Shamsi" <m.h.sh...@gmail.com>
Subject Re: can i use cxf as a client from JAX WS 2.0 ???
Date Sun, 27 Apr 2008 11:51:42 GMT
thanks all, it work and seems to be great. for my test propuse.


On Sat, Apr 26, 2008 at 5:26 PM, Dan Connelly <daniel.s.connelly@comcast.net>
wrote:

> ||Mohammed:
>
> The JAX-WS support in CXF makes creating client proxy for your web
> services quite straight-forward.   You can create the client dynamically
> at run time without any elaborate setup.
>
> This is done using pure JAX-WS code so it works with a number of
> compliant runtimes:  CXF, Metro, JBossWS, etc. (though you do need set
> up a META-INF/services ws provider hook to use JBossWS).
>
> In any case, I suggest you stick with the CXF runtime, but use it
> through GroovyWS "client" jar.    http://groovy.codehaus.org/GroovyWS
>
> Download the "client" WS jar, the second (obscure) "here" link under
> "Distributions".  Trust me.  Its Groovy, but it is a simplification,
> even if you don't want to run Groovy.  This jar is a convenient
> packaging of CXF's client support.  But note, you can run Groovy which,
> as you can see, is a simple client..
>
> To run Grooby, you will need the Groovy jar as well in your classpath.
>   All you need to do for Groovy is to modify the sample Groovy client
> code putting in the URL string that fetches your service's WSDL.
>
> Make sure the GroovyWS jar appears early in the runtime classpath, ahead
> of the JRE runtime jars.   If you fail to do this, the Sun JRE (for
> instance) will try to use the Sun JAX-WS implementation, but this is not
> included in the Sun JSE support.
>
> Since you need a Java client (instead of Groovy), then you need a
> slightly more complex setup.   There are 3 inputs (which may be hard
> coded):  1) a URL (object) constructed  using the string that was used
> in the Groovy client,, 2) a service name (as QName object) as it appears
> in this WSDL and 3) a port name (another QName object) port within the
> service definition, again in conformance with the WSDL.   Then you
> construct a proxy for the web service, where the proxy implements your
> Service Endpoint Interface (interface class for the service).   This
> proxy is your client.   the code is something like this (illustrated
> here as JUnit set up).   Fairly straight-forward.   The WSDL is
> interpreted as runt time.
>
>
> -----------------------------------------------------------------------------------------------------------------------------
> import javax.xml.namespace.QName;
> import javax.xml.ws.Service;
>
> import junit.framework.TestCase;
> import my.services.Worker;
>
> import org.junit.Before;
> import org.junit.Test;
>
>
> public class TestGWSonJAX extends TestCase {
>
>    private Worker worker;
>
>    @Before
>    public void setUp() throws Exception {
>        URL url = new URL("http://127.0.0.1:8080/gws/WorkerImpl?wsdl");
>        QName serviceName = new
> QName("http://services.my/","WorkerService");
>        QName portName = new QName("http://services.my/","WorkerImplPort");
>        Service service = Service.create(url,serviceName);
>        worker = service.getPort(portName,Worker.class);
>    }
>
>    @Test
>    public void testBasic( ) throws Exception {
>        assertNotNull(worker);
>        String result = worker.doWork();
>        assertNotNull(result);
>    }
>
> }
>
> -------------------------------------------------------------------------------------------------------
>        -- Dan Connelly
>
> Mohammad Shamsi wrote:
> > hi,
> >
> > i want to use some JAX WS in a Java EE application.
> >
> > the web service has been developed. and i just have to write client to
> use
> > this services.
> >
> > some of web services are Servlet Base and others are EJB based.
> >
> > question : can i use CXF for developing web service client for this
> project
> > ?
> >
> >
>
>


-- 
sincerely yours
M. H. Shamsi

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message