Hello All,
Scenario: Sending an image through webservice as byte array to an Java webservice.
The Problem1: The webservice method image property expects (data type) SByte rather than Byte array. Thus i'm converting a byte array to sbyte array and sending through web service. The converted SByte contains negative numbers wihch are resulting in an error "java.lang.ArrayIndexOutOfBoundsException: -106"
Byte[] => SByte[]...error "java.lang.ArrayIndexOutOfBoundsException: -106"
The Problem2: Also if i before converting Byte array to SByte array Encode the the Byte array and then later convert to Sbyte then the java web service method save the file on the server but it isn't recognised as an Image type file.
Byte[] => Encode base64 => SByte...Saved file isn't an Image(valid/original) file type.
If any one have dealth with similar set of situtation before, kindly post your answer.
-106
java.lang.ArrayIndexOutOfBoundsException: -106
at org.apache.commons.codec.binary.Base64.isBase64(Ba se64.java:137)
at org.apache.commons.codec.binary.Base64.discardNonB ase64(Base64.java:478)
at org.apache.commons.codec.binary.Base64.decodeBase6 4(Base64.java:374)
at com.recare.ws.scanning.ScannedPageWTO.initDTO(Unkn own Source)
at com.recare.ws.scanning.ScannedDocWTO.initDTO(Unkno wn Source)
at com.recare.ws.scanning.ScanDocWebService.saveNewDo cument(Unknown Source)
at com.recare.ws.scanning.ScanDocWebServiceImpl.saveN ewDocument(Unknown Source)
at com.recare.ws.scanning.ScanDocWebServiceMessageRec eiverInOut.jibxReceiver0(Unknown Source)
at com.recare.ws.scanning.ScanDocWebServiceMessageRec eiverInOut.invokeBusinessLogic(Unknown Source)
at org.apache.axis2.receivers.AbstractInOutMessageRec eiver.invokeBusinessLogic(AbstractInOutMessageRece iver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver .receive(AbstractMessageReceiver.java:100)
at org.apache.axis2.engine.AxisEngine.receive(AxisEng ine.java:176)
at org.apache.axis2.transport.http.HTTPTransportUtils .processHTTPPostRequest(HTTPTransportUtils.java:27 5)
at org.apache.axis2.transport.http.AxisServlet.doPost (AxisServlet.java:133)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.processConnection(Http11Protocol.jav a:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Thanks in advance
Ksheera Sagar