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 bu...@apache.org on 2003/04/03 23:57:00 UTC

DO NOT REPLY [Bug 18672] New: - handler parameter value not redefined in references

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18672>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18672

handler parameter value not redefined in references

           Summary: handler parameter value not redefined in references
           Product: Axis
           Version: 1.1rc2
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Deployment / Registries
        AssignedTo: axis-dev@ws.apache.org
        ReportedBy: chris.haddad@cobia.net


is this behavior a bug? an enhancement?   IMHO, the current behavior is non-
intuitive because it does not promote re-use of the class definitions for a 
handler.

If a deployment tag for a handler in the service tag references a <handler> 
definition, the handler parameters cannot be defined in the referencing 
section.  For example, the deploy.wsdd listed below will NOT create a file 
called 'ReservationMsgFile.log' but a file called 'MsgFile.log'.   If the 
parameter is not defined in the first handler definition, the option is set to 
null.

<deployment>
  <!-- Services from ReservationService WSDL service -->
 <handler name="MsgDump" type="java:net.cobia.handler.DumpMessage">
              <parameter name="filename" value="/var/log/webapps/MsgFile.log"/>
 </handler>

  <service name="Reservation" provider="java:RPC" style="rpc" use="encoded">
         ... 
      <requestFlow>
         <handler name="ReservationMsgDump" type="MsgDump">               
             <parameter name="filename"  
                          value="/var/log/webapps/ReservationMsgFile.log"/>
           </handler>
      </requestFlow>
      <responseFlow>
         <handler name="ReservationMsgDump" type="MsgDump">
              <parameter name="filename"
                         value="/var/log/webapps/ReservationMsgFile.log"/>
           </handler>
      </responseFlow>
  </service>
</deployment>

The AdminClient list command does display that the parameter subtag is 
initialized for the handler in the requestFlow and responseFlow.


Conversely, if the deployment file references the full class definition, then 
the filename is properly initialized using the value specified in the service 
definition.   For example, this works:

  <requestFlow>
         <handler name="MsgDump"  
                  type="java:com.oreilly.axistdg.ch04.handler.DumpMessage">
              <parameter name="filename" 
                    value="/var/log/webapps/ReservationMsgFile.log"/>
           </handler>
      </requestFlow>

    
The downside to the latter method is that the class reference is not re-used.