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