jax-ws: Einstellung der Content-Type der Anfrage

Ich versucht habe, zu verbrauchen .net WCF rest service mit JAX-WS in letzter Zeit. Aufgrund der Sicherheit des service, habe ich haben, um einen benutzerdefinierten HTTP-header Authorization mit einigen Unterschrift zu. Dies habe ich gelöst, indem man Folgendes tut:

BindingProvider bp = (BindingProvider) port;
bp.getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS,
                                Collections.singletonMap("Authorization",Collections.singletonList(authHeader)));

Allerdings bekomme ich eine exception beim Aufruf der service:

com.sun.xml.internal.ws.server.UnsupportedMediaException: Unsupported Content-Type: text/html; charset=UTF-8 Supported ones are: [text/xml]
com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:284)
com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:118)
com.sun.xml.internal.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:278)
com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:180)
com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:83)
com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:105)

Und es scheint mir, dass es möglicherweise eine Anforderung für mein verlangen in den Dienst zu text/xml content-type. Wie setze ich diese? Ich habe gegoogelt, viel, und Lesen Sie einige Unterlagen, aber ich kann nicht scheinen, um es herauszufinden. Die Ausnahme könnte natürlich auch etwas anderes sein als der Inhalt-Typ-Einstellung (da ich gelesen habe, dass standardmäßig jax-ws verwendet text/xml), aber ich bin mir nicht sicher.

Vielen Dank im Voraus!

InformationsquelleAutor El Che | 2009-08-30

Schreibe einen Kommentar