Hi,
I am developing a soap client that uses either HTTP or SMTP. I have a
SMTPSender to send a request and use a Pop3Fetcher to retrieve the
response as a email. Both of them extend
org.apache.axis.handlers.BasicHandler.
Following is the client-config.wsdd file I am using:
<?xml version="1.0" encoding="UTF-8"?>
<deployment name="defaultClientConfig"
xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<transport name="smtp"
pivot="java:org.apache.axis.transport.smtp.SMTPSender">
<parameter name="from-address"
value="[EMAIL PROTECTED]"/>
<responseFlow>
<handler name="receiver"
type="java:org.apache.axis.transport.smtp.Pop3Fetcher">
<parameter name="parm1"
value="[EMAIL PROTECTED]"/>
</handler>
</responseFlow>
</transport>
<transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender"/>
</deployment>
The problem I found is that the parameters of transport pivot are not
populated to the
java instnace. For this case, if i invoked this.getOption( "from-address" )
inside
SMTPSender.invoke(), I got a null. However, I can get the correct value when
I invoke
this.getOption( "parm1" ) in Pop3Fetcher.invoke().
In the code of org.apache.axis.deployment.wsdd.WSDDDeployableItem, the
parameters are
populated to new instance in WSDDDeployableItem.makeNewInstance method by
invoking h.setOptions(getParametersTable()). But this mehtod is overriden by
org.apache.axis.deployment.wsdd.WSDDTargetedChain withod invoking
pivot.setOptions(getParametersTable()).
Is this for some design purpose ? Or, is there any problem in my
configuration ?
By the schema of wsdd, it looks like parameters are allowed for transport...
Am i correct ?
Thanks,
ShihChang Chen