0

I'm trying to run webservice that is generated from wsdl using cxf.

  1. get sample wsdl (hello_world.wsdl)
  2. Generate java code from wsdl
  3. Since service implimentation is missing in generated code, I got GreeterImpl from here
  4. 'ant compile' is successful.
  5. 'ant GreeterServer' is not successful.

What am I missing?


compile:

GreeterServer:
  [java] Starting Server
  [java] After implementor
  [java] Before publish
  [java] Exception in thread "main" java.lang.ExceptionInInitializerError
  [java]     at org.eclipse.jetty.util.component.AbstractLifeCycle.<clinit>(AbstractLifeCycle.java:33)
  [java]     at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.activate(JettyHTTPDestination.java:178)
  [java]     at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:48)
  [java]     at org.apache.cxf.binding.AbstractBaseBindingFactory.addListener(AbstractBaseBindingFactory.java:97)
  [java]     at org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFactory.java:901)
  [java]     at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:131)
  [java]     at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:349)
  [java]     at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:247)
  [java]     at org.apache.cxf.jaxws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:151)
  [java]     at javax.xml.ws.Endpoint.publish(Endpoint.java:57)
  [java]     at org.apache.hello_world_soap_http.Greeter_SoapPort_Server.<init>(Greeter_SoapPort_Server.java:21)
  [java]     at org.apache.hello_world_soap_http.Greeter_SoapPort_Server.main(Greeter_SoapPort_Server.java:26)
  [java] Caused by: java.lang.IllegalArgumentException: key can't be empty
  [java]     at java.lang.System.checkKey(System.java:774)
  [java]     at java.lang.System.getProperty(System.java:647)
  [java]     at org.eclipse.jetty.util.log.Log$1.run(Log.java:122)
  [java]     at java.security.AccessController.doPrivileged(Native Method)
  [java]     at org.eclipse.jetty.util.log.Log.<clinit>(Log.java:85)
  [java]     ... 12 more
  [java] Java Result: 1

BUILD SUCCESSFUL
Total time: 1 second
Sean
  • 17
  • 4

1 Answers1

1

Not sure what would cause this. It seems like somehow, your JVM is returning a null property name from System.getProperties().propertyNames(). Prior to calling into the cxf code, can you try something like:

@SuppressWarnings("unchecked")
Enumeration<String> systemKeyEnum = (Enumeration<String>)System.getProperties().propertyNames();
while (systemKeyEnum.hasMoreElements()) {
    String key = systemKeyEnum.nextElement();
    String val = System.getProperty(key);
    System.out.println(key + ": " + val);
}

and seeing if that actually works?

Daniel Kulp
  • 14,447
  • 4
  • 45
  • 37
  • Yes, it prints well. I have no idea what makes the problem. This is actual project files. [source](https://www.dropbox.com/s/nym2ojb8brpz5pc/cxf_test.zip) Thank you. – Sean Nov 15 '12 at 04:27