Próbowałem ostatnio skorzystać z usługi odtwarzania WC .NET przy użyciu JAX-WS. Ze względu na bezpieczeństwo usługi muszę ustawić niestandardową autoryzację nagłówka HTTP z pewną sygnaturą. To ja już rozwiązany przez robi coś takiego:jax-ws: setting Content-Type of request
BindingProvider bp = (BindingProvider) port;
bp.getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS,
Collections.singletonMap("Authorization",Collections.singletonList(authHeader)));
jednak uzyskać wyjątek podczas wywoływania usługi:
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)
I wydaje mi się, że może istnieć zapotrzebowanie na moją prośbę w usłudze o typ zawartości text/xml. Jak to ustawić? Dużo googlowałem i przeczytałem dokumentację, ale nie mogę tego zrozumieć. Wyjątkiem może być oczywiście coś innego niż ustawienie typu zawartości (ponieważ czytałem, że domyślnie jax-ws używa text/xml), ale nie jestem pewien.
Z góry dziękuję!
Dziękuję za odpowiedź - więc uważasz, że żądanie rzeczywiście trafiło do usługi wbservice i otrzymam z powrotem komunikat o błędzie w postaci html? To może być ... –