Got ahead of myself.....
When I change the client code to:
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.setServiceClass(HelloWorld.class);
//factory.setAddress("http://localhost:8181/cxf/HelloWorld");
factory.setWsdlLocation("http://localhost:8181/cxf/HelloWorld?wsdl");
HelloWorld client = (HelloWorld) factory.create();
String reply = client.findById(2L);
System.out.println("Server said: " + reply);
I get the following error:
INFO: Creating Service {http://<snippedNamespace>HelloWorldService from
WSDL: http://localhost:8181/cxf/HelloWorld?wsdl
Exception in thread "main" java.lang.NoSuchFieldError: QUALIFIED
at
org.apache.cxf.service.model.SchemaInfo.setSchema(SchemaInfo.java:146)
Any ideas?
On Fri, Nov 4, 2011 at 11:09 AM, Jason Reilly <[email protected]> wrote:
> Hi all,
>
> I am trying to get web services deployed and successfully callable from a
> CXF/Karaf environment. I have Karaf running and CXF installed and a
> HelloWorld service deployed. My problem is within the client. I keep
> running into errors. The first error looks like this:
>
> INFO: Creating Service {http://<snipped-namespace>}HelloWorldService from
> class <snipped-package>.HelloWorld
> Exception in thread "main" java.lang.NoSuchMethodError:
> org.apache.ws.commons.schema.XmlSchemaCollection.read(Lorg/w3c/dom/Document;Ljava/lang/String;)Lorg/apache/ws/commons/schema/XmlSchema;
> at
> org.apache.cxf.common.xmlschema.SchemaCollection.read(SchemaCollection.java:130)
> at
> org.apache.cxf.databinding.AbstractDataBinding.addSchemaDocument(AbstractDataBinding.java:177)
>
> There were a number of threads I read up to instruct me to ensure that
> XmlSchema Core version 2.0.1 is in my classpath. In my Maven POM, I have
> the following:
>
> <dependency>
> <groupId>org.ops4j.pax.logging</groupId>
> <artifactId>pax-logging-service</artifactId>
> <scope>provided</scope>
> </dependency>
> <dependency>
> <groupId>org.ops4j.pax.logging</groupId>
> <artifactId>pax-logging-api</artifactId>
> <scope>provided</scope>
> </dependency>
> <dependency>
> <groupId>org.apache.geronimo.specs</groupId>
> <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
> <version>1.1.3</version>
> </dependency>
> <dependency>
> <groupId>javax.xml.bind</groupId>
> <artifactId>jaxb-api</artifactId>
> <version>2.2.5</version>
> </dependency>
> <dependency>
> <groupId>org.apache.geronimo.specs</groupId>
> <artifactId>geronimo-jaxws_2.2_spec</artifactId>
> <version>1.1</version>
> </dependency>
> <dependency>
> <groupId>org.apache.ws.xmlschema</groupId>
> <artifactId>xmlschema-core</artifactId>
> <version>2.0.1</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-frontend-jaxws</artifactId>
> <version>2.5.0</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-transports-http</artifactId>
> <version>2.5.0</version>
> </dependency>
>
>
> The client code snippet is as follows:
>
> JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
> factory.getInInterceptors().add(new LoggingInInterceptor());
> factory.getOutInterceptors().add(new LoggingOutInterceptor());
> factory.setServiceClass(HelloWorld.class);
> factory.setAddress("http://localhost:8181/HelloWorld?wsdl");
> HelloWorld client = (HelloWorld) factory.create();
> String reply = client.findById(2L);
> System.out.println("Server said: " + reply);
> System.exit(0);
>
> The server side code looks like this:
>
> @WebService()
> public class HelloWorld {
>
> private final Logger log = LoggerFactory.getLogger(HelloWorld.class);
>
> @WebMethod
> public String findById(@WebParam(name = "id") Long id) {
> log.info("id: " + id);
> return "asdfasdf";
> }
>
> @WebMethod
> public String findByNameAndInstrument(@WebParam(name = "name") String
> name,
> @WebParam(name = "instrument") String instrument) {
> return "qwerqwer";
> }
>
> }
>
> When I request "http://localhost:8181/cxf/HelloWorld/findById", I am
> returned a soap envelope with the body containing "asdfasdf". This
> indicates to me that the server side is fine....just something amiss with
> the client.
>
> Any suggestions?
>
>
> --
> Jason Reilly
> Software Engineer
>
>
--
Jason Reilly
Software Engineer