axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wagh, Shrikant" <shrikant.w...@hp.com>
Subject RE: No deserializer defined for array type
Date Thu, 22 Jan 2004 22:28:33 GMT
Hi,

If you use the array of user defined complex types in your web service
then you will have to specify the type mapping for the complex type as
well as for array of the complex type.

The sample type mapping for using array of user defined types can be as
shoen below.

  <typeMapping
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
qname="ns670:SOAPStruct"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
type="java:datainter.SOAPStruct"
xmlns:ns670="http://soapinterop.org/xsd"/>
  <typeMapping
deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
qname="ns671:ArrayOfSOAPStruct"
serializer="org.apache.axis.encoding.ser.ArraySerializerFactory"
type="java:datainter.SOAPStruct[]"
xmlns:ns671="http://soapinterop.org/xsd"/>


And of course you will have to write the class which represent the
complex type. Write the interface and implementation and deploy the
service using wsdd. I'm sure you know rest of the drill.

You do not have to write any custom serializer, unless you really want
to.

hope this helps.

Thanks,
Shrikant Wagh
QA Lead, HPP/Eprofile, HP

For those who are interested in Web Services testing:
-----------------------------------------------------
I found that WebServiceTester from Optimyz software is a very good tool
for testing any types of web services, and I'm great fan of this tool.
It supports all types of web services, and all simple and complex types
and it very usable than any other tool in the market I ever
used/evaluated. It automatically generates the SOAP requests and invokes
the intended web services. It can perform functional, regression and
load testing of web services. Result analysis and status reporting is
just wonderful.  I'll highly recommend this tool for testing web
services, saves lots of time and efforts in testing web services. For
more information visit http://www.optimyz.com. 

DISCLAIMER 
================================================================
THESE ARE MY PERSONAL VIEWS/OPINIONS AND DOES NOT REPRESENT HP, AND THE
INFORMATION PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
THE I/HP BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
INFORMATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
=================================================================

-----Original Message-----
From: Pradeep Bhatt [mailto:pbhatt@cisco.com] 
Sent: Monday, January 19, 2004 1:11 PM
To: axis-user@ws.apache.org
Subject: No deserializer defined for array type

Hi,

I am facing with the following issue:
No deserializer defined for array type 
{http://object.myobject}CounterInfoType
 faultActor: null
 faultDetail:
        stackTrace: org.xml.sax.SAXException: No deserializer defined 
for array type {http
://object.myobject}CounterInfoType
        at 
org.apache.axis.encoding.ser.ArrayDeserializer.onStartElement(ArrayDeser
ializer
.java:257)
        at 
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.
java:39
4)
        at 
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deseria
lizatio
nContextImpl.java:906)
        at 
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:
200)
        at 
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.j
ava:684
)
        at 
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:241)
        at 
org.apache.axis.message.RPCElement.getParams(RPCElement.java:265)
.........

Can some one help me out of this situation ! I am using AXIS 1.0.

Thanks
Pradeep



Mime
View raw message