it looks like you got the header object as a DOM element and it has
likely its intended value.

object =
{com.sun.org.apache.xerces.internal.dom.ElementNSImpl@4427}"[CustomHeader:
null]"

I'm not sure if you are talking about that printed "null". In that
case, this simply means you have an element node and since the element
node's node value is defined to be null, you see the null value.

see http://www.w3.org/2003/01/dom2-javadoc/org/w3c/dom/Node.html

To get the value within the Key element, you need to traverse its child nodes.

regards, aki

2011/12/29 dkundo <[email protected]>:
> Hi,
>
> I'm having the following problem:
> The client (WCF/.NET) sends a custom soap header with some value but on the
> server side the header's value is null.
>
> This is the SOAP message sent by client:
>
> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/";>
> <s:Header>
> *<CustomHeader xmlns="http://schemas.devleap.com/CustomHeader";>
> <Key>3859e0ee-4036-4f90-b8e9-7eb016c77b37</Key>
> </CustomHeader>
> *</s:Header>
> <s:Body><login xmlns="http://ws.mycompany.com";
> xmlns:i="http://www.w3.org/2001/XMLSchema-instance";><arg0
> xmlns="">A</arg0><arg1 xmlns="">123</arg1></login></s:Body></s:Envelope>
>
>
> The SoapMessage on the server looks like:
>
> this = {dleserver.SessionInterceptor@2947}
> message = {org.apache.cxf.binding.soap.SoapMessage@2954} size = 32
> [0] = {java.util.HashMap$Entry@4156} javax.xml.ws.wsdl.port ->
> {http://ws.mycompany.com}LoginSvcImplPort
> [1] = {java.util.HashMap$Entry@4165}
> org.apache.cxf.service.model.MessageInfo -> [MessageInfo INPUT:
> {http://ws.mycompany.com}login]
> [2] = {java.util.HashMap$Entry@4174}
> org.apache.cxf.message.Message.PROTOCOL_HEADERS -> {accept-encoding=[gzip,
> deflate], connection=[keep-alive], Content-Length=[387],
> content-type=[text/xml; charset=UTF-8], Expect=[100-continue],
> Host=[dkundo-tc:9005], MYHEAD...
> [3] = {java.util.HashMap$Entry@4183} HTTP_CONTEXT_MATCH_STRATEGY -> stem
> [4] = {java.util.HashMap$Entry@4191} org.apache.cxf.request.url ->
> http://dkundo-tc:9005/LoginSvc
> [5] = {java.util.HashMap$Entry@4199} javax.xml.ws.wsdl.interface ->
> {http://ws.mycompany.com}LoginSvc
> [6] = {java.util.HashMap$Entry@4207} org.apache.cxf.request.uri -> /LoginSvc
> [7] = {java.util.HashMap$Entry@4215} HTTP.REQUEST -> (POST
> /LoginSvc)@1328597432 org.eclipse.jetty.server.Request@4f30c9b8
> [8] = {java.util.HashMap$Entry@4224}
> org.apache.cxf.transport.https.CertConstraints -> null
> [9] = {java.util.HashMap$Entry@4231} HTTP.CONFIG -> null
> [10] = {java.util.HashMap$Entry@4238} Accept -> null
> [11] = {java.util.HashMap$Entry@4245} org.apache.cxf.headers.Header.list ->
> [org.apache.cxf.binding.soap.SoapHeader@20b8610d]
> key: java.lang.String =
> {java.lang.String@4247}"org.apache.cxf.headers.Header.list"
> value: java.util.ArrayList = {java.util.ArrayList@4251} size = 1
> *[0] = {org.apache.cxf.binding.soap.SoapHeader@4425}
> mustUnderstand = false
> actor = null
> dataBinding = null
> name =
> {javax.xml.namespace.QName@4426}"{http://schemas.devleap.com/CustomHeader}CustomHeader";
> namespaceURI =
> {java.lang.String@4434}"http://schemas.devleap.com/CustomHeader";
> localPart = {java.lang.String@4435}"CustomHeader"
> prefix = {java.lang.String@4436}""
> object =
> {com.sun.org.apache.xerces.internal.dom.ElementNSImpl@4427}"[CustomHeader:
> null]"
> namespaceURI =
> {java.lang.String@4434}"http://schemas.devleap.com/CustomHeader";
> localName = {java.lang.String@4435}"CustomHeader"
> type = null
> name = {java.lang.String@4435}"CustomHeader"
> attributes = {com.sun.org.apache.xerces.internal.dom.AttributeMap@4440}
> ownerDocument =
> {com.sun.org.apache.xerces.internal.dom.DocumentImpl@4441}"[#document:
> null]"
> firstChild =
> {com.sun.org.apache.xerces.internal.dom.ElementNSImpl@4442}"[Key: null]"
> fNodeListCache = null
> fBufferStr = null
> previousSibling =
> {com.sun.org.apache.xerces.internal.dom.ElementNSImpl@4427}"[CustomHeader:
> null]"
> nextSibling = null
> ownerNode =
> {com.sun.org.apache.xerces.internal.dom.ElementNSImpl@4443}"[s:Header:
> null]"
> flags = 24
> direction = {org.apache.cxf.headers.Header$Direction@4428}"DIRECTION_IN"
> *[12] = {java.util.HashMap$Entry@4254}
> org.apache.cxf.message.Message.BASE_PATH -> /LoginSvc
> [13] = {java.util.HashMap$Entry@4262}
> org.apache.cxf.message.Message.PATH_INFO -> /LoginSvc
> [14] = {java.util.HashMap$Entry@4270}
> org.apache.cxf.continuations.ContinuationProvider ->
> org.apache.cxf.transport.http_jetty.continuations.JettyContinuationProvider@37312d86
> [15] = {java.util.HashMap$Entry@4279} javax.xml.ws.wsdl.service ->
> {http://ws.mycompany.com}LoginSvcImplService
> [16] = {java.util.HashMap$Entry@4288}
> org.apache.cxf.message.Message.IN_INTERCEPTORS ->
> [org.apache.cxf.transport.https.CertConstraintsInterceptor@62f570b5]
> [17] = {java.util.HashMap$Entry@4297}
> org.apache.cxf.message.Message.ENCODING -> UTF-8
> [18] = {java.util.HashMap$Entry@4305}
> org.apache.cxf.binding.soap.SoapVersion ->
> org.apache.cxf.binding.soap.Soap11@57a32cb5
> [19] = {java.util.HashMap$Entry@4314}
> org.apache.cxf.message.Message.QUERY_STRING -> null
> [20] = {java.util.HashMap$Entry@4321} HTTP.RESPONSE -> HTTP/1.1 200 \r\n\r\n
> [21] = {java.util.HashMap$Entry@4330}
> org.apache.cxf.security.SecurityContext ->
> org.apache.cxf.transport.http.AbstractHTTPDestination$2@5e41108b
> [22] = {java.util.HashMap$Entry@4339}
> org.apache.cxf.configuration.security.AuthorizationPolicy -> null
> [23] = {java.util.HashMap$Entry@4346}
> org.apache.cxf.async.post.response.dispatch -> true
> [24] = {java.util.HashMap$Entry@4355} org.apache.cxf.request.method -> POST
> [25] = {java.util.HashMap$Entry@4363} javax.xml.ws.wsdl.operation ->
> {http://ws.mycompany.com}login
> [26] = {java.util.HashMap$Entry@4372} org.apache.cxf.transport.Destination
> -> org.apache.cxf.transport.http_jetty.JettyHTTPDestination@87db50a
> [27] = {java.util.HashMap$Entry@4380}
> org.apache.cxf.message.MessageFIXED_PARAMETER_ORDER -> false
> [28] = {java.util.HashMap$Entry@4389} javax.xml.ws.wsdl.description ->
> http://dkundo-tc:9005/LoginSvc?wsdl
> [29] = {java.util.HashMap$Entry@4398}
> org.apache.cxf.service.model.BindingMessageInfo ->
> org.apache.cxf.service.model.BindingMessageInfo@2cfb5baa
> [30] = {java.util.HashMap$Entry@4407} HTTP.CONTEXT ->
> [email protected]{,null}
> [31] = {java.util.HashMap$Entry@4416} Content-Type -> text/xml;
> charset=UTF-8
> serviceInterface =
> {javax.xml.namespace.QName@2955}"{http://ws.mycompany.com}LoginSvc";
>
> Any ideas why?
>
>
> --
> View this message in context: 
> http://cxf.547215.n5.nabble.com/Custom-SOAP-header-tp5107937p5107937.html
> Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to