You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Rich Scheuerle (JIRA)" <ji...@apache.org> on 2008/04/05 20:07:25 UTC

[jira] Resolved: (AXIS2-3708) JAXWS: Support Binding Property to Access SOAPHeaders

     [ https://issues.apache.org/jira/browse/AXIS2-3708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rich Scheuerle resolved AXIS2-3708.
-----------------------------------

    Resolution: Fixed

Resolved:645154

The code is limited to JAXWS with one small exception.

I found and corrected a small problem with the SAAJ SOAPElement.toString() method.  
It was using the default Object.toString().  I changed this to delegate to the encapsulated DOOM Element.toString().

Thanks,
Rich

> JAXWS: Support Binding Property to Access SOAPHeaders 
> ------------------------------------------------------
>
>                 Key: AXIS2-3708
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3708
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: jaxws
>    Affects Versions: 1.4
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>
> Background:
> ------------------
> The JAX-WS specification defines properties to set/get attachments on the dispatch/proxy.  For example:
>         // Create Dispatch for the payload
>         Dispatch<String> dispatch = 
>                 svc.createDispatch(portName, String.class, Service.Mode.PAYLOAD);
>         // Get the request context
>         Map<String, Object> requestContext = dispatch.getRequestContext();
>         // Get the attachments (non-payload) that should also be sent.
>         Map<String, DataHandler> attachmentMap = new HashMap();
>         attachmentMap.put("javax.xml.ws.binding.attachments.outbound", myDataHandler);
>         // Attach the attachments to the request context
>         dispatch.getRequestContext().put("javax.xml.ws.binding.attachments.outbound", attachmentMap);
> The "javax.xml.ws.binding.attachments.*" properties make it convenient to get/receive attachments.
> Proposal:
> ----------
> The proposal is to add the same kind of functionality to get/set SOAP Headers.  
> For example:
>         // Create Dispatch for the payload
>         Dispatch<String> dispatch = 
>                 svc.createDispatch(portName, String.class, Service.Mode.PAYLOAD);
>         // Get the request context
>         Map<String, Object> requestContext = dispatch.getRequestContext();
>         // Create a new outbound header
>         Map<QName, List<String>> headerMap = new HashMap();
>         List<String> myHeadersList = new ArrayList<String>();
>         myHeadersList.add("<pre:sample xmlns:pre="http://sample">hello</pre:sample>";
>         QName myHeaderQName = new QName("http://sample", "sample", "pre");
>         headersMap.put(myHeaderQName, myHeadersList );
>         // Attach the headers map to the request context
>         dispatch.getRequestContext().put("jaxws.binding.soap.headers.outbound", headerMap);
> Details:
> --------
> Proposed names:
>   "jaxws.binding.soap.headers.outbound" and "jaxws.binding.soap.headers.inbound".  
> This is similar naming convention as the existing attachment properties
> Proposed value:
>    Map<QName, List<String>>
>      QName is the qname of the header(s)
>      List<String> is a list of xml values (normally one) 
>         String is the xml string for a single header.  
>           (The object is a String.  Most JAXWS users will not be familiar with OM and may not want to build a SAAJ SOAPHeader).
> Semantics for "jaxws.binding.soap.headers.outbound":
>   Prior to the dispatch/proxy invocation:
>        The customer sets the outbound map on the RequestContext.
>   During the dispatch/proxy invocation:
>        The outbound jaxws engine adds the headers to the message.
> Semantics for "jaxws.binding.soap.headers.inbound"
>   During the dispatch/proxy invocation:
>        The engine will provide a map<QName, List<String>> on the ResponseContext.
>   After the dispatch/proxy invocation:
>        The customer accesses the inbound headers map from the ResponseContext.
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org