Господа!! помогите пожалуйста!!!
Есть веб сервис на который клиент шлет аудио файл (soap xml) сервис его принимает (как я сделал) в виде массив байт обрабатывает и возвращает имя уже нормального аудио файла (создан хранится на диске) Аналогично и с изображением картинкой (передача по такой же схеме)
В обоих случаях на стадии deploy Tomcat ругается на эти методы ошибками : java.io.ByteArrayInputStream does not have a no-arg default constructor. (одна из них)
| Код | @WebService() public class SendWS { @WebMethod(operationName = "getAudio") public String getAudio(@WebParam(name = "buffer") ByteArrayInputStream buffer) throws IOException { //TODO write your implementation code here: // текущий звуковой файл File file; // полное имя файла String soundFileName; // основное имя файла String filename = "samples_"; // номер файла int suffix = 0; // аудиформат AudioFileFormat.Type fileType = AudioFileFormat.Type.WAVE; // определение формата аудиоданных AudioFormat format = new AudioFormat( AudioFormat.Encoding.PCM_SIGNED,44100, 16, 1, 2, 44100, true); // создать новый файл do { // новое название файла soundFileName = filename + (suffix++) + "."+ fileType.getExtension(); file = new File(soundFileName); } while (!file.createNewFile()); AudioInputStream audioInputStream; int length = (int)((float)buffer.available() / format.getFrameSize()); // int length = buffer.getFrameLength() / 4.0f(); audioInputStream = new AudioInputStream(buffer,format,length); AudioSystem.write(audioInputStream, fileType, file);
return file.getAbsolutePath(); }
@WebMethod(operationName = "getPic") public String getPic(@WebParam(name = "buff") ByteArrayInputStream buff) throws IOException { // текущий картинка File file; // полное имя файла String imgFileName; // основное имя файла String filename = "samples_"; // номер файла int suffix = 0; // создать новый файл do { // новое название файла imgFileName = filename + (suffix++) + "."+ "png"; file = new File(imgFileName); } while (!file.createNewFile());
BufferedImage image = ImageIO.read(buff); ImageIO.write(image, "PNG", file);
return file.getAbsolutePath(); } }
|
новичок... часть смотрел с других постов ... вот что получилось... реализованно коряво наверное.. но смысл того что нужно получить вроде сделал....
И объясните плизззз на сгенерированную wsdl клиент может слать soap сообщение с необходимой инфой и это будет работать??? Направте на путь истинный!!! |