J'ai essayé de consommer un service de repos WCF .net en utilisant JAX-WS récemment. En raison de la sécurité du service, je dois définir une autorisation d'en-tête HTTP personnalisée avec une certaine signature. Ce que j'ai résolu en faisant quelque chose comme ceci:jax-ws: paramètre Content-Type de demande
BindingProvider bp = (BindingProvider) port;
bp.getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS,
Collections.singletonMap("Authorization",Collections.singletonList(authHeader)));
Cependant, je reçois une exception lors de l'appel du 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)
Et il me semble qu'il pourrait y avoir une exigence pour ma demande dans le service pour être text/xml content-type. Comment est-ce que je règle ceci? J'ai beaucoup googlé et j'ai lu de la documentation, mais je n'arrive pas à la comprendre. L'exception peut bien sûr être autre chose que le paramètre Content-Type (puisque j'ai lu que par défaut jax-ws utilise text/xml) mais je ne suis pas sûr.
Merci d'avance!
Merci pour la réponse - donc vous pensez que la demande est effectivement allé à la wbservice et je reçois peut-être un message d'erreur sous la forme de html? Cela pourrait être en fait ... –