2016-03-22 11 views
1

Ich habe einen einfachen Webservice zu @GET Daten von gegeben @Path erstellt. Bei der Verwendung von @Produces(MediaType.APPLICATION_XML) alles richtig funktioniert, kann ich die XML-Ausgabe finden Sie aber während MediaType.APPLICATION_XML in MediaType.APPLICATION_JSON dieses Problem zu ändern erscheint:Java EE 7 Webservices auf Wildfly - JSON Problem

Context Pfad:/bms

Servlets Pfad:/Ressourcen

Pfad Info :/Actual

Abfrage String: null

Stack Trace o rg.jboss.resteasy.spi.LoggableFailure: RESTEASY003880: Kann nicht Kontextdaten vom Typ finden: javax.ws.rs.ext.Providers

I org.jboss.spec:jboss-javaee-7.0:1.0.3-Final von Wildfly 10 bereitgestellt verwenden

[Bearbeiten]

@Entity 
@Cacheable(false) 
@Table(name = "tblActualValueFloat") 
@XmlRootElement(name = "tblActualValueFloat") 
@XmlAccessorType(XmlAccessType.FIELD) 
public class ActualValueFloat extends AbstractModel { 

     /*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/ 
     @Id 
     @Column(name = "PointSliceID") 
     @XmlElement(name = "PointSliceID", required = false, type = Integer.class) 
     private Integer id; 
     @Column(name = "ActualValue") 
     @XmlElement(name = "ActualValue", required = false, type = Double.class) 
     private Double value; 
     @Temporal(TemporalType.TIMESTAMP) 
     @Column(name = "UTCDateTime") 
     @XmlElement(name = "UTCDateTime", required = false, type = Date.class) 
     private Date date; 
     //setters and getters and equals 
} 

[edit2]

okay, sehe ich, dass dies mit Glassfish arbeitet 4.1, aber nicht mit Wildfly 10 .. Irgendwelche Hinweise, wie dies zu vermeiden, indem sie unter Verwendung der bereitgestellten Java E E Webdienste-API?

+0

sollten diese Abhängigkeiten genug sein:' javax: JavaEE-web-api: 7.0' und 'javax.ws.rs: javax.ws.rs-api' (Maven scope = "für beide bereitgestellt". Sie benötigen die Jboss-Spezifikationsabhängigkeit nicht. – assylias

+0

@assylias Geändert und gleiche Ausgabe :( – Rafcik

+0

Was ist der Rückgabetyp der @ GET-Methode? – assylias

Antwort

0

Okay, ich habe recherchiert, dass meine org.jboss.weld.osgi.examples: Schweiß osgi-web-fwk: 1.2.0.Beta1 mit einem Filter CORS-Header hinzufügen, org.codehaus enthalten .jackson: jackson-jaxrs, so habe ich ausgeschlossen, dass und jetzt funktioniert es richtig, auch auf Wildfly 10

1

@Rafcik ich diesen Fehler habe, als ich die org.codehaus.jackson ausgeschlossen: jackson-jaxrs:

A message body writer for Java class java.util.ArrayList, and Java type java.util.List<java.lang.String>, and MIME media type application/json was not found. 
The registered message body writers compatible with the MIME media type are: 
application/json -> 
    com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$App 
    com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$App 
    com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$App 
*/* -> 
    com.sun.jersey.core.impl.provider.entity.FormProvider 
    com.sun.jersey.core.impl.provider.entity.MimeMultipartProvider 
    com.sun.jersey.core.impl.provider.entity.StringProvider 
    com.sun.jersey.core.impl.provider.entity.ByteArrayProvider 

Ich habe den Fehler "Konnte nicht finden kontextbezogene Daten des Typs: javax.ws.rs.ext.P roviders“durch die folgende Initialisierung Code hinzufügen:

ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance(); 
ResteasyProviderFactory.pushContext(javax.ws.rs.ext.Providers.class, factory); 
ResteasyClientBuilder resteasyClientBuilder = new 
ResteasyClientBuilder().providerFactory(factory); 
ResteasyClient client = resteasyClientBuilder.build();