There's a test in CXF that does this. It's called HeaderTest. It shows this with both JAX-WS and simple.
On Sun, Dec 28, 2008 at 9:21 PM, Sebastian Mauer <[email protected]> wrote: > > Sure... > > package cli; > > import javax.xml.ws.Endpoint; > > public class Testing { > /** > * @param args > */ > public static void main(String[] args) { > HBCIService hbciService = new HBCIService(); > Endpoint endpoint = > Endpoint.publish("http://localhost:8080/calculator", > hbciService); > } > } > > Implementation of IHBCIService: > > @WebService > public class HBCIService implements IHBCIService { > > @Resource > private WebServiceContext context; > > @WebMethod > public String ping() { > // TODO Auto-generated method stub > return "pong"; > } > > @WebMethod > public Konto[] getAccounts(String test, @WebParam(header=true)String > auth) > { > // TODO Auto-generated method stub > return passport.getAccounts(); > } > > } > > > Benson Margulies-4 wrote: >> >> Can we see all of your endpoint configuration? >> >> On Sun, Dec 28, 2008 at 8:41 PM, Sebastian Mauer <[email protected]> >> wrote: >>> >>> Hello there, >>> >>> I am currently trying to implement a SOAP based WebService with CFX >>> 2.1.3. I >>> opted to use JAX-WS / +Annotations rather than using the >>> ServerFactoryBean >>> to make sure the generated WSDL specifies my SoapHeaders (btw is that >>> possible with ServerFactoryBean too?) >>> >>> My Service Class Interface does define my getAccount method like this >>> >>> Konto[] getAccounts(String test, @WebParam(header=true)String auth); >>> >>> The resulting WSDL looks also fine: >>> >>> <wsdl:operation name="getAccounts"> >>> <soap:operation soapAction="" style="document"></soap:operation> >>> <wsdl:input name="getAccounts"> >>> <soap:header message="tns:getAccounts" part="arg1" use="literal"> >>> </soap:header> >>> <soap:body parts="parameters" use="literal"></soap:body> >>> </wsdl:input> >>> <wsdl:output name="getAccountsResponse"> >>> <soap:body use="literal"></soap:body> >>> >>> </wsdl:output> >>> </wsdl:operation> >>> >>> My XMLSpy does generate the request as follows: >>> >>> <SOAP-ENV:Envelope >>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >>> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >>> <SOAP-ENV:Header> >>> <arg1 xsi:type="xsd:string">Stringo</arg1> >>> </SOAP-ENV:Header> >>> <SOAP-ENV:Body> >>> <m:getAccounts xmlns:m="http://cli/"> >>> <arg0>String</arg0> >>> </m:getAccounts> >>> </SOAP-ENV:Body> >>> </SOAP-ENV:Envelope> >>> >>> This also looks fine to me, but in the end there is never passed anything >>> to >>> method parameter auth (the SoapHeader) and it will be always null. Am I >>> missing something, shouldn't CXF pass that trough, too? >>> >>> Greetings, >>> >>> Sebastian Mauer >>> -- >>> View this message in context: >>> http://www.nabble.com/SoapHeader-doesn%27t-make-it-trough-tp21198055p21198055.html >>> Sent from the cxf-user mailing list archive at Nabble.com. >>> >>> >> >> > > -- > View this message in context: > http://www.nabble.com/SoapHeader-doesn%27t-make-it-trough-tp21198055p21198264.html > Sent from the cxf-user mailing list archive at Nabble.com. > >
