axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dittmann Werner <>
Subject AW: soap:header
Date Thu, 18 Apr 2002 07:00:07 GMT

sorry about the confusion. I was looking at the SOAP specs
only. Now having a look at the WSDL specs I tried to match
these two. Here what I found and think what it may be:

1st: the pure SOAP (1.2) does not provide a direct binding
     between header contents and body contents. Both parts
     of a SOAP message can be addressed to different entities,
     can processed independently, and there is no protocol
     element which relates them. If there shall be a relation
     between header and body elements that must be done by
     application specific elements and/or attributes.

2nd: WSDL defining headers inside the operation part may
     be interpreted like: if this operation is called then 
     the defined headers must be transmitted also. This is 
     just my interpretation because the SOAP spec does not
     mandate this. Using the header definition inside the
     operation may be used to generate implemetation code
     on the server side, and/or code on the client side that 
     checks if all "required" headers are set.

However, there should also be a way to set additional headers
in the SOAP message that are not defined in WSDL but are necessary
for other purposes, e.g. SOAP routing, transfer of service licensing
data, etc. 

About overwriting received SOAP headers: you are right. 
There are different level of abstraction in .NET and the SOAP toolkit.

I was looking from a pure SOAP point of view. Here the headers
contained in a request are not related to headers contained
in a response. Because of that I'm somewhat reluctant to
automatically overwrite headers.

I've seen an example where the request contained some security
info (name/password) in a header and the response contained also
a header with security info (name/password) but both where
different, i.e. first it was the requestors name/password
and then it was the name/password of the responder (support of
mutual authentication). They used the same header element name, 
encoding, etc. In this case overwriting complicates the whole matter.


> -----Urspr√ľngliche Nachricht-----
> Von: St-Germain, Sylvain []
> Gesendet: Mittwoch, 17. April 2002 22:18
> An:
> Betreff: RE: soap:header
> Werner, 
> I made a mistake, I meant the WSDL spec,
> This is the kind of 
> support I am
> implementing now... About header name, they do not seem to 
> have a name, they
> have a part name and a message name though.
> I have not played with .NET personaly but one of my buddy 
> here did and from
> what I know he did not need to do anything special to have the headers
> received in the response be the one sent in the next request.
> Sylvain.
> -----Original Message-----
> From: Dittmann Werner []
> Sent: Wednesday, April 17, 2002 11:18 AM
> To: ''
> Subject: AW: soap:header
> Hi,
> just some questions and findings about soap headers.
> If you refer to "SOAP spec brings in a soap:header element that
> goes into the operation's binding: to what spec do you refer? 
> The according chapter "RPC and SOAP Header" just states that by
> "adding a header with a fixed name...." will additional context
> transfered to the server. No further binding is described there, 
> so IMHO it's up to the operation implemenation to look for a 
> header with an appropriate name. Other headers may be contained 
> in the header section as well. Therefore a application may prepare
> all necessary headers for the service and the operation 
> implementation looks for those that are relevant.
> According to the client side handling of headers I digged into the
> .NET/SOAP toolkit docs: they state that an application must provide 
> a HeaderHandler object that provides the headers before sending a 
> request and that consumes the headers when receiving a response. 
> IMO headers are not processed in any way by the SOAP toolkit but
> by the provided header handling object.
> You may refer to the following link: (beware of line breaks)
> us/soap/htm/so
> ap_adv_6d83.asp
> Werner
[ .... deleted rest of communication .... ]

View raw message