I think you're referring to "implicit" SOAP headers (and if you Google on that term you should find more information possibly answering your question), handled by placing them not in the wsdl:portType element but in the wsdl:binding instead, see here: http://www.jroller.com/gmazza/entry/using_implicit_soap_headers_with (sorry, this blog entry is out-of-date but soon on my list for updating...)

I'm not aware how you can add those in via SEI annotations, as such headers are no longer seen by the SEI, but would manually inserting them in the WSDL (that you subsequently give to your clients) be an option for you? While you can use a annotated SEI to generate a WSDL, you may find it better to have your "source of record" be the WSDL itself, with the SEI just used to conveniently get you to an approximation of the WSDL (see http://cxf.apache.org/docs/defining-contract-first-webservices-with-wsdl-generation-from-java.html).

Glen

On 07/05/2012 07:21 AM, Michael Täschner wrote:
Hi,

I would like to know if I can declare my SOAP headers within the WebService
service endpoint interface (SEI) but not handle it as parameter of the
webmethods? The header element is read/set by our interceptors and this
works fine. The question is where do I declare this within the SEI so that
the client retrieving the wsdl knows that soap headers are required for the
operations ? I could annotate the @WebParam with "header" but this way the
header is injected in the functional operations where I don't need it.
Currently I used @XmlSeeAlso with reference to the header class to include
the type definition in the generated wsdl but it is not "linked" to the
webmethod. Is there something I am missing ?


Thanks and Regards,
Michael

P.S. current CXF version is 2.4.1



--
Glen Mazza
Talend Community Coders
coders.talend.com
blog:www.jroller.com/gmazza

Reply via email to