这个文件不需要别人给,是你自己编辑的。用任何文本编辑器都可以写!写法详见:
http://cvs.apache.org/viewcvs.cgi/~checkout~/xml-axis/java/docs/user-guide.html

解决方案 »

  1.   

    或者这样请教你一个问题:
           我想自己定义一个Provider,定义了如下一个wsdd文件。
       <…>
           <service name="urn:MyHelloWorld" provider="Handler">
             <parameter name="handlerClass" 
    value="com.ublue.provider.MyRPCProvider"/>
            <parameter name="allowedMethods" value="sayHelloWorld"/>
            <parameter name="className" value="com.ublue.service.HelloWorld"/>
          </service>
       <…>其中com.ublue.provider.MyRPCProvider与org.apache.axis.provider.java.RPCProvider几乎完全一样,但在客户端激活sayHelloWorld方法时,出现IllegalAccessException异常。但将wsdd文件改为如下时: <…>
           <service name="urn:MyHelloWorld" provider="Handler">
             <parameter name="handlerClass" 
    value="com.ublue.provider.RPCProvider"/>
            <parameter name="allowedMethods" value="sayHelloWorld"/>
            <parameter name="className" value="com.ublue.service.HelloWorld"/>
          </service>
       <…>
    其中com.ublue.provider.RPCProvider与org.apache.axis.provider.java.RPCProvider代码几乎一致。
    此时客户端激活sayHelloWorld方法时,运行OK。。在这里,请问在axis怎样加入自己的provider??我的e-mail:[email protected]
    希望有机会向你请教axis方面的知识。
      

  2.   

    你这个com.ublue.provider.RPCProvider类和org.apache.axis.provider.java.MyRPCProvider类的代码,贴出来。方便的话!
      

  3.   

    com.ublue.provider.MyRPCProvider代码和apache提供的axis源代码中的RPCProvider一样。唯一不同的地方就是类名不同而矣!由于回帖字数限制,我仅摘录部分如下:package com.ublue.provider;import org.apache.axis.AxisFault;
    import org.apache.axis.Constants;
    import org.apache.axis.MessageContext;
    import org.apache.axis.components.logger.LogFactory;
    import org.apache.axis.description.OperationDesc;
    import org.apache.axis.description.ParameterDesc;
    import org.apache.axis.description.ServiceDesc;
    import org.apache.axis.enum.Style;
    import org.apache.axis.handlers.soap.SOAPService;
    import org.apache.axis.message.RPCElement;
    import org.apache.axis.message.RPCHeaderParam;
    import org.apache.axis.message.RPCParam;
    import org.apache.axis.message.SOAPBodyElement;
    import org.apache.axis.message.SOAPEnvelope;
    import org.apache.axis.soap.SOAPConstants;
    import org.apache.axis.utils.JavaUtils;
    import org.apache.axis.utils.Messages;
    import org.apache.commons.logging.Log;
    import org.xml.sax.SAXException;import javax.xml.namespace.QName;
    import javax.xml.rpc.holders.Holder;
    import java.lang.reflect.Method;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.Vector;/**
     * Implement message processing by walking over RPCElements of the
     * envelope body, invoking the appropriate methods on the service object.
     *
     * @author Doug Davis ([email protected])
     */
    public class MyRPCProvider extends JavaProvider {
        protected static Log log =
                LogFactory.getLog(MyRPCProvider.class.getName());
       …………
       …………
       …………
    }
      

  4.   

    我想可能是你的MyRPCProvider类所在的包与org.apache.axis.provider.java.RPCProvider类不同,也许Axis需要动态的加载这个类。而你的类又与其他的类不再同一个包内。没有访问的权限吧。仅仅是猜测而已。如果你能构把你全部的代码都贴出就好了(我是除了MyRPCProvider类)