<requestFlow>  
<handler   name="authen"   type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
</requestFlow>这个改为 <requestFlow>      <handler type="Authenticate"/>  
    </requestFlow>试一下看 <handler type="Authenticate"/>  //新加的AXIS自带的Handler

解决方案 »

  1.   

    这个是我测试通了的一个例子
    server-config.wsdd<?xml version="1.0" encoding="UTF-8"?>
    <deployment xmlns="http://xml.apache.org/axis/wsdd/"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    <globalConfiguration>
    <parameter name="sendMultiRefs" value="true" />
    <parameter name="disablePrettyXML" value="true" />
    <parameter name="adminPassword" value="admin" />
    <parameter name="attachments.Directory"
    value="D:/workspace/DIC1.1/WebRoot/FILE" />
    <parameter name="dotNetSoapEncFix" value="true" />
    <parameter name="enableNamespacePrefixOptimization"
    value="false" />
    <parameter name="sendXMLDeclaration" value="true" />
    <parameter name="attachments.implementation"
    value="org.apache.axis.attachments.AttachmentsImpl" />
    <parameter name="sendXsiTypes" value="true" />
    <requestFlow>
    <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="session" />
    </handler>
    <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="request" />
    <parameter name="extension" value=".jwr" />
    </handler>
    </requestFlow>
    </globalConfiguration>
    <handler name="LocalResponder"
    type="java:org.apache.axis.transport.local.LocalResponder" />
    <handler name="URLMapper"
    type="java:org.apache.axis.handlers.http.URLMapper" />
    <requestFlow name="checks">
    <handler
    type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />
    <handler
    type="java:org.apache.axis.handlers.SimpleAuthorizationHandler" />
    </requestFlow>
    <handler name="Authenticate"
    type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />

    <handler name="soapmonitor"   type="java:org.apache.axis.handlers.SOAPMonitorHandler">
            <parameter name="wsdlURL"   value="/axis/SOAPMonitorService-impl.wsdl"/>
            <parameter name="namespace"   value="http://tempuri.org/wsdl/2001/12/SOAPMonitorService-impl.wsdl"/>
            <parameter name="serviceName" value="SOAPMonitorService"/>
            <parameter name="portName" value="Demo"/>
          </handler>
          <service name="SOAPMonitorService" provider="java:RPC">
            <parameter name="allowedMethods" value="publishMessage"/>
            <parameter name="className"   value="org.apache.axis.monitor.SOAPMonitorService"/>
            <parameter name="scope" value="Application"/>
          </service>
          
    <service name="AdminService" provider="java:MSG">
    <parameter name="allowedMethods" value="AdminService" />
    <parameter name="enableRemoteAdmin" value="false" />
    <parameter name="className" value="org.apache.axis.utils.Admin" />
    <namespace>http://xml.apache.org/axis/wsdd/</namespace>
    </service>
    <service name="Version" provider="java:RPC">
    <parameter name="allowedMethods" value="getVersion" />
    <parameter name="className" value="org.apache.axis.Version" />
    </service>


    <service name="SayHello" provider="java:RPC">
        <requestFlow>      <handler type="Authenticate"/>  
        </requestFlow>
        <parameter name="allowedMethods" value="*"/>
          
        <parameter name="className" value="server.SayHello" />
        <parameter name="allowedRoles" value="test"/>  
       </service>
       
       <!-- 
    <service name="SayHello" provider="java:RPC">
    <parameter name="className" value="server.SayHello" />    
    <parameter name="allowedMethods" value="*" />
    <requestFlow>
    <handler type="soapmonitor"/>
    <handler type="java:server.WSServerRequestHandler">
    <parameter name="keyStoreFile"
    value="f:\server.keystore" />
    <parameter name="trustStoreFile"
    value="f:\server.truststore" />
    <parameter name="keyStorePassword" value="changeit" />
    <parameter name="keyAlias" value="Server" />
    <parameter name="keyEntryPassword" value="changeit" />
    <parameter name="trustStorePassword" value="changeit" />
    <parameter name="certAlias" value="clientkey" />
    </handler>
    </requestFlow>
    <responseFlow>
    <handler type="soapmonitor"/>
    <handler type="java:server.WSServerResponseHandler">
    <parameter name="keyStoreFile"
    value="f:\server.keystore" />
    <parameter name="trustStoreFile"
    value="f:\server.truststore" />
    <parameter name="keyStorePassword" value="changeit" />
    <parameter name="keyAlias" value="Server" />
    <parameter name="keyEntryPassword" value="changeit" />
    <parameter name="trustStorePassword" value="changeit" />
    <parameter name="certAlias" value="clientkey" />
    </handler>
    </responseFlow>   
    </service>
     -->
    <transport name="http">
    <requestFlow>
    <handler type="URLMapper" />
    <handler
    type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
    </requestFlow>
    <parameter name="qs:list"
    value="org.apache.axis.transport.http.QSListHandler" />
    <parameter name="qs:wsdl"
    value="org.apache.axis.transport.http.QSWSDLHandler" />
    <parameter name="qs.list"
    value="org.apache.axis.transport.http.QSListHandler" />
    <parameter name="qs.method"
    value="org.apache.axis.transport.http.QSMethodHandler" />
    <parameter name="qs:method"
    value="org.apache.axis.transport.http.QSMethodHandler" />
    <parameter name="qs.wsdl"
    value="org.apache.axis.transport.http.QSWSDLHandler" />
    </transport>
    <transport name="local">
    <responseFlow>
    <handler type="LocalResponder" />
    </responseFlow>
    </transport>
    </deployment>
    服务端
    public class SayHello {

    public String getName(String name){
    return name;
    }
    }
    客户端
    public class TestHandler {

    public static void main(String args[]) throws Exception{
    String endpointURL = "http://192.168.1.15:800/axistest/services/SayHello?wsdl";        Service  service = new Service();  
           Call     call    = (Call) service.createCall();
           call.getMessageContext().setUsername("test");//  用户名。
           call.getMessageContext().setPassword("test");//   密码
         call.setTargetEndpointAddress( new java.net.URL(endpointURL) );      call.setOperationName(new QName("getName"));
         String res = (String) call.invoke( new Object[] {"1111111111"} );      System.out.println( res );
       }
    }
    users.lst
    test test
    (用户名和密码中间只有一个空格)
      

  2.   

    <requestFlow>     
    <handler       name="authen"       type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> 
    </requestFlow> 这个改为   <requestFlow>             <handler   type="Authenticate"/>     
            </requestFlow> 试一下看   <handler   type="Authenticate"/>     //新加的AXIS自带的Handler这里两种写法应该是一样的 都是用到这个SimpleAuthenticationHandler