Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > пробела с jax ws web сервисом


Автор: Vasyan 5.11.2009, 14:49
Господа!! помогите пожалуйста!!! 

Есть веб сервис на который клиент шлет аудио файл (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 сообщение с необходимой инфой и это будет работать??? 
Направте на путь истинный!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)