Announcement Announcement Module
Collapse
No announcement yet.
JaxRpc beanMapping drastically performance lost Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • JaxRpc beanMapping drastically performance lost

    Hi all,
    I'm using Jax-Rpc Web services, and i've a problem:

    In my server-config.wsdd i've configured many WebServices with its beanMapping:

    <service name="UserParamManager" provider="java:RPC">
    <parameter name="allowedMethods" value="*"/>
    <parameter name="className" value="it.axiosinformatica.axiosWebServiceServer.m anager.endpoint.JaxRpcUserParamManager"/>
    <beanMapping qname="axios:UserParam" xmlns:axios="urn:axios" languageSpecificType="java:it.axiosinformatica.axi osWebServiceServer.database.domain.UserParam"/>
    </service>

    So, when i try to call a Web service that not have all user-defined bean mappings, Spring go to exception:

    12:40:55,261 ERROR Message:541 - java.io.IOException:
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: java.io.IOException: No serializer found for class it.axiosinformatica.axiosWebServiceServer.database .domain.Patient in registry org.apache.axis.encoding.TypeMappingDelegate@92d05 9
    faultActor:
    faultNode:
    faultDetail:
    {http://xml.apache.org/axis/}stackTrace:java.io.IOException: No serializer found for class it.axiosinformatica.axiosWebServiceServer.database .domain.Patient in registry org.apache.axis.encoding.TypeMappingDelegate@92d05 9
    at org.apache.axis.encoding.SerializationContext.seri alizeActual(SerializationContext.java:1505)
    at org.apache.axis.encoding.SerializationContext.seri alize(SerializationContext.java:978)
    at org.apache.axis.encoding.SerializationContext.outp utMultiRefs(SerializationContext.java:1053)
    at org.apache.axis.message.SOAPBody.outputImpl(SOAPBo dy.java:145)

    Blah, blah, blah...

    I say: good! It is correct! I've not associate all requested personal bean into BeanMapping.


    So, the problem:

    I've 172 tables in my db (fortunatly i'll use ibatis with lazy loading), 2gb of db.... and 90% of tables are mapped on my application and all tables have references to others.


    If I map all my defined beanMapping, the application crash, because JaxRpc and .wsdd file try to load (when i call a WebService) all references (foreing key?) in the beanMappings definition. (out of memory)

    I can't permit it!

    Anyone known a "lazy init" of beanMapping or another solution.

    Please help me, my work is blocked!

    Thanks to all.

    Regards,

    Agharta

  • #2
    Slim down the objects passed down the wire. Create transport objects; in most cases only the information inside the main object counts and the relationships not so much.
    See alternatives like xfire or xstream which can transform a big chunk of data into XML so the information can be passed on quite easy.

    Comment

    Working...
    X