<service name="Version" type="" regenerateElement="false" provider="java:RPC">
<parameter name="allowedMethods" value="getVersion" regenerateElement="false"/>
<parameter name="className" value="org.apache.axis.Version" regenerateElement="false"/>
</service>这是axis自带的例子,把type regenerateElement参数补上试试

解决方案 »

  1.   

    前段时间太忙,也没有顾上来CSDN,沉了。有遇到过类似问题的吗?
      

  2.   

    自己解决了,deploy.wsdd如下:<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> 
    <handler name="print" type="java:LogHandler"/> 
    <service name="wstest" provider="java:RPC">
    <requestFlow>
    <handler type="print"/>
    </requestFlow>
    <parameter name="className" value="com.ufgov.webservice.WsTest"/>
    <parameter name="allowedMethods" value="*"/> 
    </service>
    </deployment>LogHandler.java如下:
    import org.apache.axis.AxisFault;
    import org.apache.axis.Handler;
    import org.apache.axis.MessageContext;
    import org.apache.axis.handlers.BasicHandler;import java.util.Date;
    public class LogHandler extends BasicHandler {
    public void invoke(MessageContext msgContext) throws AxisFault{
    /** Log an access each time 
    we get invoked.
    */
    try {
    Handler serviceHandler = msgContext.getService();

    Integer numAccesses = (Integer)serviceHandler.getOption("accesses");
    if (numAccesses == null)
    numAccesses = new Integer(0);
    numAccesses = new Integer(numAccesses.intValue() + 1);
    Date date = new Date();
    String result = date + ": service " + msgContext.getTargetService() + " accessed " + numAccesses + " time(s).";
    serviceHandler.setOption("accesses", numAccesses);
    System.out.println(result);
    } catch (Exception e){
    throw AxisFault.makeFault(e);
    }
    }
    }感觉使用axis自带的handler也可以,还没试呢。