Hi all, I've written my own (de)serializers and my own provider and i've successfully deployed them on Axis. Now i've a problem with document style: with this style a soap message coming from a client looks like this:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <IN01 xmlns="http://www.cadit.it/city/service/ZZ/ZZGWOPR/Schema"> <SELA>ELABORA</SELA> <COPRDA>a</COPRDA> <COPRA>z</COPRA> </IN01> </soapenv:Body> </soapenv:Envelope> I need that Axis engine calls the deserializer registered for element {http://www.cadit.it/city/service/ZZ/ZZGWOPR/Schema}IN01 but it doesn't call it. It proceeds with his children (SELA, COPRDA and COPRA). The piece of provider source code that calls the deserialization is this: ... Message reqMsg = msgContext.getRequestMessage(); SOAPEnvelope reqEnv = reqMsg.getSOAPEnvelope(); Vector bodies = reqEnv.getBodyElements(); RPCElement body = null; for (int i = 0; body == null && i < bodies.size(); i++) { if (bodies.get(i) instanceof RPCElement) { body = (RPCElement) bodies.get(i); } Vector params = null; try { body.deserialize(); } ... With rpc style (use literal) soap message looks like this: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <M01 xmlns="http://www.cadit.it/city/service/ZZ/ZZGWOPR/SOAPBinding"> <ns1:IN01 xmlns:ns1="http://www.cadit.it/city/service/ZZ/ZZGWOPR/Schema"> <ns1:SELA>ELABORA</ns1:SELA> <ns1:COPRDA>a</ns1:COPRDA> <ns1:COPRA>z</ns1:COPRA> </ns1:IN01> </M01> </soapenv:Body> </soapenv:Envelope> and in this case Axis engine calls my deserializer for IN01 element. any helps? thanks A.T.
