WARNUNG: Anbieter com.Sonne.xml.intern.binden.v2.ContextFactory nicht gefunden

Habe ich integriert in einer JSF-app ein paar webservices durch Jersey. Alles funktioniert einwandfrei, auch die OAuth-Identifizierung arbeitet. ABER! Beim starten von meinem webserver, ich bekomme IMMER diese Fehlermeldung :

INFO: Scanning for root resource and provider classes in the packages:
  com.mysite.webService
INFO: Root resource classes found:
  class com.mysite.webService.Accounts
INFO: No provider classes found.

INFO: Initiating Jersey application, version 'Jersey: 1.17 01/17/2013 03:31 PM'

 

 

SEVERE: The provider class, class com.sun.jersey.oauth.server.OAuthProviderInjectionProvider, could not be instantiated. Processing will continue but the class will not be utilized
java.lang.RuntimeException: No OAuthProvider implementation found in the list of providers.
    at com.sun.jersey.oauth.server.OAuthProviderInjectionProvider.<init>(OAuthProviderInjectionProvider.java:71)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

 

 

(edit2: oben ist jetzt gelöst)

und diese Warnung:

...

WARNING: Provider com.sun.xml.internal.bind.v2.ContextFactory not found
javax.xml.bind.JAXBException: Provider com.sun.xml.internal.bind.v2.ContextFactory not found
 - with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory not found by com.sun.jersey.glassfish.v3.osgi.jersey-gf-server [157]]
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:148)
    at javax.xml.bind.ContextFinder.find(ContextFinder.java:361)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:446)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:409)
    at com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.<init>(WadlApplicationContextImpl.java:95)

Hier ist mein web.xml relevanten Einträge :

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>my.site.webService</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

Meine Klassen wie folgt Aussehen :

@Path("/rest")
public class MyClass {

    @GET 
    @Path("/{id}/results")
    @Produces("application/json")
    public String getResults(@Context HttpContext hc, @PathParam("id")) {
        //...
    }
}

Ich bin mit Majorra 2.1.20 auf Glassfish 2.1.2.2 mit PrimeFaces 3.4.1 und Jersey 1.17 als addons. Die Entwicklung in Eclipse Juno falls Sie dies betrifft, nichts.

Bearbeiten

Dieser hindert mich nicht daran, alles in Ordnung mit Bezug auf webservices. Aber jedesmal, wenn ich etwas veröffentlichen auf Glassfish, der Fehler zeigt sich.

Wie bereits in einer Antwort weiter unten, diese sollten behoben wurden in der version 1.7 nach JIRA-bug-JERSEY-709. Aber ich bin sehr gut auf v. 1.17 und ich bin noch immer dieser.

Habe ich auch Hinzugefügt, wird eine Warnung ich bin immer in der Stapel-Ablaufverfolgung. Wenn dies kann helfen, festzustellen, das Problem!

Suche im web : ich habe festgestellt, Das gleiche ungelöste Problem hier

Edit 2

Als beantwortet, die Aktualisierung meiner OAuthClient.jar löste die erste error. Ich bin NOCH immer die WARNING: Provider com.sun.xml.internal.bind.v2.ContextFactory not found.

Edit 3 - Lösungsversuch

Versucht Aktualisierung JAXB nach dem, was ich dachte wäre eine Führung auf diese Frage. Dies habe nicht dazu führen, dass alles, was erfolgreich ist. Dieselbe Warnung. Beim entfernen der Jersey-bits in meine web.xml diese Warnung nicht mehr zeigen (nur um zu bestätigen, das ist wirklich der Einleitung der Ausgabe).

InformationsquelleAutor blo0p3r | 2013-03-14

Schreibe einen Kommentar