This link [1] contains an example of where I've used the WSO2 Mashup Server [2] which runs on top of Axis2 to invoke a mashup using JSON. Something Notable here is that the service that I'm invoking has elementFormDefault="unqualified".
Thanks, Keith. [1] http://www.keith-chapman.org/2008/09/invoking-mashups-using-json.html [2] http://wso2.org/projects/mashup On Wed, Dec 3, 2008 at 3:46 AM, Daniel Hiebert <[EMAIL PROTECTED]> wrote: > > History: > Historically we support SOAP messages which has the standard format for > exchange of Web services messages. I am attempting to support JSON > badgerfish messages with Axis2, since most all our messages have > namespaces. I downloaded the latest Axis2 1.4.1 and followed the > instructions to setup Axis2 1.4.1 with JSON, the best information I could > find was at http://wso2.org/library/768. I updated an axis2.xml for > client and and read in an updated axis2.xml with message formatter and > message builders supporting badgerfish applications. > > Problem Description: > I run the SOAP message and it appears to complete successfully. I switch > from SOAP to JSON Badgerfish and it appears the message is getting > formatted correctly on the HTTP Request, but I get a SOAP fault an > exception on the Server side. > > Message: > [ERROR] Exception occurred while trying to invoke service method > converttemp_XML_Dan > org.apache.axis2.AxisFault: namespace mismatch require > http://converttemp.wsbeans.iseries/xsd found > > I have tried every configuration, removing and adding namespaces, and > endpoints. So I even attempted on Axis2 1.4, 1.3 and get the same error, > so I am assuming I am missing something in either the configuration or in > the composition of my JSON badgerfish message. > > Any help would be greatly appreciated. If this is not enough information, > I can enable tracing and get all messages. > > > Soap Setting: > options.setProperty(Constants.Configuration.MESSAGE_TYPE, "text/xml"); > > TCPMON Soap Message Request (Working) > POST /axis2/services/ConvertTempJava.ConvertTempJavaHttpSoap11Endpoint/ > HTTP/1.1 > Content-Type: text/xml; charset=UTF-8 > SOAPAction: "urn:anonOutInOp" > User-Agent: Axis2 > Host: optimus:9099 > Transfer-Encoding: chunked > > 11e > <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ > "><soapenv:Body><ns:converttemp_XML_Dan > > xmlns:ns="http://converttemp.wsbeans.iseries/xsd > "><ns:param0>34</ns:param0></ns:converttemp_XML_Dan></soapenv:Body></soapenv:Envelope> > 0 > > TCPMON Soap Message Response (Working): > HTTP/1.1 200 OK > Date: Tue, 02 Dec 2008 21:43:23 GMT > Server: Simple-Server/1.1 > Transfer-Encoding: chunked > Content-Type: text/xml; charset=UTF-8 > > 198 > <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ > "><soapenv:Body><ns:converttemp_XML_DanResponse > xmlns:ns="http://converttemp.wsbeans.iseries/xsd"><ns:return><?xml > version="1.0" encoding="UTF-8"?> > <CONVERTTEMP> > <TEMPOUT>7.7</TEMPOUT> > </CONVERTTEMP> > > </ns:return></ns:converttemp_XML_DanResponse></soapenv:Body></soapenv:Envelope> > 0 > > JSON Badgerfish Setting: > options.setProperty(Constants.Configuration.MESSAGE_TYPE, > "application/json/badgerfish"); > > TCPMON JSON Message Request > POST /axis2/services/ConvertTempJava.ConvertTempJavaHttpSoap11Endpoint/ > HTTP/1.1 > Content-Type: application/json/badgerfish; charset=UTF-8 > User-Agent: Axis2 > Host: optimus:9099 > Transfer-Encoding: chunked > > 6f > > {"ns:converttemp_XML_Dan":{"@xmlns":{"ns":"http:\/\/converttemp.wsbeans.iseries > \/xsd"},"ns:param0":{"$":"34"}}} > 0 > > TCPMON JSON Message Response > HTTP/1.1 500 namespace mismatch require > http://converttemp.wsbeans.iseries/xsd found > Date: Tue, 02 Dec 2008 21:58:34 GMT > Server: Simple-Server/1.1 > Transfer-Encoding: chunked > Content-Type: application/json/badgerfish; charset=UTF-8 > > 10b > {"Fault":{"$":"<soapenv:Fault xmlns:soapenv=\"http:\/\/schemas.xmlsoap.org > \/soap\/envelope\/\"><faultcode>soapenv:Server< > \/faultcode><faultstring>namespace mismatch require > http:\/\/converttemp.wsbeans.iseries\/xsd found <\/faultstring><detail \/>< > \/soapenv:Fault>"}} > 0 > > Exception in Server log File: > [ERROR] Exception occurred while trying to invoke service method > converttemp_XML_Dan > org.apache.axis2.AxisFault: namespace mismatch require > http://converttemp.wsbeans.iseries/xsd found > at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass > (RPCUtil.java:177) > at > org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic > (RPCMessageReceiver.java:102) > at > org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic > (AbstractInOutMessageReceiver.java:40) > at org.apache.axis2.receivers.AbstractMessageReceiver.receive > (AbstractMessageReceiver.java:100) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest > (HTTPTransportUtils.java:275) > at org.apache.axis2.transport.http.HTTPWorker.service > (HTTPWorker.java:278) > at org.apache.axis2.transport.http.server.AxisHttpService.doService > (AxisHttpService.java:281) > at > org.apache.axis2.transport.http.server.AxisHttpService.handleRequest > (AxisHttpService.java:187) > at org.apache.axis2.transport.http.server.HttpServiceProcessor.run > (HttpServiceProcessor.java:82) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker > (ThreadPoolExecutor.java:1061) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor > $Worker.run(ThreadPoolExecutor.java:575) > at java.lang.Thread.run(Thread.java:595) > [ERROR] namespace mismatch require http://converttemp.wsbeans.iseries/xsd > found > org.apache.axis2.AxisFault: namespace mismatch require > http://converttemp.wsbeans.iseries/xsd found > at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass > (RPCUtil.java:177) > at > org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic > (RPCMessageReceiver.java:102) > at > org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic > (AbstractInOutMessageReceiver.java:40) > at org.apache.axis2.receivers.AbstractMessageReceiver.receive > (AbstractMessageReceiver.java:100) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest > (HTTPTransportUtils.java:275) > at org.apache.axis2.transport.http.HTTPWorker.service > (HTTPWorker.java:278) > at org.apache.axis2.transport.http.server.AxisHttpService.doService > (AxisHttpService.java:281) > at > org.apache.axis2.transport.http.server.AxisHttpService.handleRequest > (AxisHttpService.java:187) > at org.apache.axis2.transport.http.server.HttpServiceProcessor.run > (HttpServiceProcessor.java:82) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker > (ThreadPoolExecutor.java:1061) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor > $Worker.run(ThreadPoolExecutor.java:575) > at java.lang.Thread.run(Thread.java:595) > > > > > Dan Hiebert > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org