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:[EMAIL PROTECTED]
Tel:   +49(0)89 636 50265
Mobil: +49(0)172 85 85 245

Reply via email to