Try pulling out the lines:

        factory.getInInterceptors().add(new LoggingInInterceptor());
        factory.getOutInterceptors().add(new LoggingOutInterceptor());

and seeing what happens.   Please post the new stack trace.


Dan




On Thu December 17 2009 12:43:52 pm surajchhetry wrote:
> This is my code ....
> 
> @Path("/services/upload")
> @WebService(serviceName = "upload", name = "UploadWebService",
> targetNamespace = "http://ws.surajchh.com";)
> public interface TestServiceAPI {
> 
>       @Consumes("multipart/form-data")
>       @WebMethod(operationName = "video")
>       @POST
>       @Path("/video")
>       @WebResult(name = "UploadedUrl")
> 
>       public String uploadVideo(@WebParam(name = "data") @PathParam("data")
> @XmlMimeType("application/octet-stream")DataHandler data)     throws
> ServiceException;
> }
> 
> 
> ----------------------------
> 
> public class TestServiceAPIImpl implements TestServiceAPI {
> 
>       private final Log logger = LogFactory.getLog(this.getClass());
> 
>       @Autowired
>       @Qualifier("wsMessageSource")
>       private MessageSource messageSource;
> 
>       private String videoPath;
> 
>       @Override
>       public String uploadVideo(DataHandler data) throws ServiceException {
>               try {
>                       this.videoPath = 
messageSource.getMessage("video.rootDirectory", null,
> null,null);
>                       this.logger.info("vpath = "+this.videoPath);
>                       if(videoPath== null)
>                               throw new ServiceException("Configuration 
> error");
>                       this.logger.info("Validate.....");
>                       this.logger.info("Uploading video......");
>                       this.logger.info("VideoRootPath ="+videoPath);
>                       this.logger.info("Uploading video......contanint 
> found");
>                       //InputStream inputStream = 
> dataHandler.getInputStream();
>                       this.logger.info("Uploading video......inserting video 
> info");
>                       String url = this.videoService.createVideo(videoInfo);
>                       this.logger.info("Uploading video......processing 
> upload");
>                       String uploadPath = this.processUpload(data);
>                       return uploadPath;
>               } catch (Exception e) {
>                       throw new ServiceException(e.getMessage());
>               }
>       }
> 
>       private String processUpload(DataHandler dataHandler) throws Exception {
>               int videoId = 22;
>               String videoPath = this.videoPath+ File.separator + videoId;
>               File f = new File(videoPath);
>               final String uploadPath = f.getPath() + File.separator + 
> videoId + 
"."+
> avi;
>               File tempFile = File.createTempFile("upload" + videoId, 
> fileType);
>               OutputStream outputStream = new FileOutputStream(tempFile);// 
> new//
> File(uploadPath)
>               synchronized (dataHandler) {
>                       synchronized (outputStream) {
>                               byte[] b = new byte[2048];
>                               while (true) {
>                                       int byteRead = 
> dataHandler.getInputStream().read(b);
>                                       if (byteRead == -1)
>                                               break;
>                                       outputStream.write(b, 0, byteRead);
>                               }
>                               outputStream.flush();
>                               outputStream.close();
>                               File serverFile = new File(uploadPath);
>                               tempFile.renameTo(serverFile);
>                               logger.debug("Uploading Done...");
>                               return uploadPath;
>                       }
>               }
>       }
> 
> }
> 
> ------------------Testuploader------------------
> 
> public class UploadClientTest {
> 
>       public static void main(String args[]) throws Exception {
>              testVideoUpload();
>               System.exit(0);
> 
>       }
> 
>     private static void testVideoUpload() {
> 
>         TestServiceAPI client = createUploadService();
>         String fileName = System.getProperty("user.home")+
> File.separator+"Videos"+File.separator+"videos.zip";
>         System.out.println("File path :" +fileName);
>         DataSource source = new FileDataSource(new File(fileName));
>         client.uploadVideo(new DataHandler(source));
>     }
> 
>     private static TestServiceAPI createUploadService() {
> 
>         System.out.println("File path :" +s);
>         long timeout = 100000L;//60000
> 
>         Map<String,Object> props = new HashMap<String, Object>();
>         props.put("mtom-enabled", Boolean.TRUE);
>         JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
> 
>         factory.getInInterceptors().add(new LoggingInInterceptor());
>         factory.getOutInterceptors().add(new LoggingOutInterceptor());
>         factory.setServiceClass(UploadService.class);
> 
> factory.setAddress("http://localhost:8080/uplaodTest/api/services/upload";);
>         factory.setProperties(props);
>         UploadService client = (UploadService) factory.create();
> 
>         //
>         Client clientCfx = ClientProxy.getClient(client);
>         HTTPConduit conduit = (HTTPConduit) clientCfx.getConduit();
> 
>         HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
>         httpClientPolicy.setConnectionTimeout(0);
>         httpClientPolicy.setReceiveTimeout(0);
>         httpClientPolicy.setAllowChunking(true);
>         // ((HTTPConduit)
> factory.getClientFactoryBean().getClient().getConduit()).setClient(httpClie
> ntPolicy); conduit.setClient(httpClientPolicy);
>         return client;
>     }
> 
>   }
> 

-- 
Daniel Kulp
[email protected]
http://www.dankulp.com/blog

Reply via email to