【问题标题】:Unsupported Content-Type: text/html; charset=UTF-8 Supported ones are: [text/xml] in Jdev不支持的内容类型:文本/html; charset=UTF-8 支持的有:[text/xml] in Jdev
【发布时间】:2022-04-05 15:44:32
【问题描述】:

我试图通过生成代理客户端在 Jdev 中使用来自 SoapUI 的模拟服务,但我在 Jdev 中不断收到以下异常:

Exception in thread "main" com.sun.xml.internal.ws.server.UnsupportedMediaException: Unsupported Content-Type: text/html; charset=iso-8859-1 Supported ones are: [text/xml]
    at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:284)
    at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:118)
    at com.sun.xml.internal.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:278)
    at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:180)
    at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:83)
    at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:105)
    at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587)
    at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546)
    at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531)
    at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428)
    at com.sun.xml.internal.ws.client.Stub.process(Stub.java:211)
    at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:124)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
    at $Proxy33.searchOrder(Unknown Source)
    at beans.util.search.ShowOrderSearchResults.getOrderSearchResults(ShowOrderSearchResults.java:43)
    at beans.util.search.ShowOrderSearchResults.main(ShowOrderSearchResults.java:32)

谁能告诉我这可能是什么原因,因为我是 web 服务的新手。

【问题讨论】:

  • 这似乎是两件事之一:您没有发送正确的 SOAP 请求(XML 格式),或者您的 WS 期望 Content-Type http 标头设置为 text/xml; charset=iso-8859-1

标签: java web-services soapui


【解决方案1】:

这个错误不是关于请求的,而是关于响应的。 JAX-WS client-side 运行时已发送请求并即将处理响应,但响应不是预期的 text/xml(SOAP 响应)。两个可能的根本原因:

  1. 您为 Web 服务使用了错误的 URL,Web 服务器发送了 HTML 响应,其中包含 URL 的内容或错误页面 - 例如 404 Not found。
  2. Web 服务内部出现问题(例如未处理的异常),Web 服务器发送带有错误信息的 HTML 响应 - 例如 500 Internal server error。

【讨论】:

    【解决方案2】:

    我在对以下问题的回答中详细介绍了处理这些无效响应的可能原因、解决方法和解决方案:

    UnsupportedMediaException -> how do you get the actual response?

    该答案的摘要:

    • 设置调试选项以转储 HTTP 请求+响应以调查错误
    • 可选择重写回复的Content-type 以更好地适应您获得的内容
    • 使用自定义 HTTP 处理代码检索应用程序中的 HTTP 正文内容

    【讨论】:

      猜你喜欢
      • 2019-11-23
      • 2023-02-15
      • 2015-03-26
      • 2012-01-05
      • 2014-09-18
      • 2018-07-24
      • 2015-11-01
      • 1970-01-01
      • 2018-06-11
      相关资源
      最近更新 更多