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 Dittmann Werner <we...@siemens.com> on 2002/12/12 16:45:30 UTC
Question about SOAP header handling
Hi all,
was the way SOAP header handling changed between Axis 1.0
and the current version (nightly build Dec 12)? I had a WSDL
(and generated classes, own application) that worked.
Using the current version it seems that the handling of message
parts that are definded as SOAP header in the SOAP binding of
the WSDL are now treated as normal parameters.
Here is how the message is defined. The last part (uniqueRequestIdentifier)
shall be placed in the SOAP header as defined in th SOAP binding.
<message name='AmountCharging_chargeAmountRequest'>
<part name='endUserIdentifier' type='EndUserIdentifier'/>
<part name='amount' type='xsd:float'/>
<part name='billingText' type='xsd:string'/>
<part name='uniqueRequestIdentifier'
type='UniqueRequestIdentifier' />
</message>
The SOAP binding part of the WSDL:
<operation name='chargeAmount'>
<soap:operation soapAction='AmountCharging#chargeAmount'/>
<input>
<soap:body
message='AmountCharging_chargeAmountRequest'
parts='endUserIdentifier amount billingText'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'
namespace = 'AmountCharging'
use='encoded'/>
<soap:header
message='AmountCharging_chargeAmountRequest'
part='uniqueRequestIdentifier'
use='literal' />
</input>
<output>
<soap:body
message='AmountCharging_chargeAmountResponse'
parts=''
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'
namespace = 'AmountCharging'
use='encoded'/>
<soap:header
message='AmountCharging_chargeAmountResponse'
part='uniqueRequestIdentifier'
use='literal' />
</output>
...... cut for brevity .....
Axis V1.0 worked (at least the request, the response had problems with
the return of the header) and sent the request id as a header. The
current version sends it as parameter and requires a holder class (because
a header is sent back by the server).
What is the general direction how to handle SOAP headers according to
the above WSDL? Or will Axis support headers only that were set
explicitly using a "addParameterAsHeader()" call?
Regards
Werner
Werner Dittmann
Siemens ICM N PG ES SE E
mailto:Werner.Dittmann@siemens.com
Tel: +49(0)89 636 50265
Mobil: +49(0)172 85 85 245