Hi Matthias, org.apache.axis2.json.AbstractJSONOMBuilder line 111 > /* > Now we have to read the localname and prefix from the input stream > if there is not prefix, message starts like {"foo": > if there is a prefix, message starts like {"prefix:foo": > */ > : > //if the part we read ends with ", there is no prefix, > otherwise it has a prefix > : > prefix = localName.substring(1, localName.length()) + > ":"; >
: > > What are these prefixes used for (separated by colon) if they have nothing > to do with namespaces? > Are they part of some JSON format? > Yes, This is for handle namespaces in badgerfish convention. where it separate prefix and localname by a ':' colon. > > And finally, is there a "fundamental" reason why: > * “Mapped” formatted JSON with namespaces are not supported in > Axis2* > Axis2 uses Axiom as XML info-set representation for SOAP messages. That means, to process the request it should have clear XML info-set with it. It is not possible to know the namespace mappings used on one side of the transport to the other side when we use mapped convention. Thanks Shameera. > Or is it just a resource issue, and someone (may be I) could add some > stuff to support namespaces and maybe databinding. > > Thanks and regards > Matthias > > > > From: Shameera Rathnayaka <shameerai...@gmail.com> > To: java-user@axis.apache.org, > Date: 26-04-2012 19:40 > Subject: Re: Axis2 - JSON mapped - namespace (mismatch) > ------------------------------ > > > > Hi Matthias, > > According to the documentation [1] it simply says that *“Mapped” > formatted JSON with namespaces are not supported in Axis2*, I think you > already have got this point. Let me explain how current implementation of > axis2 expect mapped Json strings. > > The best way to demonstrate this is a short example, > assume you need to send following xml ,* > > <price xmlns="**http://acme.com* <http://acme.com/>*">10.00</price>* > > Using the mapped convention this can be turned into:* > > { "acme.price" : { "10.00" }* where *http://acme.com* <http://acme.com/>--> > acme > > as axis2 doesn't support namesapce mapping it expect this as > * > { "price" : { "10.00" }* > That is why it checks always ':' colon instaed of '.' to get the > localname. > > [1] *http://wso2.org/library/768* <http://wso2.org/library/768> > > Thanks, > Shameera. > > > On Thu, Apr 26, 2012 at 6:29 PM, <*ger...@slf.ch* <ger...@slf.ch>> wrote: > Hi > > I'm trying to get my SOAP web service to run using mapped JSON instead of > XML. > Because it is not that obvious when moving to JSON, what works and what > does not, I had to do some drilling down in to the code. > I got a sample Service running based in an > org.apache.axis2.receivers.RawXMLINOutMessageReceiver. > But that's not the way to implement web services in these days. > Basically, as AXIS is designed, we should be able to use databinding, as > soon as we get the JSON stuff properly converted in to XML. > This seams not to be the case at the moment (namespace mismatch) > > So i though about writing a wrapper around my generated skeleton and > adding the correct namespaces myself, based on the prefixes used in the > mapped JSON. > > Now it is where i get confused. > In the documentation is mentioned to us a full stop "." to separate > namespace-pefix from element name. > > *http://axis.apache.org/axis2/java/core/docs/json_support.html*<http://axis.apache.org/axis2/java/core/docs/json_support.html> > When i look at the code, I see, that there a colon ":" is expected to > separate the prefix from the element name. > See org.apache.axis2.json.AbstractJSONOMBuilder line 116 to 143 > > When I use a full stop "." I get an error, that the method is not found > (Axis is looking for the howl thing, prefix and element name) > When I use a colon ":" I get the an error in the data binding (this is ok, > because of the mismatching namespace issue and when i get the prefixed > matched to the correct namespaces this should be solved.) > > Before I try to work around the mismatching namespace issue I really would > like to know, > how this is supposed to work with prefix, how prefix and element-name are > separated, what prefixes are used for and what axis does with them. > > Thanks for your help and best regards > Matthias > > > > -- > Shameera Rathnayaka > Undergraduate > Department of Computer Science and Engineering > University of Moratuwa. > Sri Lanka. > > Blog : > *http://shameerarathnayaka.blogspot.com/*<http://shameerarathnayaka.blogspot.com/> > > -- Shameera Rathnayaka Undergraduate Department of Computer Science and Engineering University of Moratuwa. Sri Lanka. Blog : http://shameerarathnayaka.blogspot.com/