class [Class] do not have a property of the name [property]
Recently i came across this error when i tried to create a wsdl for sei class using wsgen tool.
Full exception is as below.
javax.xml.ws.WebServiceException: class my.package.web.soap.service.jaxws.MyClass do not have a property of the name myProperty
at com.sun.xml.ws.server.sei.EndpointArgumentsBuilder$DocLit.<init>(EndpointArgumentsBuilder.java:608)
at com.sun.xml.ws.server.sei.TieHandler.createArgumentsBuilder(TieHandler.java:143)
at com.sun.xml.ws.server.sei.TieHandler.<init>(TieHandler.java:115)
at com.sun.xml.ws.db.DatabindingImpl.<init>(DatabindingImpl.java:112)
at com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:75)
at com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:59)
at com.sun.xml.ws.db.DatabindingFactoryImpl.createRuntime(DatabindingFactoryImpl.java:128)
at com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:436)
at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:270)
at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:147)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:574)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:557)
Reason for this is that there exist another web method or soap operation with same name as MyClass. WSGEN tool create a separate classes for every web operation inside a package named "jasws" that resides in same package that has the service interface. So in my scenario all of my service interfaces are in same package. So when wsgen tries to generate classes for soap operations it creates those classes in the same jaxws folder. Hence duplicate operation names will only have one class. But when this web services deployed server try to load classes with soap operation names and bind it to the service. But server see there are invalid properties declared and throw the above exception.
To overcome this issue what you can do is simply package web service interfaces and implementations in different packages. So there will be separate "jaxws" package will be created for every service interface.






