#java #soap #weblogic #jpeg #datahandler
#java #soap #weblogic #jpeg #datahandler
Вопрос:
У меня возникла проблема с отправкой jpg на datahandler в webservice.Эта проблема возникает только с файлами jpg, а не с другими типами.Каким-то образом, когда я пытаюсь отправить через веб-сервис, тот же метод не может найти файл и показывает исключение IOException.
InputStream
at com.hp.mps.onlinetransactions.actions.SikayetAction.generalErrorMessageForSrOperation(SikayetAction.java:477)
at com.hp.mps.onlinetransactions.actions.SikayetAction.process(SikayetAction.java:248)
at com.hp.mps.common.base.MPSBaseAction.execute(MPSBaseAction.java:708)
at com.hp.mps.infrastructure.mvc.ControllingServlet.chainProcess(ControllingServlet.java:1000)
at com.hp.mps.infrastructure.mvc.ControllingServlet.service(ControllingServlet.java:654)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at com.hp.mps.common.util.DoubleSubmitFilter.doFilter(DoubleSubmitFilter.java:86)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3748)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3714)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2283)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2182)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1499)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: java.io.IOException: Unable to encode the image to a stream ImageDataContentHandler requires Image object, was given object of type class java.io.FileInputStream
at com.sun.xml.ws.encoding.ImageDataContentHandler.writeTo(ImageDataContentHandler.java:174)
at .DataHandlerAttachment.writeTo(DataHandlerAttachment.java:122)
at com.sun.xml.ws.encoding.MimeCodec.encode(MimeCodec.java:155)
at com.sun.xml.ws.encoding.SwACodec.encode(SwACodec.java:57)
at com.sun.xml.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:261)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:189)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:124)
at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:118)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:866)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:815)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:778)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:680)
at com.sun.xml.ws.client.Stub.process(Stub.java:272)
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:153)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:115)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:95)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:136)
at com.sun.proxy.$Proxy427.saveFile(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at weblogic.wsee.jaxws.spi.ClientInstanceInvocationHandler.invoke(ClientInstanceInvocationHandler.java:84)
at com.sun.proxy.$Proxy236.saveFile(Unknown Source)
at com.hp.mps.onlinetransactions.beans.SikayetFileOperationsBean.saveFile(SikayetFileOperationsBean.java:66)
at com.hp.mps.onlinetransactions.actions.SikayetAction.getDocIdFromFileServer(SikayetAction.java:317)
at com.hp.mps.onlinetransactions.actions.SikayetAction.fillDocumentMap(SikayetAction.java:259)
at com.hp.mps.onlinetransactions.actions.SikayetAction.process(SikayetAction.java:209)
... 20 more
Комментарии:
1. Пожалуйста, добавьте некоторые подробности и код, чтобы лучше понять ваш вопрос
2. «Вызвано: java.io.IOException: невозможно закодировать изображение в поток ImageDataContentHandler требуется объект изображения, был задан объект типа class java.io.FileInputStream» — кажется, проблема прямо там?