Hi Thomas
Sorry to bother you but I am desperatley trying to get this working, but doing something silly and still get the same error
Sorry to bother you but I am desperatley trying to get this working, but doing something silly and still get the same error
1. I created the provider in org.apache.axis.providers.java
2. I created the factory class "WSDDmyfactory " in org.apache.axis.deployment.wsdd.providers - the getname mthd returns MYFAC.
3. I create the axis.jar file and put it in the reqd palces*
4. I created the file - org.apache.axis.deployment.wsdd.provider in
axis\axis-1_1\META-INF\services and included axis\axis-1_1\META-INF\services in the classpath. I also tried including axis\axis-1_1\META-INF\services\org.apache.axis.deployment.wsdd.provider in classpath.
2. I created the factory class "WSDDmyfactory " in org.apache.axis.deployment.wsdd.providers - the getname mthd returns MYFAC.
3. I create the axis.jar file and put it in the reqd palces*
4. I created the file - org.apache.axis.deployment.wsdd.provider in
axis\axis-1_1\META-INF\services and included axis\axis-1_1\META-INF\services in the classpath. I also tried including axis\axis-1_1\META-INF\services\org.apache.axis.deployment.wsdd.provider in classpath.
The content of the file was
org.apache.axis.deployment.wsdd.providers.WSDDmyfactory
org.apache.axis.deployment.wsdd.providers.WSDDmyfactory
*note - I use tomcat - so I copeid the axis directory under webapps to D:\Tomcat 4.1\webapps\ directory
I will greatly appreciate any help on this
Hallo Mark,Axis can't load the plugable Provider. Probably Axis can't find the file containing the name of the factory. Make sure there is a file named org.apache.axis.deployment.wsdd.Provider in a META-INF/services directory reachable from the classpath. A good place for the file is WEB-INF/classes/META-INF/services . The filenames are casesensitive.Or the method getName in your WSDDMyProviderClass returns a wrong name for the provider.Thomas-----Ursprüngliche Nachricht-----
Von: Mark [mailto:[EMAIL PROTECTED]
Gesendet: Freitag, 14. November 2003 20:05
An: [EMAIL PROTECTED]
Betreff: Re: Deploying Providers - one issueHiI wrote my provider. But when I list the deployed services thru the axis admin page I get this errorException - org.apache.axis.ConfigurationException: org.apache.axis.deployment.wsdd.WSDDException: No provider type matches QName '{http://xml.apache.org/axis/wsdd/providers/java}MyProviderClassorg.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
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard