You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Jesús Daniel Blázquez Carazo <jd...@gfi-info.com> on 2005/09/07 13:30:55 UTC
Problem with session management
I am trying to session management using a servlet client on jboss server.
The deploy.wsdd in server
<?xml version="1.0" encoding="UTF-8"?>
<deployment
name="TerregovService"
xmlns="http://xml.apache.org/axis/wsdd/"
targetNamespace="http://localhost:8080/TerregovService"
xmlns:trights="http://localhost:8080/TerregovService"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="Rights" provider="Handler">
<parameter name="handlerClass" value="org.apache.axis.providers.java.EJBProvider"/>
<parameter name="beanJndiName" value="RightsBeanLocal"/>
<parameter name="homeInterfaceName" value="org.terregov.dram.WebService.interfaces.RightsBeanLocalHome"/>
<parameter name="localInterfaceName" value="org.terregov.dram.WebService.interfaces.RightsBeanLocal"/>
<parameter name="allowedMethods" value="checkRights getUser"/>
<requestFlow name="RightsRequest">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</requestFlow>
<responseFlow name="RightsResponse">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</responseFlow>
</service>
<service name="Authentication" provider="Handler">
<parameter name="handlerClass" value="org.apache.axis.providers.java.EJBProvider"/>
<parameter name="beanJndiName" value="AuthenticationBeanLocal"/>
<parameter name="homeInterfaceName" value="org.terregov.dram.WebService.interfaces.AuthenticationBeanLocalHome"/>
<parameter name="localInterfaceName" value="org.terregov.dram.WebService.interfaces.AuthenticationBeanLocal"/>
<parameter name="allowedMethods" value="challengeRequestX509 challengeValidationX509 loginValidation challengeRequest challengeValidation "/>
<requestFlow name="AuthenticationRequest">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</requestFlow>
<responseFlow name="AuthenticationResponse">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</responseFlow>
</service>
<service name="CAServices" provider="Handler">
<parameter name="handlerClass" value="org.apache.axis.providers.java.EJBProvider"/>
<parameter name="beanJndiName" value="CAServicesBeanLocal"/>
<parameter name="homeInterfaceName" value="org.terregov.dram.WebService.interfaces.CAServicesBeanLocalHome"/>
<parameter name="localInterfaceName" value="org.terregov.dram.WebService.interfaces.CAServicesBeanLocal"/>
<parameter name="allowedMethods" value="requestNewUser requestCertificate getCRL getPublicKey revokeCertificate searchCertificate updateCertRequest "/>
<requestFlow name="CAServices">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</requestFlow>
<responseFlow name="CAServices">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</responseFlow>
</service>
</deployment>
and works well because in SOAP header contains session value, but the client does not put session value in SOAP request.
The client.wsdd is generated automatically with org.apache.axis.utils.Admin client deploy.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="adminPassword" value="admin"/>
<parameter name="enableNamespacePrefixOptimization" value="true"/>
<parameter name="disablePrettyXML" value="true"/>
<parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
<parameter name="sendXsiTypes" value="true"/>
<parameter name="sendMultiRefs" value="true"/>
<parameter name="sendXMLDeclaration" value="true"/>
</globalConfiguration>
<requestFlow name="RightsRequest">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</requestFlow>
<responseFlow name="AuthenticationResponse">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</responseFlow>
<responseFlow name="RightsResponse">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</responseFlow>
<requestFlow name="AuthenticationRequest">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</requestFlow>
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<responseFlow name="CAServices">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</responseFlow>
<service name="Rights" provider="Handler">
<requestFlow name="RightsRequest">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</requestFlow>
<responseFlow name="RightsResponse">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</responseFlow>
<parameter name="allowedMethods" value="checkRights getUser"/>
<parameter name="localInterfaceName" value="org.terregov.dram.WebService.interfaces.RightsBeanLocal"/>
<parameter name="handlerClass" value="org.apache.axis.providers.java.EJBProvider"/>
<parameter name="beanJndiName" value="RightsBeanLocal"/>
<parameter name="homeInterfaceName" value="org.terregov.dram.WebService.interfaces.RightsBeanLocalHome"/>
</service>
<service name="CAServices" provider="Handler">
<requestFlow name="CAServices">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</requestFlow>
<responseFlow name="CAServices">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</responseFlow>
<parameter name="allowedMethods" value="requestNewUser requestCertificate getCRL getPublicKey revokeCertificate searchCertificate updateCertRequest "/>
<parameter name="localInterfaceName" value="org.terregov.dram.WebService.interfaces.CAServicesBeanLocal"/>
<parameter name="handlerClass" value="org.apache.axis.providers.java.EJBProvider"/>
<parameter name="beanJndiName" value="CAServicesBeanLocal"/>
<parameter name="homeInterfaceName" value="org.terregov.dram.WebService.interfaces.CAServicesBeanLocalHome"/>
</service>
<service name="Authentication" provider="Handler">
<requestFlow name="AuthenticationRequest">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</requestFlow>
<responseFlow name="AuthenticationResponse">
<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
<handler type="soapmonitor"/>
</responseFlow>
<parameter name="allowedMethods" value="challengeRequestX509 challengeValidationX509 loginValidation challengeRequest challengeValidation "/>
<parameter name="localInterfaceName" value="org.terregov.dram.WebService.interfaces.AuthenticationBeanLocal"/>
<parameter name="handlerClass" value="org.apache.axis.providers.java.EJBProvider"/>
<parameter name="beanJndiName" value="AuthenticationBeanLocal"/>
<parameter name="homeInterfaceName" value="org.terregov.dram.WebService.interfaces.AuthenticationBeanLocalHome"/>
</service>
<transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/>
<transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/>
<transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/>
</deployment>
My question is: It's enough with this or it is necesary to do something more?
My client invoke stub generated with WSLD2Java classes. I think is a problem with AxisEngine configuration in client part but I do not know sure.
Thanks for your future answers.