我是Webservices的新手。当我尝试创建一个Web服务时,我遇到了错误。
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。我在Printticket pojo中定义了一个名为boardingPoint的属性。
请让我知道如何解决这个问题
端点来源
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;
}
使用setter和getter方法
答案 0 :(得分:1)
您可以在已发布的堆栈跟踪中看到 root 原因:
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
类的完整来源,我无法说出导致这种情况的原因,而是看看你是如何注释它的属性的。可能是您要导出字段和方法(因此getter会与字段冲突),或者您有两个匹配的getter方法(例如isBoardingPoint
和{{ 1}})等。
答案 1 :(得分:0)
我遇到此类错误:
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
为类(在上面的示例中为ClassName)为输出指定@XmlType命名空间-如输出中所建议-