Ticket #1567 (closed defect: fixed)

Opened 5 years ago

Last modified 5 years ago

API 0.6: JOSM + ChangesetController#upload won't delete nodes

Reported by: ivansanchez@… Owned by: tom@…
Priority: major Milestone: OSM 0.6
Component: api Version:
Keywords: josm api 0.6 xml changeset Cc: Matt Amos <zerebubuth@…>

Description

I'm using the Rails port rev. 13597 (2008-02-08) and JOSM 1378 in a test environment. I'm not able to delete nodes with JOSM.

How to reproduce: launch JOSM, download a test area, delete some nodes, click "upload".

Tracking down the problem, it seems that either the Rails port or JOSM are not implementing the osmChange standard properly.

Using a network sniffer, this is how the failed diff uploads look:

POST /api/0.6/changeset/62/upload HTTP/1.1 
 
<osmChange version="0.6" generator="JOSM">
<delete version="0.6" generator="JOSM">
<node id="120" version="1" changeset="62" />
<node id="121" version="1" changeset="62" />
<node id="122" version="1" changeset="62" />
 (...)
 (...)
</delete>
</osmChange>

----

HTTP/1.1 400 Bad Request  

Cannot parse valid node from xml string <node id="120" version="1" changeset="62"/>. lat missing

I don't know whether the "right" implementation of the osmChange format is the one JOSM follows or the one the Rails port follows.

On a related note, JOSM will fail to notify the user that something went wrong during the upload.

Change History

comment:1 Changed 5 years ago by Matt

  • Status changed from new to closed
  • Resolution set to fixed

Fixed in r13603. Deletions no longer require anything more than the id, version and changeset. Although according to the osmChange spec it is "traditional" to supply more information, we cannot guarantee that all clients will do so.

Note: See TracTickets for help on using tickets.