code: public void update() throws ProponoException {
          if (partial) {
              throw new ProponoException("ERROR: attempt to update partial entry");
          }
          final EntityEnclosingMethod method = new PutMethod(getEditURI());
          addAuthentication(method);
          final StringWriter sw = new StringWriter();
          final int code = -1;
          try {
              Atom10Generator.serializeEntry(this, sw);
              method.setRequestEntity(new StringRequestEntity(sw.toString(), null, null));
              method.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8");
              getHttpClient().executeMethod(method);
              final InputStream is = method.getResponseBodyAsStream();
              if (method.getStatusCode() != 200 && method.getStatusCode() != 201) {
                  throw new ProponoException("ERROR HTTP status=" + method.getStatusCode() + " : " + Utilities.streamToString(is));
              }
  
          } catch (final Exception e) {
              final String msg = "ERROR: updating entry, HTTP code: " + code;
              LOG.debug(msg, e);
              throw new ProponoException(msg, e);
          } finally {
              method.releaseConnection();
          }
      }
docs: Update entry by posting new representation of entry to server. Note that you should not
  attempt to update entries that you get from iterating over a collection they may be "partial"
  entries. If you want to update an entry, you must get it via one of the
  <code>getEntry()</code> methods in {@link com.rometools.rome.propono.atom.common.Collection}
  or {@link com.rometools.rome.propono.atom.common.AtomService}.
  
  @throws ProponoException If entry is a "partial" entry.