Hi All,

 

I would like my servlet to generate a WSDL file for my WebService when I get an http request with “?wsdl” at the end of the url.

 

  1. I am using Axis 1.1.
  2. I am not using the AxisServlet.
  3. My WebServices are registered with an instance of AxisServer object. Whenever my servlet gets a request, I process it with the following code:

 

        Message resMsg = null;

        AxisServer soapEngine = SOAPEngine.getServerInstance(); //initializes the AxisServer

        String response;

        try

        {

            Message reqMsg = new Message(request);

            MessageContext msgContext = new MessageContext(soapEngine);

            msgContext.setRequestMessage(reqMsg);

            soapEngine.invoke(msgContext);

            resMsg = msgContext.getResponseMessage();

            response = resMsg.getSOAPPartAsString();

        }

 

  1. My WebServices are just simple java classes that do not extend any of the axis framework classes.
  2. I figured that I should be able to generate a WSDL file by using the following code, but nothing gets generated.

 

        AxisServer soapEngine = SOAPEngine.getServerInstance();

        MessageContext msgContext = new MessageContext(engine);

        messageContext.setService(new WorkgroupService()); //just one of my services

        soapEngine.generateWSDL(messageContext);

        Document doc = (Document) messageContext.getProperty("WSDL"); 

 

I realize that either my MessageContext object is not setup properly or my WebService class doesn’t extend/implement a proper axis framework class. I even tried ripping off the MessageContext setup code from the AxisServlet when it gets a request with “?wsdl”. But I still can’t get it to work.

 

Thank you for you time,

 

Eddie

Reply via email to