Web服务上的Java Axis基本身份验证不工作
我试图允许Java Web服务接收基本身份验证,但该值不在标题上 使用SOAPUI,该值位于Authorization字段上,但在WebService上不显示该值 我在服务器配置.wsdd文件中有以下属性Web服务上的Java Axis基本身份验证不工作,java,web-services,basic-authentication,axis,Java,Web Services,Basic Authentication,Axis,我试图允许Java Web服务接收基本身份验证,但该值不在标题上 使用SOAPUI,该值位于Authorization字段上,但在WebService上不显示该值 我在服务器配置.wsdd文件中有以下属性 <ns1:requestFlow> <ns1:handler type="java:org.apache.axis.handlers.JWSHandler"> <ns1:parameter name="scope&q
<ns1:requestFlow>
<ns1:handler type="java:org.apache.axis.handlers.JWSHandler">
<ns1:parameter name="scope" value="session"/>
</ns1:handler>
<ns1:handler type="java:org.apache.axis.handlers.JWSHandler">
<ns1:parameter name="scope" value="request"/>
<ns1:parameter name="extension" value=".jwr"/>
</ns1:handler>
<ns1:handler name="CliWebServiceAutentication" type="java:tg.cliWebService.CliWebServiceAutentication">
<parameter name="action" value="UsernameToken"/>
<parameter name="user" value="wsuser"/>
<!--<parameter name="passwordCallbackClass" value="fibonacci.handler.PWCallbackClient"/>-->
<parameter name="passwordType" value="PasswordText"/>
</ns1:handler>
</ns1:requestFlow>
</ns1:globalConfiguration>
<ns1:handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
<ns1:handler name="CliWebServiceAutentication" type="java:tg.cliWebService.CliWebServiceAutentication"/>
<ns1:handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
msgContext变量在其内容上没有基本授权
<ns1:transport name="http">
<ns1:requestFlow>
<ns1:handler type="URLMapper"/>
<ns1:handler type="java:tg.cliWebService.CliWebServiceAutentication" name="Authenticate">
<ns1:parameter name="Authorization" value="Basic Basic"/>
</ns1:handler>
<!--<ns1:handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>-->
</ns1:requestFlow>
public class CliWebServiceAutentication extends org.apache.axis.handlers.http.HTTPAuthHandler
{
//org.apache.axis.handlers.SimpleAuthenticationHandler{
private static final long serialVersionUID = 1L;
//protected static Log log = LogFactory.getLog(HTTPAuthHandler.class.getName());
public void invoke(org.apache.axis.MessageContext msgContext) throws org.apache.axis.AxisFault
{
super.invoke(msgContext);
String username = "";
String password = "";
String WEBSERVICE_SICUREZZA_ATTIVA = "SI";
String WEBSERVICE_USERNAME = "User";
String WEBSERVICE_PASSWORD = "Password";
try
{
Iterator i = msgContext.getRequestMessage().getMimeHeaders().getAllHeaders();
while (i.hasNext())
{
javax.xml.soap.MimeHeader o = (javax.xml.soap.MimeHeader) i.next();
if ("Username".equalsIgnoreCase(o.getName()))
{
username = o.getValue();
}
if ("Password".equalsIgnoreCase(o.getName()))
{
password = o.getValue();
}
}
if (msgContext.getPassword() != null)
{
password = msgContext.getPassword();
}
if (msgContext.getUsername() != null)
{
username = msgContext.getUsername();
}
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
throw new org.apache.axis.AxisFault(e.getMessage());
}
if ("SI".equals(WEBSERVICE_SICUREZZA_ATTIVA))
{
if (WEBSERVICE_USERNAME.equals(username) && (WEBSERVICE_PASSWORD.equals(password)))
{
LogManager.log().info(CliWebServiceAutentication.class, "CliWebServiceAutentication autorizzato " + username, "");
}
else
{
LogManager.log().errore(CliWebServiceAutentication.class, "CliWebServiceAutentication NON autorizzato " + username, "");
throw new org.apache.axis.AxisFault("Autentication failed");
}
}
}