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.