6
我一直在嘗試使用最近使用JAX-WS的.net WCF rest服務。由於服務的安全性,我必須在其中設置一個自定義的HTTP頭授權。這我已經做這樣解決:jax-ws:設置內容類型的請求
BindingProvider bp = (BindingProvider) port;
bp.getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS,
Collections.singletonMap("Authorization",Collections.singletonList(authHeader)));
不過,我調用服務時得到一個異常:
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)
而且在我看來,有可能是對我的請求的要求在服務中爲text/xml content-type。我如何設置?我搜索了很多,並閱讀了一些文檔,但我似乎無法弄清楚。這個異常當然也可以是Content-Type設置以外的東西(因爲我已經閱讀了默認的jax-ws使用text/xml),但我不確定。
在此先感謝!
感謝您的回覆 - 所以您認爲請求實際上轉到了wbservice,並且我回來了可能是html形式的錯誤消息?其實可能是...... – 2009-08-30 22:19:31