Did you set up your axis2.xml file for badgerfish? Can you post it, if you edited it? The axis2.xml file is the place to customize optional features like these.
I don't use badgerfish myself - but I read that doc a lot as I use the later introduced JSON support with GSON / Moshi quite a bit. Unless you have a reason to use Badgerfish, I suggest Moshi though the GSON support is nearly identical. On Wed, Jun 25, 2025 at 12:19 AM Serban Mihai <mihaiserban1...@gmail.com> wrote: > Hello all, > > Over the past few weeks we have spent some time migrating our corba > services to webservices using Axis2. We managed to enable JSON support > using the Badgerfish convention and, since it does not require any > additional configuration, it worked as expected just by following the > documentation. However, due to the enhanced readability of the Mapped > convention in our use-case it would be preferrable - but we are facing some > issues. > > I have tried following the documentation: update axis2.xml, then add the > following to the "SysM.xml" file (which corresponds to the "SysM.idl" file): > <mappings> > <mapping xmlNamespace="http://SM/xsd <http://sm/xsd>" > jsonNamespace=""/> > </mappings> > > But this does not seem to have any effect, since on this request: > $ curl -H 'Content-Type: application/json' -d '{"geMgrIPs":{"MgrIPs":""}}' > https://<ip>/AXIS/services/SysM > > I am getting this error (see full error at the end of this email): > {"Fault":"<soapenv:Fault xmlns:soapenv=\" > http://schemas.xmlsoap.org/soap/envelope/\ > "><faultcode>soapenv:Server<\/faultcode><faultstring>*namespace mismatch > require http://SM/xsd <http://sm/xsd> found none* > <\/faultstring><detail>...<\/detail><\/soapenv:Fault>"} > > I notice that the error is related to the namespace and is returned in > JSON format - to me this would mean that JSON Mapped convention handling is > enabled, however the namespace is not mapped accordingly. It seems that the > SysM.xml file is not an equivalent of the "services.xml" file - does it > only handle the corba-specific fields? Is there a way to enable the Mapped > convention on corba services? > > Any insight on this issue would be much appreciated. > > Thank you, > Serban > > Maybe useful: > *Working example with Badgerfish convention:* > Request: > $ curl -H 'Content-Type: text/json' -d '{"xsl:getMgrIPs": {"@xmlns": > {"xsl": "http://SM/xsd <http://sm/xsd>"}, "MgrIPs": {"$":""}}}' https:// > <ip>/AXIS/services/SysM > > Response: > {"ns:getMgrIPsResponse":{"@xmlns":{"ns":"http://SM/xsd <http://sm/xsd> > "},"return":{"$":"0"},"MgrIPs":{"item":[{"@xmlns":{"$":"http://SM/xsd > <http://sm/xsd>"},"$":"<ip0>"},{"$":"<ip1>"},{"$":"<ip2>"}]}}} > > *The full error taken from the logs:* > ERROR [2025-06-23 14:28:48,614] [org.apache.axis2.util.OnDemandLogger] - > processAxisFault() on error message: namespace mismatch require > http://SM/xsd <http://sm/xsd> found none , found a null HTTP status > from the MessageContext instance, setting HttpServletResponse status to > HttpServletResponse.SC_INTERNAL_SERVER_ERROR > org.apache.axis2.AxisFault: namespace mismatch require http://SM/xsd > <http://sm/xsd> found none > at > org.apache.axis2.corba.receivers.CorbaMessageReceiver.invoke(CorbaMessageReceiver.java:102) > ~[axis2-corba-2.0.0.jar:2.0.0] > at > org.apache.axis2.corba.receivers.CorbaMessageReceiver.invokeBusinessLogic(CorbaMessageReceiver.java:53) > ~[axis2-corba-2.0.0.jar:2.0.0] > at > org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) > ~[axis2-kernel-2.0.0.jar:2.0.0] > at > org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:106) > ~[axis2-kernel-2.0.0.jar:2.0.0] > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:169) > ~[axis2-kernel-2.0.0.jar:2.0.0] > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:181) > ~[axis2-transport-http-2.0.0.jar:2.0.0] > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:175) > [axis2-transport-http-2.0.0.jar:2.0.0] > at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) > [tomcat-servlet-6.0-api.jar:6.0] > at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) > [tomcat-servlet-6.0-api.jar:6.0] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) > [catalina.jar:10.1.34] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) > [catalina.jar:10.1.34] > at > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) > [tomcat-websocket.jar:10.1.34] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) > [catalina.jar:10.1.34] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) > [catalina.jar:10.1.34] > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) > [catalina.jar:10.1.34] > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) > [catalina.jar:10.1.34] > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) > [catalina.jar:10.1.34] > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) > [catalina.jar:10.1.34] > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) > [catalina.jar:10.1.34] > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) > [catalina.jar:10.1.34] > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) > [catalina.jar:10.1.34] > at > org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:431) > [tomcat-coyote.jar:10.1.34] > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) > [tomcat-coyote.jar:10.1.34] > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) > [tomcat-coyote.jar:10.1.34] > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) > [tomcat-coyote.jar:10.1.34] > at > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) > [tomcat-coyote.jar:10.1.34] > at > org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) > [tomcat-util.jar:10.1.34] > at > org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) > [tomcat-util.jar:10.1.34] > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) > [tomcat-util.jar:10.1.34] > at java.base/java.lang.Thread.run(Thread.java:858) [?:?] >