Announcement Announcement Module
Collapse
No announcement yet.
onInit of ServletEndpointSupport never called... Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • onInit of ServletEndpointSupport never called...

    I have set up a web service using Axis 1.4 using Spring and Hibernate. However, when the klient connects, the onInit method of my server-side endpoint is never actually called. The following is my setup:

    SvinnServiceEndpoint.java:

    Code:
    package no.norgesgruppen.bm.wsservlet;
    
    import java.util.List;
    
    import no.norgesgruppen.bm.data.svinn.SvinnData;
    import no.norgesgruppen.bm.service.SvinnService;
    
    import org.apache.log4j.Logger;
    import org.springframework.remoting.jaxrpc.ServletEndpointSupport;
    
    public class SvinnServiceEndpoint extends ServletEndpointSupport {
    	private Logger log = Logger.getLogger(SvinnServiceEndpoint.class); 
    	private SvinnService svinnService;
    
    	public void onInit() {
    		System.out.println("onInit kalt...");
    		this.svinnService = (SvinnService) getWebApplicationContext().getBean("svinnService");
    	}
    
    	public List<SvinnData> getSvinnListe(SvinnRequestType svinnType) {
    		System.out.println("SvinnServiceEndpoint: getSvinnListe kalt...." + svinnType.toString());
    		System.out.println("SvinnServiceEndpoint: Henter Liste...");
    		List<SvinnData> liste = svinnService.getSvinnListe(svinnType.getVareNummer(), svinnType.isLokalVare(), svinnType.getGln());
    		System.out.println("SvinnServiceEndpoint: Fant " + liste.size() + " svinn");
    		return liste;
    	}
    
    	// TODO: Utvide med logikk for  sjekke fra og til dato, og bestemme hvilken
    	// svinnService klasse som skal kalles.
    	public SvinnData getSvinnData(SvinnRequestType svinnType) {
    		return svinnService.getSvinn(svinnType.getVareNummer(), svinnType.isLokalVare(), svinnType.getGln(), svinnType.getFraDato());
    	}
    }
    in spring-web.xml I have the following:

    HTML Code:
    <bean id="svinnService" class="no.norgesgruppen.bm.service.SvinnServiceImpl">
              <constructor-arg>
                   <ref local="svinnDao" />
              </constructor-arg>
         </bean>
         
         <bean id="svinnServiceEndpoint" class="no.norgesgruppen.bm.wsservlet.SvinnServiceEndpoint"></bean>
    server-config.wsdd:

    Code:
    <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    
         <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" />
    
         <service name="SvinnService" style="document" provider="java:RPC">
              <namespace>http://172.25.100.73:8080/bm/services/SvinnService</namespace>
              <parameter name="className" value="no.norgesgruppen.bm.wsservlet.SvinnServiceEndpoint" />
              <parameter name="allowedMethods" value="getSvinnData getSvinnListe" />
              <beanMapping qname="myNS:SvinnData" xmlns:myNS="beans.svinn.data.bm.norgesgruppen.no" languageSpecificType="java:no.norgesgruppen.bm.data.svinn.SvinnData" />
              <beanMapping qname="myNS:SvinnTypeData" xmlns:myNS="beans.svinn.data.bm.norgesgruppen.no" languageSpecificType="java:no.norgesgruppen.bm.data.svinn.SvinnTypeData" />
              <beanMapping qname="myNS:SvinnVareTypeData" xmlns:myNS="beans.svinn.data.bm.norgesgruppen.no" languageSpecificType="java:no.norgesgruppen.bm.data.svinn.SvinnVareTypeData" />
              <beanMapping qname="myNS:SvinnVareTypeData" xmlns:myNS="beans.lokalvare.data.bm.norgesgruppen.no" languageSpecificType="java:no.norgesgruppen.bm.data.lokalvare.LokalVareData" />
              <beanMapping qname="myNS:SvinnRequestType" xmlns:myNS="wsservlet.bm.norgesgruppen.no" languageSpecificType="java:no.norgesgruppen.bm.wsservlet.SvinnRequestType" />
         </service>
    
         <transport name="http">
              <requestFlow>
                   <handler type="URLMapper" />
              </requestFlow>
         </transport>
    </deployment>
    When the klient tried to call getSvinnListe, I get the following output:

    Code:
    15:00:42,334 INFO  [STDOUT] SvinnServiceEndpoint: getSvinnListe kalt....
    ------
    varenummer: 8554
    islokal: true
    gln: 7887
    fradato: null
    tildato: null
    15:00:42,334 INFO  [STDOUT] SvinnServiceEndpoint: Henter Liste...
    indicating that onInit never actually gets called. Am I missing some configurations ? The client receives a NullPointerException Error, BTW.
Working...
X