I have few services to access from client side my client config file is as follows. For Few services I want the handler to show intercept and then log and for others I dont want it to do that. Whenever I remove the handler from CampaignService remove the second service definition from client-config.xml below then all the services and other handler work perfectly but called on all services otherwise.
I later came to realize that I have two services exposed by other parties and when I specify their names as CampaignService their respective handlers are executed. but If I specify their names to be other than CampaignService these wont be executed. Now since there are two CampaignServices and I want two of them to be executed and one of those not to be executed. but if I name anyone of them to CampaignService then all of them are executed otherwise none of them is executed.
Below is axis client-confg.wsdd
<?xml version="1.0" encoding="UTF-8"?>
<deployment name="BidcenterClientConfig"
xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<handler name="log" type="java:com.mypackage.SOAPMonitor"/>
<!-- For global configuration of handlers -->
<!-- globalConfiguration>
<requestFlow>
<handler type="log"/>
</requestFlow>
<responseFlow>
<handler type="log"/>
</responseFlow>
</globalConfiguration -->
<!-- service specific configurations -->
<service name="InfoService" provider="java:RPC">
<requestFlow>
<handler type="log"/>
</requestFlow>
<responseFlow>
<handler type="log"/>
</responseFlow>
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="com.mypackage.InfoServiceSoapBindingStub"/>
</service>
<service name="CampaignService" provider="java:RPC" style="document" use="literal">
<requestFlow>
<handler type="log"/>
</requestFlow>
<responseFlow>
<handler type="log"/>
</responseFlow>
<parameter name="allowedMethods" value="addCampaign"/>
<parameter name="className" value="com.myPackage.CampaignServiceHttpBindingStub"/>
</service>
<transport name="http" pivot="java
rg.apache.axis.transport.http.HTTPSender"/>
<transport name="local" pivot="java
rg.apache.axis.transport.local.LocalSender"/>
<transport name="java" pivot="java
rg.apache.axis.transport.java.JavaSender"/>
</deployment>
The Interceptor is being called for all the services. I am not sure why this is happening.Is there anyone who had this sort of experience with Apache Axis on client side handler and reason why this is happening and how can I get rid of this problem.
[ May 21, 2007: Message edited by: Syed Khurram Mahmood ]
[ May 21, 2007: Message edited by: Syed Khurram Mahmood ]
[ May 21, 2007: Message edited by: Syed Khurram Mahmood ]