Web client problem, simple
All,
I'm having a difficulty with what should be a simple web client. I am
hosting a web service locally on JSAS 9.1 from the JavaEE5 SDK. The testing
interface provided by the admin console on JSAS shows everything running
fine. My problem is with the client connection code below, which is derived
from the javaee5tutorial material. As shown, the code works, but it relies
on the no-arg constructor for the service rather than the WebServiceRef
annotation. I can't seem to get the annotation to work--serviceRef just
keeps coming back null.
public class ClientTest {
@WebServiceRef(wsdlLocation=
"http://localhost:8080/composews/COMPOSEWebServiceImplService?wsdl")
static COMPOSEWebServiceImplService serviceRef;
public static void main (String [] args) {
try {
COMPOSEWebServiceImplService service
= new COMPOSEWebServiceImplService (); // serviceRef
URL url = service.getWSDLDocumentLocation();
System.out.println (url);
// http://localhost:8080/composews/COMPOSEWebServiceImplService?wsdl
QName qName = service.getServiceName();
System.out.println (qName);
// {http://ws.compose.bae.com/}COMPOSEWebServiceImplService
COMPOSEWebServiceImpl port
= service.getCOMPOSEWebServiceImplPort();
System.out.println(port.sayHello());
} catch (Exception ex) {
ex.printStackTrace ();
}
}
}
When run as shown above, the url and qname have the values given in the
comments. The URL value matches the wsdlLocation and I've also tried adding
the name attribute to the WebServiceRef with the qname value and that had no
effect either.
Can someone explain why the WebServiceRef doesn't work and what I should do
to get it to work? When I run the javaee5tutorial examples they work fine.
Thanks very much,
Matt Humphrey http://www.iviz.com/