2012-07-02 3 views
0

Я новичок в веб-сервисах. когда я пытаюсь создать веб-сервис, я получаю следующую ошибку.Что такое java.lang.RuntimeException: org.apache.cxf.service.factory.ServiceConstructionException

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 

Я застрял в этом за последние два дня. Здесь в этом случае ServicePassengerBookingInfo расширяет TicketBooking и TicketBooking расширяет PrintTicket. Я определил свойство под названием boardingPoint в Printticket pojo.

Пожалуйста, дайте мне знать, как решить эту

источник конечной

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; 
} 

с установки и получения методов

+0

Пожалуйста, оставьте свои endpoint source –

+0

Я добавил исходный файл –

+0

Ouch, класс с 75 полями? Как в стороне к текущему вопросу, который может * определенно быть реорганизованным, чтобы быть более разумным. Например, добавьте класс «Пассажир» с полом, возрастом и т. Д., И у вас есть только «закрытый список » в родительском классе (как и в случае с «Аудитором»), а не «взрослым», «дочерним» ',' passengerName [] ',' passengerAge [] ',' genderCodeId [] 'и т. д. –

ответ

1

Вы можете увидеть корень причину в трассировке стека вы публикуемую :

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() 

Это основная причина - неявно или явно, вы определяете класс с двусмысленными сопоставлениями, так что две вещи сопоставляются с тем же именем. Неудивительно, что это невозможно решить, поэтому сервер не запускается.

Без полного источника класса PrintTicket Я не мог сказать, что вызывает это, но посмотрите, как вы аннотируете его свойства. Это может быть, что вы экспортировать оба поля и методы (так геттер будет конфликтовать с полем), или у вас есть два метода геттер, которые соответствуют (например, isBoardingPoint и getBoardingPoint) и т.д.

+0

hi doyle, у меня нет двух методов геттера. Я установил и получаю методы только в классе PrintTicket. Это что-то из-за того, что ServicePassengerBookingInfo расширяет TicketBooking и TicketBooking расширяет PrintTicket. –

Смежные вопросы