You should not use soap encoding for headers. >From the WSDL 1.1 spec, Section 3.7 soap:header and soap:headerfault:
"The use, encodingStyle and namespace attributes are all used in the same way as with soap:body (see section 3.5), only style="document" is assumed since headers do not contain parameters." Please log a bug about the automatic literal binding of the body. Thanks, Anne On Fri, 18 Mar 2005 11:19:20 +0100, K�st Heiko <[EMAIL PROTECTED]> wrote: > hi, > > a question about headers: when i define a header (some type with some > attributes) and define the binding for that header to be soap-encoded, the > multiRef reference to the header goes to the soap-body (*) which means that > the header information is splitted up between soap-header and soap-body: > > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <soapenv:Header> > (*) <ns1:soaBaseHeader > soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" > soapenv:mustUnderstand="0" href="#id0" > xmlns:ns1="urn://winterthur/com/soa/base/xsd"/> > </soapenv:Header> > <soapenv:Body> > <ns2:updatePartnerAddressInfo > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:ns2="urn://winterthur/com/partner/PartnerModify"> > <partnerAddressInfo href="#id1"/> > </ns2:updatePartnerAddressInfo> > (*) <multiRef id="id0" soapenc:root="0" > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xsi:type="ns3:SOABaseHeader" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:ns3="urn://winterthur/com/soa/base/xsd"> > <BaseHeaderVersion xsi:type="xsd:string" > xsi:nil="true"/> > ... other attributes ... > </multiRef> > <multiRef id="id1" soapenc:root="0" > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xsi:type="ns4:PartnerAddressInfo" > xmlns:ns4="urn://winterthur/com/partner/PartnerModify/xsd" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> > <streetName > xsi:type="xsd:string">Römerstrasse</streetName> > ... other attributes ... > </multiRef> > <multiRef id="id2" soapenc:root="0" > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xsi:type="xsd:int" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">8500</multiRef> > </soapenv:Body> > </soapenv:Envelope> > > is this a correct behaviour? shouldn't all header-information appear in the > soap-header? > > if i use literal for the header binding, the body binding automatically > seems to be literal too... > > thanks for your help > > heiko >
