Complex JAX-WS Objects

I am testing a JAX-WS sample at sortedset.com (Apache CXF, TomEE) and I have modified it to include a complex object. I am getting NullPointerException

in org.apache.cxf.jaxb.Utils.getMethodXJTA(Utils.java:294)

. Is there a missing annotation in my code? Or is there still work to be done for marshaling complex objects?

 import javax.jws.WebService; 

    @WebService(
            portName = "HelloTomEEPort",
            serviceName = "HelloTomEEService",
            targetNamespace = "http://sortedset.com/wsdl",
            endpointInterface = "HelloTomEEWs")
    public class HelloTomEEIMplementation implements HelloTomEEWs {

       public Person getPerson(){
            Person p =  new Person();
            p.setID(5);
            p.setName("Tom");
            return p;
        }

    }

      


import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService(targetNamespace = "http://sortedset.com/wsdl")
public interface HelloTomEEWs {
    @WebMethod    
    public Person getPerson();


}

      


import javax.xml.bind.annotation.XmlRegistry;

@XmlRegistry
public class Person{
 /**
     * 
     */
private int iD;
 private String name;
public int getID() {
    return iD;
}
public void setID(int iD) {
    this.iD = iD;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}

}

      

SEVERE: CXF Web Service Deployment Error for Servlet HelloTomEEIMplementation java.lang.NullPointerException when org.apache.cxf.jaxb.Utils.getMethodXJTA (Utils.java:294) in org.apache.cxf.jaxbalk.JAXBContextInitializer (. java: 375) to org.apache.cxf.jaxb.JAXBContextInitializer.addClass (JAXBContextInitializer.java:329) to org.apache.cxf.jaxb.JAXBContextInitializer.addType (JAXBContextInitializer.addType: JAXBContextInitializer.jaxb. .JAXBContextInitializer.addType (JAXBContextInitializer.java:222) at org.apache.cxf.jaxb.JAXBContextInitializer.walkReferences (JAXBContextInitializer.java:365) at org.apache.Initializer.java:365) at org.apache.Initializer. org.apache.cxf.jaxb.JAXBContextInitializer.begin (JAXBContextInitializer.java:183) in org.apache.cxf.service.ServiceModelVisitor.visitOperation (ServiceModelVisitor.java:109) at org.apache.cxf.service.ServiceModelVisitor.walk (ServiceModelVisitor.java:74) at org.apache.cxf.jaxb.JAXBDataBinding.initialize (JAXBDataBinding.java:325) .cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings (AbstractServiceFactoryBean.java:86) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass (ReflectionBeanFean.buildServiceFromClass (ReflectionBeanFeatures.) .buildServiceFromClass (JaxWsServiceFactoryBean.java:697) in org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel (ReflectionServiceFactoryBean.javaBean.java.factoryBean.java.factoryBean. ) in org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create (JaxWsServiceFactoryBean.java:214) at org.apache.openejb.server.cxf.CxfEndpoint.doServiceCreate (CxfEndpoint.java:101) at org.apache.openejb.server.cxf.pojo.PojoEndpoint (PojoEndpoint.java:67) at org.apache.openejb.server.cxf.pojo.PojoWsContainer.createEndpoint (PojoWsContainer.java:70) at org.apache.openejb.server.cxf.pojo.PojoWsContainer.jocreateEndpoint : 45) at org.apache.openejb.server.cxf.CxfWsContainer.start (CxfWsContainer.java:50) at org.apache.openejb.server.cxf.CxfService.createPojoWsContainer (CxfService) .java.102 openejb.server.webservices.WsService.afterApplicationCreated (WsService.java:390) at org.apache.tomee.webservices.TomeeJaxWsService.afterApplicationCreated (TomeeJaxWsService.javalect.NativeMethod) at sun.refhodinctive reflect.NativeMethodAccessorImpl.invoke (Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown Source) at java.lang.reflect.Method.invoke (Unknown Source) at org.apache.openejb.observer.ObserverManver (ObokeManver java: 149) at org.apache.openejb.observer.ObserverManager.fireEvent (ObserverManager.java:69) at org.apache.openejb.loader.SystemInstance.fireEvent (SystemInstance.java:108) at org.apache.tomee.catalina .TomcatWebAppBuilder.afterStart (TomcatWebAppBuilder.java:1608) at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent (GlobalListenerSupport.java:113) at org.apache.catalinaSupport.util.LifeEort at org.apache.catalinacycle.util.LifeEort org.apache.catalina.util.LifecycleBase.fireLifecycleEvent (LifecycleBase.java:90) at org.apache.catalina.util.LifecycleBase.setStateInternal (LifecycleBase.java:402) at org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:168) at org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1559) at org .apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1549) at java.util.concurrent.FutureTask.run (Unknown source) at java.util.concurrent.ThreadPoolExecutor.runWorker (Unknown source) at java. util.concurrent.ThreadPoolExecutor $ Worker.run (Unknown source) at java.lang.Thread.run (Unknown source)run (Unknown source) at java.util.concurrent.ThreadPoolExecutor.runWorker (Unknown source) at java.util.concurrent.ThreadPoolExecutor $ Worker.run (Unknown source) at java.lang.Thread.run (Unknown source)run (Unknown source) at java.util.concurrent.ThreadPoolExecutor.runWorker (Unknown source) at java.util.concurrent.ThreadPoolExecutor $ Worker.run (Unknown source) at java.lang.Thread.run (Unknown source)

+3


source to share


1 answer


try using @XmlType

instead@XmlRegistry



0


source







All Articles