I see. I can think of two options:
1.) Instead of sending a PUT to /resource1/{r1_identifier}/resource2/{r2_identifier}, you could try sending a PUT to /resource1/{r1_identifier}/resource2/ with {r2_identifier} as the entity body? 2.) Send a default entity body so the request goes through. My interpretation of the spec is that an entity is required for a PUT On Jan 14, 2008 10:14 AM, Rhett Sutphin <[EMAIL PROTECTED]> wrote: > Hi Kevin, > > On Jan 14, 2008, at 8:38 AM, Kevin Conaway wrote: > > > Are you overriding allowPut() in your Resource class? You need to > > do as such: > > > > @Override > > public boolean allowPut() { > > return true; > > } > > I should have been more clear -- the scheme I described works fine if > there's an entity provided to the PUT. Any entity at all will do -- I > have the Resource#storeRepresentation implementation just ignore it. > > The specific code which returns 400 for empty entities is in > Resource#handlePut (starting at line 567 in 1.1-M1): > > > if (canPut) { > > if (getRequest().isEntityAvailable()) { > > put(getRequest().getEntity()); > > > > // HTTP spec says that PUT may return > > // the list of allowed methods > > updateAllowedMethods(); > > } else { > > getResponse().setStatus( > > new Status(Status.CLIENT_ERROR_BAD_REQUEST, > > "Missing request entity")); > > } > > } > > Thanks, > Rhett >