我的typemapping:      <typeMapping
        xmlns:ns="http://myservice"
        qname="ns:DownloadRes"
        type="java:mypackage.DownloadRes"
        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      />

解决方案 »

  1.   

    我又发现一点奇怪的,如果DownloadRes是作为webservice的一个返回值就可以包含int,但是如果是传给service的一个参数那么就会报错:
    org.xml.sax.SAXException: No deserializer for {http://www.w3.org/2001/XMLSchema}int请问是何原因?
      

  2.   

    我在client端是这样mapping的:
    ServiceFactory serviceFactory = ServiceFactory.newInstance();
    Service service = serviceFactory.createService(new QName(uri, serviceName));
           
    TypeMappingRegistry registry = service.getTypeMappingRegistry();
    TypeMapping map = registry.getDefaultTypeMapping();
            
    QName MazeFileObjQName = new QName("http://myservice", "DownloadRes");
    map.register(DownloadRes.class, DownloadResQName, new BeanSerializerFactory(DownloadRes.class, DownloadResQName), new BeanDeserializerFactory(DownloadRes.class, DownloadResQName));
         问题到底出在哪里呢?  看起来client端嫌疑很大是吧?
      

  3.   

    你用的是JBuidler吗,若是的话可能不会出现这个问题