Reputation: 2467
I am new to Webservices. when i try to create a webservice I am getting following error.
Error: java.lang.RuntimeException: org.apache.cxf.service.factory.ServiceConstructionException
java.lang.RuntimeException: org.apache.cxf.service.factory.ServiceConstructionException
at org.apache.cxf.frontend.AbstractServiceFactory.createService(AbstractServiceFactory.java:80)
at org.apache.cxf.tools.java2wsdl.processor.JavaToWSDLProcessor.process(JavaToWSDLProcessor.java:101)
at org.apache.cxf.tools.java2ws.JavaToWSContainer.processWSDL(JavaToWSContainer.java:110)
at org.apache.cxf.tools.java2ws.JavaToWSContainer.execute(JavaToWSContainer.java:75)
at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103)
at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:58)
at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:40)
at org.apache.cxf.tools.java2ws.JavaToWS.run(JavaToWS.java:77)
at org.apache.cxf.tools.java2ws.JavaToWS.main(JavaToWS.java:45)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException
at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:297)
at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:474)
at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:685)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:536)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:248)
at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:205)
at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101)
at org.apache.cxf.frontend.AbstractServiceFactory.createService(AbstractServiceFactory.java:78)
... 8 more
Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 20 counts of IllegalAnnotationExceptions
Class has two properties of the same name "boardingPoint"
this problem is related to the following location:
at public java.lang.String com.abhibus.oprs.pojo.booking.PrintTicket.getBoardingPoint()
at com.abhibus.oprs.pojo.booking.PrintTicket
at com.abhibus.oprs.pojo.booking.TicketBooking
at com.abhibus.oprs.pojo.booking.ServicePassengerBookingInfo
I am stuck up with this from past two days. Here in this scenario, ServicePassengerBookingInfo extends TicketBooking and TicketBooking extends PrintTicket. I have defined a property called boardingPoint in Printticket pojo.
Please let me know how to solve this
endpoint source
public class SaveTicketBookingInfo {
private Long serviceId;
private Integer adults;
private Integer childs;
private String journeyType;
private Integer journeyTime;
private Long startPlaceId;
private Long endPlaceId;
private Long loginUserId;
private String paxSeatDetails[];
private int totalSeatsBooked = 0;
private Long categoryCodeId[];
private Long genderCodeId[];
private String passengerName[];
private Double passengerAge[];
private String seatDetails[];
private Double fareDetails[];
private Double forwardAdultFare;
private Double forwardChildFare;
private double concPerChildPax = 0;
private int maxPassengerAllowed;
private String concApplyToChild;
private int departureDay[];
private String srvcPlatformNo[];
private Double concPriceForward;
private String bookingTypeForward;
private Double concPriceReturn;
private String retConc;
private String bookingTypeReturn;
private Long mealIdReturn[];
private Long mealIdForward[];
private Double mPriceReturn[];
private Double mPriceForward[];
private Integer mQtyForward[];
private Integer mQtyReturn[];
private Long depotIds[];
private Long srvcStationId[];
private Long accomodationId[];
private Double tollsPrice[];
private String acFlag[];
private String ticketType;
private String cancelTicketType;
private String stockNumber;
private String stockKey;
private String cancelType;
private String seatNos;
private int concNoPassengers;
private String seatsBooked;
private Long serviceCategoryId;
private Long concessionId;
private Double tollFare;
private String bookingType;
private String departureTime;
private String arrivalTime;
private Double totalAmount;
private String cardNumber;
private Double[] bookingTollFare;
private Double returnAdultFare;
private Double returnChildFare;
private int retTotalPax = 0;
private Double refundPrice;
private Double refundSrtPrice;
private Double refundTollFee;
private Double refundMealPrice;
private Double refundAccomPrice;
private Double refundTotalAmount;
private Long forwardServiceId;
private Long returnServiceId;
private Long stationId[];
private String searchType;
private String journeyDate;
private String returnJourneyDate;
private String[] platFormNo;
private boolean agentBooking;
private boolean eBooking;
private Auditor auditor;
}
with setter and getter methods
Upvotes: 2
Views: 12554
Reputation: 2424
I had errors of this type:
Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 count of IllegalAnnotationExceptions
Two classes have the same type name "{...}" . Use @XmlType.name and XmlType.namespace to give them different names.
this problem is related to the following location:
at public com.myapp.package.ClassName
Specifying the @XmlType namespace - as suggested in the output - for the class (in above example, ClassName) fixed it for me.
Upvotes: 0
Reputation: 103797
You can see the root cause in the stack trace you've posted:
Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 20 counts of IllegalAnnotationExceptions
Class has two properties of the same name "boardingPoint"
this problem is related to the following location:
at public java.lang.String com.abhibus.oprs.pojo.booking.PrintTicket.getBoardingPoint()
This is the root cause - implicitly or explicitly, you're defining a class with ambiguous mappings, so that two things map to the same name. Unsurprisingly this can't be resolved, so the server fails to start up.
Without the full source of the PrintTicket
class I couldn't say what's causing this, but look at how you're annotating its properties. It could be that you're exporting both fields and methods (so a getter would clash with the field), or you've got two getter methods that match (e.g. isBoardingPoint
and getBoardingPoint
), etc.
Upvotes: 2