thanks all, it work and seems to be great. for my test propuse.
On Sat, Apr 26, 2008 at 5:26 PM, Dan Connelly <[EMAIL PROTECTED]> 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
