2009-08-30 15 views
6

最近、JAX-WSを使用して.net WCF restサービスを使用しようとしていました。サービスのセキュリティのために、カスタムHTTPヘッダー認証をいくつかの署名付きで設定する必要があります。この私がこのような何かを行うことによって解決してきました:jax-ws:設定内容 - リクエストのタイプ

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) 

そして、私の要求のための要件が​​あるかもしれないと私には思える:サービスを呼び出すときに

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

はしかし、私は例外を取得text/xmlのcontent-typeになるサービスでは、これはどのように設定するのですか?私はたくさんのグーグルで検索し、いくつかのドキュメントを読んだが、私はそれを理解していないようだ。もちろん、例外はContent-Type設定以外のものでもかまいません(私はデフォルトでjax-wsがtext/xmlを使用していることを読んでいるので)。しかし、わかりません。

ありがとうございます!

答えて

8

返信としてtext/htmlコンテンツタイプが戻ってきています。

このエラーが発生したほとんどの場合、サーバーはHTMLエラーページを送信していました。

レスポンスをログに記録する方法がある場合は、問題の内容を正確に把握できるはずです。

+0

返信ありがとうございます - あなたはリクエストが実際にwbserviceに送られたと思いますので、HTML形式のエラーメッセージが返ってくることがありますか?これは実際には... –

関連する問題