JBoss EAP 6.1.0.Beta1 애플리케이션 서버에 배치 된 JAX-WS 웹 서비스 용 JAXB 공급자로 EclipseLink MOXy를 사용하려고합니다. 지금은 javax.xml.ws.Provider
을 설명한대로 here을 입력하고 웹 서비스에 사용 된 Provider
구현 및 도메인 클래스가 포함 된 패키지에 jaxb.properties
파일을 배치합니다. 다음은이 파일의 내용은 다음과 같습니다JBoss EAP 6.1에서 JAX-WS 용 EclipseLink MOXy 사용하기
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
나는 로그에 다음과 같은 오류가 서비스를 포함하는 웹 응용 프로그램을 배포 할 때 :
@XmlValue is not allowed on a class that derives another class
주된 이유 JAXB-으로 뜸을 사용하기를 공급자가 내 경우에 서브 클래스에서 @XmlValue
주석을 사용할 수 있어야합니다. MOXy를 사용하는 테스트 응용 프로그램에서 웹 서비스에 사용 된 것과 동일한 클래스로 언 마샬하려고하면이 오류가 발생하지 않습니다. 또한 org.eclipse.persistence
패키지와 해당 하위 패키지의 스택 트레이스에는 클래스가 없으며 대신 com.sun.xml.bind.v2
클래스 만 있습니다. 분명히, MOXy는 웹 애플리케이션이 배치 될 때 사용되지 않습니다. org.eclipse.persistence
에서 필요한 모든 메이븐 아티팩트는 WAR 파일에 있습니다 : 내가 잘못 뭐하는 거지
$ jar tf my-app.war | grep org.eclipse.persistence
WEB-INF/lib/org.eclipse.persistence.antlr-2.5.0.jar
WEB-INF/lib/org.eclipse.persistence.asm-2.5.0.jar
WEB-INF/lib/org.eclipse.persistence.moxy-2.5.0.jar
WEB-INF/lib/org.eclipse.persistence.core-2.5.0.jar
? 늘어나는만큼 이해 웹 서비스가 호출 될 때 Provider
런타임에 호출됩니다. 그러나 배포 시간에 오류가 발생합니다. Provider
외에 뭔가를 다시 구현해야합니까?
나는 이것을 시도했다. MOXy API를 사용할 수 있습니다. – vect