【问题标题】:415 Unsupported Media Type JAX-WS415 不支持的媒体类型 JAX-WS
【发布时间】:2016-02-19 06:50:58
【问题描述】:

我正在使用 JAX-ws 生成渲染器 WSDL 的客户端代码。当我尝试将请求发送到服务器时,我得到以下信息。是否有任何与代码或任何配置问题或服务器端更改相关的事情??

代码:

byte[] tif = //method call to get byte[] data.
ByteArrayInputStream bais = new ByteArrayInputStream(tif); 
DataHandler inData = new DataHandler(bais, "application/octet-stream");
new MDIVRS().getRenderingServiceSoap().renderDocument(bstrRenderer, inData, bstrFileName, plBeginPage, plEndPage, pbstrImageType, ppParams, ppPagesData, pbstrErrMsg);

SOUP UI RAW 输入:

POST http://10.96.85.124/MRSMTOMSrv/RenderingService.asmx HTTP/1.1

Accept-Encoding: gzip,deflate

Content-Type: text/xml;charset=iso-8859-1

SOAPAction: "http://mdivrs.myapplication.com/renderDocument"

Content-Length: 10926

Host: 11.22.33.44

Connection: Keep-Alive

User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

SOUP UI 原始输出:

HTTP/1.1 415 Unsupported Media Type

Cache-Control: private

Transfer-Encoding: chunked

Content-Type: text/html

Server: Microsoft-IIS/7.5

X-AspNet-Version: 2.0.50727

X-Powered-By: ASP.NET

Date: Fri, 19 Feb 2016 06:09:40 GMT

服务器无法为请求提供服务,因为媒体类型不受支持。

堆栈跟踪 JDK 6 中的 JAX-WS RI 2.1.6:http://11.11.11.11/MRSMTOMSrv/RenderingService.asmx?WSDL 的存根

com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 415: Unsupported Media Type
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:196)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:168)
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 $Proxy35.renderDocument(Unknown Source)
at come.on.Previous.renderDocument1(Previous.java:107)
at come.on.Previous.main(Previous.java:41)

【问题讨论】:

    标签: java web-services jax-ws


    【解决方案1】:

    可能的原因:

    You have not included Jackson libraries in your classpath
    Check your spring XML configuration if you have added below tag or not
    Probably JSON data not correctly created. Please check your JSON object before sending request to the controller.
    You could use JSONLint to validate your JSON data format.
    Check JSON object property name is correctly matching with your Spring MVC controller domain object
    Finally check your request mapping in controller.
    

    【讨论】:

    • 我没有在我的整个程序中使用 spring 和 JSON。所以,我会尽量保留杰克逊图书馆,让你知道。而且我正在使用 eclipse 来启动程序。在这里,我将数据作为字节 [] 传递,这是代码。 ByteArrayInputStream bais = new ByteArrayInputStream(tif); DataHandler inData = new DataHandler(bais, "application/octet-stream");
    猜你喜欢
    • 1970-01-01
    • 2014-05-10
    • 2019-05-01
    • 1970-01-01
    • 2017-06-30
    • 2017-07-05
    • 2016-11-26
    相关资源
    最近更新 更多