Actually, I believe the link you sent illustrates what I am expecting to see, but am not:
- The best way to demonstrate the Mapped convention is a short example: - <price xmlns="http://acme.com">10.00</price> - - Using the mapped convention this can be turned into: - { "acme.price" : { "10.00" } - As you can see we've mapped the http://acme.com namespace to the "acme." prefix. This creates a very readable format. Notice that it says that the http://acme.com namespace has been mapped to the "acme." prefix: acme with a period on the end. Therefore, I would assume that if the http://acme.com namespace was mapped to "" that the JSON would be: { "price" : { "10.00" } However, it is not mapping that way, but instead is mapping to: { ".price" : { "10.00" } In addition, it is worth noting that the JSON on the response of the restful_http_binding sample is exactly as I would expect it, i.e. it has no prepended period, but the period is needed on input. Is there a reason that this would work differently on input versus output? Liu, Jervis wrote: > >> -----Original Message----- >> From: mgibble [mailto:[EMAIL PROTECTED] >> Sent: 2007年11月28日 4:29 >> To: [email protected] >> Subject: Empty string namespace mapping with JSON and HTTP Post >> >> >> I am using the restful_http_binding sample and I have changed the >> following >> lines: >> >> // Set up the JSON StAX implementation >> Map<String, String> nstojns = new HashMap<String, String>(); >> nstojns.put("http://customer.acme.com", "acme"); >> >> to: >> >> // Set up the JSON StAX implementation >> Map<String, String> nstojns = new HashMap<String, String>(); >> nstojns.put("http://customer.acme.com", ""); >> >> I do an HTTP Post according to the README using wget with the following >> add.json file: >> >> { >> "Customer" : { >> "name" : "Jim Bob" >> } >> } >> >> I would have thought that this would have worked, but the Customer >> parameter >> of the addCustomer method is not populated with any data. However, if I >> change the add.json file to: >> >> { >> ".Customer" : { >> ".name" : "Jim Bob" >> } >> } >> >> the Customer parameter is populated appropriately. I would have thought >> that with the mapping of "customer.acme.com" to "" that my original JSON >> would have worked and not required a period ('.') before each field name. >> Am I misunderstanding or is this a bug? If so, is there a way that I can >> achieve the functionality that I desire? > > This is expected behavior. CXF HTTP binding is using Jettison to do the > JSON/XML mappings. [1] explaines how the default mapping works. You can > also try the BadgerFish convention. > > [1]. http://jettison.codehaus.org/User%27s+Guide > >> >> Thanks. >> -- >> View this message in context: >> http://www.nabble.com/Empty-string-namespace-mapping-with-JSON-and- >> HTTP-Post-tf4884221.html#a13979132 >> Sent from the cxf-user mailing list archive at Nabble.com. > > ---------------------------- > IONA Technologies PLC (registered in Ireland) > Registered Number: 171387 > Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland > > -- View this message in context: http://www.nabble.com/Empty-string-namespace-mapping-with-JSON-and-HTTP-Post-tf4884221.html#a13992546 Sent from the cxf-user mailing list archive at Nabble.com.
