I'm having all kinds of trouble creating a CXF bundle that calls a web service

we are using Day's CQ software and the the version of felix it comes with is 1.0.4

i keep getting this error

Caused by: com.sun.xml.internal.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class net.webservicex.GetQuote is not found. Have you run APT to generate them? at com .sun.xml.internal.ws.model.RuntimeModeler.getClass(RuntimeModeler.java: 256) at com .sun .xml .internal .ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java: 567) at com .sun .xml .internal.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:514) at com .sun .xml.internal.ws.model.RuntimeModeler.processClass(RuntimeModeler.java: 341) at com .sun .xml .internal .ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:227) at com .sun .xml .internal.ws.client.WSServiceDelegate.addSEI(WSServiceDelegate.java:588) at com .sun .xml .internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java: 291) at com .sun .xml .internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java: 274) at com .sun .xml .internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java: 267)
        at javax.xml.ws.Service.getPort(Service.java:92)

i created an example if someone is willing to lend me a hand.

http://huli.org/osgi/stock_osgi.tar.gz

if you extract it, there is an ant build file that will create a client and then a bundle with CXF for a publicly-accessible service that i found that returns stock quotes

http://www.webservicex.net/stockquote.asmx

the client and the bundle are in the dist directory.

and i put in an Activatior that way you can see the error as soon as you upload it to felix


also, i saw somewhere were if you set the context classloder you can workaround this problem, so i've tried it changing the activator to.

 final ClassLoader cl = this.getClass().getClassLoader();
        Thread thread = new Thread() {
            @Override
            public void run() {
                Thread.currentThread().setContextClassLoader(cl);

                StockServiceClient serv = new StockServiceClient();


                String quote = serv.getQuote("GOOG");
                System.out.println(quote);
            }
        };

        thread.start();

... but that introduces a new set of problems, so i changed it back to what it was originally.

any help would be great..

thanks..

Sean


Reply via email to