Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 21

Thread: Axis deserializer cannot be found

  1. #11
    Join Date
    Mar 2006
    Posts
    1

    Default Same old -could not find deserializer problem

    Hi All,
    I have a axis webservice deployed with UserDefined Object as input parameter to one of the methods. I used wsdl2java to create proxy/stub files. The client is working fine having wsdl2java generated proxy/stub files in the Classpath. But, when try to invoke thru Spring jaxrpc client. i get the deserializer not found exception. Error is
    could not find deserializer for type {http://www.txyz.com/cart/ws}Cart

    I dont think there is a problem with the WSDL as its working fine with wsdl2java generated files..

    I have created a custom class for mapping the POJO as below,

    public class CartProxyFactoryBean extends JaxRpcPortProxyFactoryBean
    {

    protected void postProcessJaxRpcService(Service service)
    {
    TypeMappingRegistry registry = service.getTypeMappingRegistry();
    TypeMapping mapping = registry.createTypeMapping();
    registerBeanMapping(mapping, com.mydomain.cart.types.Cart.class, "Cart");
    registry.register("http://schemas.xmlsoap.org/soap/encoding/", mapping);
    }

    protected void registerBeanMapping(TypeMapping mapping, Class type, String name)
    {
    QName qName = new QName("http://<<servername>>:7002/cart/CartService", name);
    mapping.register(type, qName,
    new BeanSerializerFactory(type, qName),
    new BeanDeserializerFactory(type, qName));
    }

    }

    Can anyone help in this regard? I am bugged with this Exception after trying for long time..

    Thanks in Advance,,
    sep.

  2. #12

    Default

    Hi,

    I'm also having a "Axis Deserializer cannot be found".

    I was working with spring-1.2.7 and everything was fine.
    Then I switch to spring-2.0RC4. Only this jar switching implied that my unit test on webservice query return a Deserializer not found.

    Is there a known issue on the 2.0 branch ?
    I don't see any relevant information in changelog nor in JIRA.

    Any help will be appreciated.

    Thanks

    Steph

  3. #13

    Default

    Sorry for this up.

    I'm still searching by myself any good reason why my webservice client failed to find a deserializer when working with spring-2.0 branch (M4 for my last last attempt) as it work good with the 1.2 branch (1.2.8 currently in production), but I can't find any.

    Does someone has any idea of what append?

    I'd like to switch shortly to spring 2.0 branch, but I have to fix that point and I realy don't know what to do now.

    Thanks for help

    Steph

  4. #14
    Join Date
    Apr 2006
    Posts
    9

    Exclamation Spring 2 bug?

    I have the same problem, when use spring-framework-2.0 i retrive a error during the call of my web service: "Deserializer cannot be found"
    When switch with Spring-1.2.7 everything work fine.

    I've try with the combination of Axis 1.3, Axis 1.4, Jdk 1.4, Jdk 1.5 on Tomcat 5.0.28

    The problem is Spring 2, is bugged!





    Quote Originally Posted by Proner View Post
    Hi,

    I'm also having a "Axis Deserializer cannot be found".

    I was working with spring-1.2.7 and everything was fine.
    Then I switch to spring-2.0RC4. Only this jar switching implied that my unit test on webservice query return a Deserializer not found.

    Is there a known issue on the 2.0 branch ?
    I don't see any relevant information in changelog nor in JIRA.

    Any help will be appreciated.

    Thanks

    Steph

  5. #15

    Default

    I alm also facing the same problem.... Could someone please tell us if this is indeed a Spring 2.0 bug and also if there is any known workaround?


    BTJ
    Someone wrote:
    "I understand that if you play a Windows CD backwards you hear strange Satanic messages"
    To which someone replied:
    "It's even worse than that; play it forwards and it installs Windows"

  6. #16

    Default

    Bump... Still looking for an answer to this....

    BTJ
    Someone wrote:
    "I understand that if you play a Windows CD backwards you hear strange Satanic messages"
    To which someone replied:
    "It's even worse than that; play it forwards and it installs Windows"

  7. #17
    Join Date
    Dec 2006
    Location
    irving
    Posts
    119

    Default could not find deserializer for type

    Hi i am having problem while invoking webservice with axis
    since 2 weeks i was trying to figure out .please help me regarding this

    the error is:
    ------------

    org.springframework.web.util.NestedServletExceptio n: Request processing failed; nested exception is org.springframework.remoting.RemoteAccessException : Cannot access remote service [{http://www.openuri.org/}ADPortalWebServiceSoap]; nested exception is org.xml.sax.SAXException: Deserializing parameter 'BPDataReqResult': could not find deserializer for type {http://temp.openuri.org/WebService/BPData.xsd}BPDATARESP
    org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:408)
    org.springframework.web.servlet.FrameworkServlet.d oGet(FrameworkServlet.java:350)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)

    root cause

    org.springframework.remoting.RemoteAccessException : Cannot access remote service [{http://www.openuri.org/}ADPortalWebServiceSoap]; nested exception is org.xml.sax.SAXException: Deserializing parameter 'BPDataReqResult': could not find deserializer for type {http://temp.openuri.org/WebService/BPData.xsd}BPDATARESP
    org.springframework.remoting.rmi.RmiClientIntercep torUtils.convertRmiAccessException(RmiClientInterc eptorUtils.java:177)
    org.springframework.remoting.rmi.RmiClientIntercep torUtils.convertRmiAccessException(RmiClientInterc eptorUtils.java:152)
    org.springframework.remoting.jaxrpc.JaxRpcPortClie ntInterceptor.performJaxRpcCall(JaxRpcPortClientIn terceptor.java:595)
    org.springframework.remoting.jaxrpc.JaxRpcPortClie ntInterceptor.invoke(JaxRpcPortClientInterceptor.j ava:552)
    org.springframework.aop.framework.ReflectiveMethod Invocation.proceed(ReflectiveMethodInvocation.java :185)
    org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynamicAopProxy.java:209)
    $Proxy2.BPDataReq(Unknown Source)
    com.idearc.feeos.web.spring.action.SpringappContro ller.handleRequest(SpringappController.java:60)
    org.springframework.web.servlet.mvc.SimpleControll erHandlerAdapter.handle(SimpleControllerHandlerAda pter.java:45)
    org.springframework.web.servlet.DispatcherServlet. doDispatch(DispatcherServlet.java:806)
    org.springframework.web.servlet.DispatcherServlet. doService(DispatcherServlet.java:736)
    org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:396)
    org.springframework.web.servlet.FrameworkServlet.d oGet(FrameworkServlet.java:350)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)

    root cause

    org.xml.sax.SAXException: Deserializing parameter 'BPDataReqResult': could not find deserializer for type {http://temp.openuri.org/WebService/BPData.xsd}BPDATARESP
    org.apache.axis.AxisFault.makeFault(AxisFault.java :101)
    org.apache.axis.client.Call.invoke(Call.java:2470)
    org.apache.axis.client.Call.invoke(Call.java:2366)
    org.apache.axis.client.Call.invoke(Call.java:1812)
    org.springframework.remoting.jaxrpc.JaxRpcPortClie ntInterceptor.performJaxRpcCall(JaxRpcPortClientIn terceptor.java:592)
    org.springframework.remoting.jaxrpc.JaxRpcPortClie ntInterceptor.invoke(JaxRpcPortClientInterceptor.j ava:552)
    org.springframework.aop.framework.ReflectiveMethod Invocation.proceed(ReflectiveMethodInvocation.java :185)
    org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynamicAopProxy.java:209)
    $Proxy2.BPDataReq(Unknown Source)
    com.idearc.feeos.web.spring.action.SpringappContro ller.handleRequest(SpringappController.java:60)
    org.springframework.web.servlet.mvc.SimpleControll erHandlerAdapter.handle(SimpleControllerHandlerAda pter.java:45)
    org.springframework.web.servlet.DispatcherServlet. doDispatch(DispatcherServlet.java:806)
    org.springframework.web.servlet.DispatcherServlet. doService(DispatcherServlet.java:736)
    org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:396)
    org.springframework.web.servlet.FrameworkServlet.d oGet(FrameworkServlet.java:350)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)



    appplicationcontext.xml
    -----------------------------------

    <bean id="accountWebService" class="fullgoogleapi.BPPortProxyFactoryBean">
    <property name="serviceFactoryClass">
    <value>org.apache.axis.client.ServiceFactory</value>
    </property>
    <property name="serviceInterface" value="fullgoogleapi.ADPortalWebService"/>
    <property name="wsdlDocumentUrl" value="http://nbttest1.superpages.com:9001/ADPortalWebService/ADPortalWebService.jws?WSDL"/>
    <property name="namespaceUri" value="http://www.openuri.org/"/>
    <property name="serviceName" value="ADPortalWebService"/>
    <property name="portName" value="ADPortalWebServiceSoap"/>
    </bean>


    JaxRpcPortProxyFactoryBean
    -----------------------------

    public class BPPortProxyFactoryBean extends JaxRpcPortProxyFactoryBean {

    protected void postProcessJaxRpcService(Service service) {
    TypeMappingRegistry registry = service.getTypeMappingRegistry();
    TypeMapping mapping = registry.createTypeMapping();
    registerBeanMapping(mapping, BPDATARESP.class, "BPDATARESP");
    registerBeanMapping(mapping, BUSINESS_PROFILE.class, "BUSINESS_PROFILE");
    // registerBeanMapping(mapping, DirectoryCategory.class, "DirectoryCategory");
    System.out.print("this.getNamespaceUri() >>"+this.getNamespaceUri() );
    registry.register("http://schemas.xmlsoap.org/soap/encoding/", mapping);
    }

    protected void registerBeanMapping(TypeMapping mapping, Class type, String name) {
    QName qName = new QName(this.getNamespaceUri(), name);
    mapping.register(type, qName,
    new BeanSerializerFactory(type, qName),
    new BeanDeserializerFactory(type, qName));
    }


    part of WSDL is :
    -------------
    <?xml version="1.0" encoding="utf-8"?>
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/" xmlns:cw="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:jms="http://www.openuri.org/2002/04/wsdl/jms/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.openuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.openuri.org/">
    <types>
    <s:schema xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:bpd="http://temp.openuri.org/WebService/BPData.xsd" elementFormDefault="qualified" targetNamespace="http://www.openuri.org/">
    <s:import namespace="http://temp.openuri.org/WebService/BPData.xsd"/>
    <s:element name="BPDATARESP" nillable="true" type="bpd:BPDATARESP"/>
    <s:element name="UPDATETEMPLATEIDRESP" nillable="true" type="bpd:UPDATETEMPLATEIDRESP"/>
    <s:element name="VERIFYTEMPLATERESP" nillable="true" type="bpd:VERIFYTEMPLATERESP"/>
    <s:element name="ENHANCEDBPDATARESP" nillable="true" type="bpd:ENHANCEDBPDATARESP"/>
    <s:element name="UPDATEBPPUBSTATUSRESP" nillable="true" type="bpd:UPDATEBPPUBSTATUSRESP"/>
    <xs:complexType name="BPDATARESP">
    <xs:sequence>
    <xs:element name="BUSINESS_PROFILE" type="tns:BUSINESS_PROFILE" nillable="false" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
    </xs:complexType>

    <service name="ADPortalWebService">
    <port name="ADPortalWebServiceSoap" binding="s0:ADPortalWebServiceSoap">
    <soap:address location="http://nbttest1.superpages.com:9001/ADPortalWebService/ADPortalWebService.jws"/>
    </port>
    <port name="ADPortalWebServiceHttpGet" binding="s0:ADPortalWebServiceHttpGet">
    <http:address location="http://nbttest1.superpages.com:9001/ADPortalWebService/ADPortalWebService.jws"/>
    </port>
    <port name="ADPortalWebServiceHttpPost" binding="s0:ADPortalWebServiceHttpPost">
    <http:address location="http://nbttest1.superpages.com:9001/ADPortalWebService/ADPortalWebService.jws"/>
    </port>
    </service>
    </definitions>

  8. #18
    Join Date
    Oct 2011
    Posts
    1

    Default This looks like the solution

    Hi,

    I had the same issue with Axis1 and got it resolved by adding the return type detail to the client side code as follows:


    call.addParameter("i1", org.apache.axis.encoding.XMLType.XSD_INT, ParameterMode.IN);
    call.setReturnType(javax.xml.rpc.ParameterMode.XMLType.XSD_STRING);

  9. #19

    Default

    I really like your informative and useful stuff.

    It really looks great to me.

    Thanks

  10. #20
    Join Date
    Nov 2011
    Posts
    2

    Default

    This was very helpful..Thank you for posting this...

    Final Year IEEE Projects

Similar Threads

  1. Order of Bean definitions matters?
    By cfuser in forum Container
    Replies: 2
    Last Post: Oct 21st, 2005, 10:29 AM
  2. Unit testing with JOTM and JtaTransactionManager
    By lalle in forum Architecture
    Replies: 1
    Last Post: Oct 15th, 2005, 09:05 AM
  3. EHCaching Hibernate
    By dencamel in forum Data
    Replies: 3
    Last Post: Sep 6th, 2005, 09:03 PM
  4. Replies: 4
    Last Post: Aug 17th, 2005, 04:42 AM
  5. Replies: 1
    Last Post: Apr 13th, 2005, 10:08 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •