Проблема с установкой времени жизни cookies

Всем доброго времени суток!

Внезапно возникла проблема. Создаю куки и пытаюсь в него положить либо xml (сгенерированный jaxb), либо сериализованный класс. И в том и в другом случае время жизни куки принудительно выставляется “завершение сеанса браузера”. Если передать значение любого аттрибута передаваемого класса (ну или любой String), то время жизни выставляется как надо. Вот код:


вот так не работает:
try {			
	        JAXBContext context = JAXBContext.newInstance(TEModel.class);
	        Marshaller m = context.createMarshaller();
	        m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
	        m.setProperty(Marshaller.JAXB_ENCODING, "Windows-1251");	        	               

	        outputStream = new ByteArrayOutputStream();
	        m.marshal(teModel, outputStream);
	        
	        System.out.println(outputStream.toString());
	        
	        String str = outputStream.toString();
	        Cookie cookie = new Cookie("asptem", str);
		cookie.setMaxAge(3600*24*365); // One year
		response.addCookie(cookie);
    	} catch (JAXBException ex) {
    		System.err.println(ex.getMessage());
    	}

а так все работает корректно:
try {			
	        JAXBContext context = JAXBContext.newInstance(TEModel.class);
	        Marshaller m = context.createMarshaller();
	        m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
	        m.setProperty(Marshaller.JAXB_ENCODING, "Windows-1251");	        	               

	        outputStream = new ByteArrayOutputStream();
	        m.marshal(teModel, outputStream);
	        
	        System.out.println(outputStream.toString());
	        
	        String str = teModel.getStyle(); //возвращает значение типа String
	        Cookie cookie = new Cookie("asptem", str);
		cookie.setMaxAge(3600*24*365); // One year
		response.addCookie(cookie);
    	} catch (JAXBException ex) {
    		System.err.println(ex.getMessage());
    	}

подскажите, что делаю не так?