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