Hi
I wrote my provider. But when I list the deployed services thru the axis admin page I get this error
Exception - org.apache.axis.ConfigurationException: org.apache.axis.deployment.wsdd.WSDDException: No provider type matches QName '{http://xml.apache.org/axis/wsdd/providers/java}MyProviderClass
org.apache.axis.deployment.wsdd.WSDDException: No provider type matches QName '{http://xml.apache.org/axis/wsdd/providers/java}MyProviderClass'
I know I am missing something. Any help would be appreciated..
 
-----Original Message-----
From: Thomas Bayer [mailto:[EMAIL PROTECTED]
Sent: Wednesday, November 12, 2003 9:43 PM
To: [EMAIL PROTECTED]
Subject: AW: Deploying Providers ?


Hi,

Axis supports also plugable Providers. New Providers could be used with a
service without changing the Axis source code.





Below is a step by step example. In the Provider the service's parameters
can be read:

msgContext.getService().getOption("param1");

Security Information can be passed via ThreadLocal or the MessageContext to
the service Implementation. We have subclassed EJBProvider for Example and
pass the HTTPAuthentication to the EJB Container.

Thomas



Example Plugable Provider
=========================

You can create your own provider with the following steps:

1.) Write the provider class. The example is a simple EchoProvider that
extends BasicProvider.

public class EchoProvider extends BasicProvider {

public void initServiceDesc(
SOAPService service,
MessageContext msgContext)
throws AxisFault {
}

public void invoke(MessageContext msgContext)
throws AxisFault {
Message requestMessage = msgContext.getRequestMessage();
SOAPEnvelope requestEnvelope =
requestMessage.getSOAPEnvelope();

Message responseMessage = new Message(requestEnvelope);
msgContext.setResponseMessage(responseMessage);
}
}

2.) Write a Factory for the provider.

public class WSDDEchoProvider extends WSDDProvider {

public Handler newProviderInstance(
WSDDService arg0,
EngineConfiguration arg1)
throws Exception {
return new EchoProvider();
}

public String getName() {
return "ECHO";
}
}

3.) Tell Axis about the new Provider. Axis is looking for a file in the
directory structure META-INF/service in the classpath with the file name
org.apache.axis.deployment.wsdd.Provider

META-INF/services/org.apache.axis.deployment.wsdd.Provider

In the file you can specify factories for plugable providers:

de.oio.providers.WSDDEchoProvider


Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard

Reply via email to