axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dittmann Werner <werner.dittm...@siemens.com>
Subject Question about SOAP header handling
Date Thu, 12 Dec 2002 15:45:30 GMT
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

Mime
View raw message