[jboss-user] [JBossWS] - SOAP header not being set as request param

griff7023 do-not-reply at jboss.com
Fri Jun 1 12:50:24 EDT 2007


I am having trouble migrating a WS from JAX-WS RI 2.0/JBoss 4.0.5.GA to JBossWS/JBoss 4.2.0.GA.

The WS starts ok and I can connect a client but the request and response headers are always null.

For example, I have an operation SubmitBasket which is defined as follows:


  |     @WebMethod(operationName = "SubmitBasket")
  |     @WebResult(name = "receipt", targetNamespace = "http://www.m-bar-go.com", partName = "response")
  |     public Receipt submitBasket(
  |             @WebParam(name = "header", targetNamespace = "http://www.m-bar-go.com", header = true)
  |             Header inboundHeader,
  |             @WebParam(name = "header", targetNamespace = "http://www.m-bar-go.com", header = true, mode = WebParam.Mode.OUT)
  |             Holder<Header> outboundHeader,
  |             @WebParam(name = "basket", targetNamespace = "http://www.m-bar-go.com", partName = "request")
  |             Basket request) throws BadBasketFault, BadRequestFault;
  | 

But when I try to access either the inboundHeader or outboundHeader params they are both null.

Looking in the log I can see the following:


  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.MessageFactoryImpl] [user-agent=Java/1.5.0_06]
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.MessageFactoryImpl] [host=127.0.0.1:8080]
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.MessageFactoryImpl] [connection=keep-alive]
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.MessageFactoryImpl] [content-length=540]
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.soap.MessageFactoryImpl] createMessage: [contentType=text/xml; charset=utf-8]
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.MessageFactoryImpl] createMessage
  | <?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header><header xmlns="http://www.m-bar-go.com"><uid>01156986742242df80c7a68036a39aaf</uid></header></S:Header><S:Body><basket xmlns="http://www.m-bar-go.com"><scheme-name>test</scheme-name><customer-id>05000005</customer-id><store-id>501</store-id><type>sale</type><basket><item><product-id>05010103</product-id></item><item><product-id>05010202</product-id></item><item><product-id>05010301</product-id></item></basket></basket></S:Body></S:Envelope>
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.utils.DOMUtils] createElement {http://schemas.xmlsoap.org/soap/envelope/}S:Envelope
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] new SOAPElementImpl: {http://schemas.xmlsoap.org/soap/envelope/}Envelope
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] new SOAPElementImpl: {http://schemas.xmlsoap.org/soap/envelope/}Envelope
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] addNamespaceDeclaration: xmlns:S='http://schemas.xmlsoap.org/soap/envelope/'
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.utils.DOMUtils] createElement {http://schemas.xmlsoap.org/soap/envelope/}S:Header
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] new SOAPElementImpl: {http://schemas.xmlsoap.org/soap/envelope/}Header
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] addChildElement: {http://schemas.xmlsoap.org/soap/envelope/}Envelope -> {http://schemas.xmlsoap.org/soap/envelope/}Header
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.utils.DOMUtils] createElement {http://schemas.xmlsoap.org/soap/envelope/}S:Body
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] new SOAPElementImpl: {http://schemas.xmlsoap.org/soap/envelope/}Body
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] addChildElement: {http://schemas.xmlsoap.org/soap/envelope/}Envelope -> {http://schemas.xmlsoap.org/soap/envelope/}Body
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.utils.DOMUtils] createElement {http://www.m-bar-go.com}header
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] new SOAPElementImpl: {http://www.m-bar-go.com}header
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] addChildElement: {http://schemas.xmlsoap.org/soap/envelope/}Header -> {http://www.m-bar-go.com}header
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPContentElement] setAttribute: [nsURI=http://www.w3.org/2000/xmlns/,name=xmlns,value=http://www.m-bar-go.com]
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] removeContents
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.utils.DOMUtils] createElement {http://www.m-bar-go.com}basket
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] new SOAPElementImpl: {http://www.m-bar-go.com}basket
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPBodyImpl] addChildElement: {http://www.m-bar-go.com}basket
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPElementImpl] addChildElement: {http://schemas.xmlsoap.org/soap/envelope/}Body -> {http://www.m-bar-go.com}basket
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPBodyImpl] appendChild: basket
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.soap.SOAPContentElement] setAttribute: [nsURI=http://www.w3.org/2000/xmlns/,name=xmlns,value=http://www.m-bar-go.com]
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.MessageTrace] Incoming Request Message
  | <S:Envelope xmlns:S='http://schemas.xmlsoap.org/soap/envelope/'>
  |  <S:Header>
  |   <header xmlns='http://www.m-bar-go.com'>
  |    <uid>01156986742242df80c7a68036a39aaf</uid>
  |   </header>
  |  </S:Header>
  |  <S:Body>
  |   <basket xmlns='http://www.m-bar-go.com'>
  |    <scheme-name>test</scheme-name>
  |    <customer-id>05000005</customer-id>
  |    <store-id>501</store-id>
  |    <type>sale</type>
  |    <basket>
  |     <item>
  |      <product-id>05010103</product-id>
  |     </item>
  |     <item>
  |      <product-id>05010202</product-id>
  |     </item>
  |     <item>
  |      <product-id>05010301</product-id>
  |     </item>
  |    </basket>
  |   </basket>
  |  </S:Body>
  | </S:Envelope>
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.CommonMessageContext] put: APPLICATION:javax.xml.ws.binding.attachments.inbound={}
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS] callRequestHandlerChain: POST
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl] getHandlerChain: [type=POST,info=[service={http://www.m-bar-go.com}MbargoPayPointImplService,port={http://www.m-bar-go.com}MbargoPayPointSoap,binding=http://schemas.xmlsoap.org/wsdl/soap/http]]
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerChainExecutor] Create a handler executor: []
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.CommonMessageContext] get(javax.xml.ws.handler.message.outbound): APPLICATION:javax.xml.ws.handler.message.outbound=false
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.CommonMessageContext] get(javax.xml.ws.addressing.context.inbound): null
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.soap.SOAPMessageDispatcher] getDispatchDestination: {http://www.m-bar-go.com}SubmitBasket
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.binding.SOAP11BindingJAXWS] unbindRequestMessage: {http://www.m-bar-go.com}SubmitBasket
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.EndpointInvocation] setRequestParamValue: [name={http://www.m-bar-go.com}header,value=org.jboss.ws.core.soap.SOAPHeaderElementImpl]
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.EndpointInvocation] setRequestParamValue: [name={http://www.m-bar-go.com}header,value=null]
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.EndpointInvocation] setRequestParamValue: [name={http://www.m-bar-go.com}basket,value=org.jboss.ws.core.soap.SOAPBodyElementDoc]
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS] callRequestHandlerChain: ENDPOINT
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl] getHandlerChain: [type=ENDPOINT,info=[service={http://www.m-bar-go.com}MbargoPayPointImplService,port={http://www.m-bar-go.com}MbargoPayPointSoap,binding=http://schemas.xmlsoap.org/wsdl/soap/http]]
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerChainExecutor] Create a handler executor: []
  | 2007-06-01 16:43:40,864 TRACE [org.jboss.ws.core.CommonMessageContext] get(javax.xml.ws.handler.message.outbound): APPLICATION:javax.xml.ws.handler.message.outbound=false
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS] callRequestHandlerChain: PRE
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl] getHandlerChain: [type=PRE,info=[service={http://www.m-bar-go.com}MbargoPayPointImplService,port={http://www.m-bar-go.com}MbargoPayPointSoap,binding=http://schemas.xmlsoap.org/wsdl/soap/http]]
  | 2007-06-01 16:43:40,864 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerChainExecutor] Create a handler executor: []
  | 2007-06-01 16:43:40,880 TRACE [org.jboss.ws.core.CommonMessageContext] get(javax.xml.ws.handler.message.outbound): APPLICATION:javax.xml.ws.handler.message.outbound=false
  | 2007-06-01 16:43:40,880 TRACE [org.jboss.ws.core.CommonMessageContext] put: APPLICATION:org.jboss.ws.allow.expand.dom=true
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.server.ServiceEndpointInvokerJSE] invokeServiceEndpoint: submitBasket
  | 2007-06-01 16:43:40,880 TRACE [org.jboss.ws.core.CommonMessageContext] get(javax.xml.ws.servlet.request): APPLICATION:javax.xml.ws.servlet.request=org.apache.catalina.connector.RequestFacade at 14f1c67
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] getRequestPayload
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] getRequestParamValue: {http://www.m-bar-go.com}header
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] transformPayloadValue: null -> null
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] syncEndpointInputParam: null -> null(0)
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] getRequestParamValue: {http://www.m-bar-go.com}basket
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.soap.SOAPContentElement] -----------------------------------
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.soap.SOAPContentElement] Transitioning from XML_VALID to OBJECT_VALID
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.soap.XMLContent] getObjectValue [xmlType={http://www.m-bar-go.com}>basket,javaType=class com.thelightagency.mbargo.ws.lightweight.paypoint.Basket]
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.jaxws.JAXBDeserializer] deserialize: [xmlName={http://www.m-bar-go.com}basket,xmlType={http://www.m-bar-go.com}>basket]
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.jaxws.JAXBDeserializer] deserialized: com.thelightagency.mbargo.ws.lightweight.paypoint.Basket
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.soap.XMLContent] objectValue: com.thelightagency.mbargo.ws.lightweight.paypoint.Basket
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.soap.SOAPContentElement] -----------------------------------
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] transformPayloadValue: org.jboss.ws.core.soap.SOAPBodyElementDoc -> com.thelightagency.mbargo.ws.lightweight.paypoint.Basket
  | 2007-06-01 16:43:40,880 DEBUG [org.jboss.ws.core.EndpointInvocation] syncEndpointInputParam: com.thelightagency.mbargo.ws.lightweight.paypoint.Basket -> com.thelightagency.mbargo.ws.lightweight.paypoint.Basket(2)
  | 

As you can see the message on the wire has a header but for some reason it is reported as null during the unbind.

Any ideas?

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4050554#4050554

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4050554



More information about the jboss-user mailing list