I asked some similar questions within the last week, so can pass on what I learned.

1. A pointer to the services schema is http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/resources/services.xsd?view=markup <http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/resources/services.xsd?view=markup>

2. If you don't list any operations or use the <excludeOperations> element, all the public methods of the service class become operations (or perhaps only those with signatures compatible with the MessageReceiver?).

3. You'll probably want to provide some dispatcher elements and probably a custom class in services.xml. Perhaps the standard dispatchers are sufficient to determine the service (trying first the request URL, then the soap action and then the first soap body child element). Then the operation in that service class must be determined. Normally, the soap body element's first child is matched against operation names in service.xml (or if none are present, against method names of the implementation class). You can provide your own dispatcher class whose findOperation method returns the same method for all possible soap body first children allowing that method to deal with further dispatching.

4. You'll probably be specifying the RawInOutXmlMessageReceiver (name is something like that). It's the closest analog to the Axis 1.x message style.

Hope this helps (that is, I'm not steering you wrong).

Jeff



Iyengar, Kumar wrote:

Hi all,

We use Axis in a non standard way. The typical use of Axis is where one generates the java stubs and then populates the stubs and deploys the application. In our application we do it a bit dynamically – we have a generic service and when the request comes in, it takes the request and then extracts the document, determines the operation and makes internal api calls. This way we never generate stubs.

I am currently upgrading our setup from Axis to Axis2 and having problems with it:

1) I tried creating a service.xml file specifying the ‘ServiceClass’ name. However, it is not clear whether I need to specify the method name. With Axis I could specify the method name in the wsdd file.

2) Is there a complete documentation that explains all the options that can be specified in a service.xml? I have only found links (especially in IBM developer network) that explain bits and pieces.

3) Also, is it OK not to specify any operation in the service.xml file? What I really want is my code to take control of the Message Context and then extract the document and operation and then make internal calls.

4) if none of that work then do I have to do this by writing my own handler? I hope that is not the case since I could do this very easily with Axis.

Any help is greatly appreciated.

--kumar



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to