Hi, 

In order to make custom provider, you can use provider handler.
This is a way using an axis handler impl as a provider.  
Does it not meet your requirement? 

If you want to use provider handler,  the following things must
be done.
- writing your custom provider class inheireting from BasicHandler 
  (invoke() method should be implemented)
- setting a WSDD file like below.
  
<service name="HelloService" provider="Handler">
  <parameter name="handlerClass" value="package.YourProvider"/>
</service>

In this example, when HelloService is invoked, the custom provider
(package.YourProvider) is used.

-----
Yoshi

----- Original Message ----- 
From: "Julia Tertyshnaya" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, January 30, 2003 9:01 PM
Subject: custom provider deployment problem


> Hi everybody,
> 
> I'm trying to deploy a custom provider, but get the following exception:
> 
> 1509431 [HttpProcessor[8080][4]] DEBUG
> org.apache.axis.ConfigurationException  - Exception:
> java.lang.Exception: No provider type matches QName
> '{http://xml.apache.org/axis/wsdd/providers/java}diamondRPC'
>  at
> org.apache.axis.ConfigurationException.<init>(ConfigurationException.java:89
> )
>  at
> org.apache.axis.deployment.wsdd.WSDDException.<init>(WSDDException.java:72)
>  at
> org.apache.axis.deployment.wsdd.WSDDProvider.getInstance(WSDDProvider.java:1
> 41)
>  at
> org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java
> :418)
>  at
> org.apache.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeplo
> yment.java:566)
>  at
> org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.
> java:322)
>  at
> org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServl
> et.java:584)
>  at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:256)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>  at
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:
> 335)
> and so on ...
> 
> I did:
> - wrote my provider impl class;
> - wrote a class inheireting from WSDDProvider (getName() returns
> "diamondRPC");
> - packed these 2 classes into a jar together with a text file named
> META-INF/services/org.apache.axis.deployment.wsdd.Provider, which contains
> a single line - name of my WsddRPCProvider class:
> at.ftw.providers.WsddRPCProvider
> - put the jar into classpath and to all locations I could think of:
> tomcat/lib; tomcat/common/lib; tomcat/webapps/axis/WEB-INF/lib;
> tomcat/webapps/axis/classes;
> But it still looks like I'm doing smth. wrong and my classes are not found.
> 
> I use tomcat4.x, axis1.0
> 
> My deploy.wsdd looks as follows:
> 
> <deployment xmlns="http://xml.apache.org/axis/wsdd/";
>             xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
> 
>  <service name="RPCInvoker" provider="java:diamondRPC">
>   <parameter name="scope" value="session"/>
>   <parameter name="className" value="at.ftw.diamonds.RPCInvoker"/>
>   <parameter name="allowedMethods" value="*"/>
>  </service>
> 
> </deployment>
> 
> Thanks a lot! Any help will be much appreciated.
> 
> Julia
> 

Reply via email to