Hi all,

I have a web service that takes a complex type with arrays as parameter. On invoking this service from the client
i get

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: java.io.IOException: No serializer found for class com.ibm.wswbia.jdbc.Customer in registry [EMAIL PROTECTED]
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace: java.io.IOException: No serializer found for class com.ibm.wswbia.jdbc.Customer in registry [EMAIL PROTECTED]

I am using stle = "wrapped". I am able to make this work in RPC style but not warpped.

i have gone through similar errors on the list and have tried adding TypeMapping to WSDD but nothing works. Any help
appreciated as i am stuck on this for 2 days.

I have listed the Class & WSDD files

Web Service
===========
public Customer echo(Customer in )
{
        return in;
}

Customer
========

public class Customer {
       
        private int cust_id;
        private String cust_fname;
        private String cust_lname;
        private Address[] address = new Address[1];
       
        public Address getAddress(int i) {
        return address[i];
        }
        public String getCust_fname() {
                return cust_fname;
        }
        public int getCust_id() {
                return cust_id;
        }
        public String getCust_lname() {
                return cust_lname;
        }
        public void setAddress(int i, Address address) {
        this.address[i] = address;
        }
        public void setCust_fname(String cust_fname) {
                this.cust_fname = cust_fname;
        }
        public void setCust_id(int cust_id) {
                this.cust_id = cust_id;
        }
        public void setCust_lname(String cust_lname) {
                this.cust_lname = cust_lname;
        }

}

and

Address has

public class Address {
       
        private int addr_id;
        private int cust_id;
        private String street;
} ..  with getter & setter

WSDD file
========

<deployment
    xmlns="http://xml.apache.org/axis/wsdd/"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
  <service name="JDBC" provider="java:RPC" style="wrapped">
       <parameter name="className" value="com.ibm.wswbia.jdbc.JDBCService"/>
       <parameter name="allowedMethods" value="*"/>
  </service>
  <beanMapping qname="my:Customer" xmlns:my="urn:JDBC" languageSpecificType="java:com.ibm.wswbia.jdbc.Customer"/>
  <beanMapping qname="my:Address" xmlns:my="urn:JDBC" languageSpecificType="java:com.ibm.wswbia.jdbc.Address"/>
 
   <typeMapping
        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
        qname="my:Address"
        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
        type="java:com.ibm.wswbia.jdbc.Customer"
        xmlns:my="urn:JDBC"/>
 
          <typeMapping
        deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory"
        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
        qname="my:ArrayOfAddress"
        serializer="org.apache.axis.encoding.ser.ArraySerializerFactory"
        type="java:com.ibm.wswbia.jdbc.Address[]"
        xmlns:my="urn:JDBC"/>

</deployment>

Regards
Krishnakumar B
IBM India Software Labs,      
Adapter DDC Team,            
Golden Towers,                      
Bangalore.                            
Phone No: 91-80-5044130
Extn : 3130    

Reply via email to