You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by "Rich Scheuerle (JIRA)" <ji...@apache.org> on 2010/09/09 17:39:33 UTC

[jira] Created: (AXIS2-4815) JAX-WS: There is no way to efficiently access the message as a String within a handler

JAX-WS: There is no way to efficiently access the message as a String within a handler
--------------------------------------------------------------------------------------

                 Key: AXIS2-4815
                 URL: https://issues.apache.org/jira/browse/AXIS2-4815
             Project: Axis2
          Issue Type: Improvement
          Components: jaxws
            Reporter: Rich Scheuerle
            Assignee: Rich Scheuerle


Summary:
Customers use a JAX-WS application handler to query or modify the incoming or outgoing message.   Here is  one common use cases: 
   1) A handler is used to log the incoming or outgoing 
message.

Customers migrating an application from JAX-RPC will often use a JAX-WS SOAPHandler (jaxws.xml.ws.handler.soap.SOAPHandler) because it supports the same SAAJ data model as JAX-RPC.

The SAAJ data model is the only SOAP-aware data model supported by the JAX-WS specification.  However there are some drawbacks to the SAAJ model:

   A) Accessing the message as an SAAJ SOAPMessage causes the entire XML message to be rendered as an SAAJ SOAPElement graph.  This transformation increases the memory footprint and processing time.

   B) After the handlers have completed, the message must be transformed back into the data rendering required for the target method.  For example, the SAAJ SOAPElement graph is 
converted into a JAXB bean.  This transformation also increases the memory footprint and processing time.

Solution:

A new property will be added to the JAX-WS runtime which can be queried by a customer's hander to access the message as a String.

The property is associated with the 
javax.xml.ws.handler.MessageContext object.
   Property Name: "jaxws.message.accessor"
   Property Value: null or Object

The customer can call the toString() method on the returned object to access the message as a String.

Here is an example usage:

 public myHandler implements SOAPHandler {
 ... 
  public boolean handleMessage(MessageContext mc) {
    Object accessor = mc.getProperty(jaxws.message.accessor");
    if (accessor != null) {
      msgText = accessor.toString();
      myLogger(msgText);
    }
    ..
  }
 }


-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Resolved: (AXIS2-4815) JAX-WS: There is no way to efficiently access the message as a String within a handler

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rich Scheuerle resolved AXIS2-4815.
-----------------------------------

    Resolution: Fixed

> JAX-WS: There is no way to efficiently access the message as a String within a handler
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4815
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4815
>             Project: Axis2
>          Issue Type: Improvement
>          Components: jaxws
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Summary:
> Customers use a JAX-WS application handler to query or modify the incoming or outgoing message.   Here is  one common use cases: 
>    1) A handler is used to log the incoming or outgoing 
> message.
> Customers migrating an application from JAX-RPC will often use a JAX-WS SOAPHandler (jaxws.xml.ws.handler.soap.SOAPHandler) because it supports the same SAAJ data model as JAX-RPC.
> The SAAJ data model is the only SOAP-aware data model supported by the JAX-WS specification.  However there are some drawbacks to the SAAJ model:
>    A) Accessing the message as an SAAJ SOAPMessage causes the entire XML message to be rendered as an SAAJ SOAPElement graph.  This transformation increases the memory footprint and processing time.
>    B) After the handlers have completed, the message must be transformed back into the data rendering required for the target method.  For example, the SAAJ SOAPElement graph is 
> converted into a JAXB bean.  This transformation also increases the memory footprint and processing time.
> Solution:
> A new property will be added to the JAX-WS runtime which can be queried by a customer's hander to access the message as a String.
> The property is associated with the 
> javax.xml.ws.handler.MessageContext object.
>    Property Name: "jaxws.message.accessor"
>    Property Value: null or Object
> The customer can call the toString() method on the returned object to access the message as a String.
> Here is an example usage:
>  public myHandler implements SOAPHandler {
>  ... 
>   public boolean handleMessage(MessageContext mc) {
>     Object accessor = mc.getProperty(jaxws.message.accessor");
>     if (accessor != null) {
>       msgText = accessor.toString();
>       myLogger(msgText);
>     }
>     ..
>   }
>  }

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Resolved: (AXIS2-4815) JAX-WS: There is no way to efficiently access the message as a String within a handler

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rich Scheuerle resolved AXIS2-4815.
-----------------------------------

    Resolution: Fixed

> JAX-WS: There is no way to efficiently access the message as a String within a handler
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4815
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4815
>             Project: Axis2
>          Issue Type: Improvement
>          Components: jaxws
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Summary:
> Customers use a JAX-WS application handler to query or modify the incoming or outgoing message.   Here is  one common use cases: 
>    1) A handler is used to log the incoming or outgoing 
> message.
> Customers migrating an application from JAX-RPC will often use a JAX-WS SOAPHandler (jaxws.xml.ws.handler.soap.SOAPHandler) because it supports the same SAAJ data model as JAX-RPC.
> The SAAJ data model is the only SOAP-aware data model supported by the JAX-WS specification.  However there are some drawbacks to the SAAJ model:
>    A) Accessing the message as an SAAJ SOAPMessage causes the entire XML message to be rendered as an SAAJ SOAPElement graph.  This transformation increases the memory footprint and processing time.
>    B) After the handlers have completed, the message must be transformed back into the data rendering required for the target method.  For example, the SAAJ SOAPElement graph is 
> converted into a JAXB bean.  This transformation also increases the memory footprint and processing time.
> Solution:
> A new property will be added to the JAX-WS runtime which can be queried by a customer's hander to access the message as a String.
> The property is associated with the 
> javax.xml.ws.handler.MessageContext object.
>    Property Name: "jaxws.message.accessor"
>    Property Value: null or Object
> The customer can call the toString() method on the returned object to access the message as a String.
> Here is an example usage:
>  public myHandler implements SOAPHandler {
>  ... 
>   public boolean handleMessage(MessageContext mc) {
>     Object accessor = mc.getProperty(jaxws.message.accessor");
>     if (accessor != null) {
>       msgText = accessor.toString();
>       myLogger(msgText);
>     }
>     ..
>   }
>  }

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Resolved: (AXIS2-4815) JAX-WS: There is no way to efficiently access the message as a String within a handler

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rich Scheuerle resolved AXIS2-4815.
-----------------------------------

    Resolution: Fixed

> JAX-WS: There is no way to efficiently access the message as a String within a handler
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4815
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4815
>             Project: Axis2
>          Issue Type: Improvement
>          Components: jaxws
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Summary:
> Customers use a JAX-WS application handler to query or modify the incoming or outgoing message.   Here is  one common use cases: 
>    1) A handler is used to log the incoming or outgoing 
> message.
> Customers migrating an application from JAX-RPC will often use a JAX-WS SOAPHandler (jaxws.xml.ws.handler.soap.SOAPHandler) because it supports the same SAAJ data model as JAX-RPC.
> The SAAJ data model is the only SOAP-aware data model supported by the JAX-WS specification.  However there are some drawbacks to the SAAJ model:
>    A) Accessing the message as an SAAJ SOAPMessage causes the entire XML message to be rendered as an SAAJ SOAPElement graph.  This transformation increases the memory footprint and processing time.
>    B) After the handlers have completed, the message must be transformed back into the data rendering required for the target method.  For example, the SAAJ SOAPElement graph is 
> converted into a JAXB bean.  This transformation also increases the memory footprint and processing time.
> Solution:
> A new property will be added to the JAX-WS runtime which can be queried by a customer's hander to access the message as a String.
> The property is associated with the 
> javax.xml.ws.handler.MessageContext object.
>    Property Name: "jaxws.message.accessor"
>    Property Value: null or Object
> The customer can call the toString() method on the returned object to access the message as a String.
> Here is an example usage:
>  public myHandler implements SOAPHandler {
>  ... 
>   public boolean handleMessage(MessageContext mc) {
>     Object accessor = mc.getProperty(jaxws.message.accessor");
>     if (accessor != null) {
>       msgText = accessor.toString();
>       myLogger(msgText);
>     }
>     ..
>   }
>  }

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Resolved: (AXIS2-4815) JAX-WS: There is no way to efficiently access the message as a String within a handler

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rich Scheuerle resolved AXIS2-4815.
-----------------------------------

    Resolution: Fixed

> JAX-WS: There is no way to efficiently access the message as a String within a handler
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4815
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4815
>             Project: Axis2
>          Issue Type: Improvement
>          Components: jaxws
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Summary:
> Customers use a JAX-WS application handler to query or modify the incoming or outgoing message.   Here is  one common use cases: 
>    1) A handler is used to log the incoming or outgoing 
> message.
> Customers migrating an application from JAX-RPC will often use a JAX-WS SOAPHandler (jaxws.xml.ws.handler.soap.SOAPHandler) because it supports the same SAAJ data model as JAX-RPC.
> The SAAJ data model is the only SOAP-aware data model supported by the JAX-WS specification.  However there are some drawbacks to the SAAJ model:
>    A) Accessing the message as an SAAJ SOAPMessage causes the entire XML message to be rendered as an SAAJ SOAPElement graph.  This transformation increases the memory footprint and processing time.
>    B) After the handlers have completed, the message must be transformed back into the data rendering required for the target method.  For example, the SAAJ SOAPElement graph is 
> converted into a JAXB bean.  This transformation also increases the memory footprint and processing time.
> Solution:
> A new property will be added to the JAX-WS runtime which can be queried by a customer's hander to access the message as a String.
> The property is associated with the 
> javax.xml.ws.handler.MessageContext object.
>    Property Name: "jaxws.message.accessor"
>    Property Value: null or Object
> The customer can call the toString() method on the returned object to access the message as a String.
> Here is an example usage:
>  public myHandler implements SOAPHandler {
>  ... 
>   public boolean handleMessage(MessageContext mc) {
>     Object accessor = mc.getProperty(jaxws.message.accessor");
>     if (accessor != null) {
>       msgText = accessor.toString();
>       myLogger(msgText);
>     }
>     ..
>   }
>  }

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Resolved: (AXIS2-4815) JAX-WS: There is no way to efficiently access the message as a String within a handler

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rich Scheuerle resolved AXIS2-4815.
-----------------------------------

    Resolution: Fixed

> JAX-WS: There is no way to efficiently access the message as a String within a handler
> --------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4815
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4815
>             Project: Axis2
>          Issue Type: Improvement
>          Components: jaxws
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Summary:
> Customers use a JAX-WS application handler to query or modify the incoming or outgoing message.   Here is  one common use cases: 
>    1) A handler is used to log the incoming or outgoing 
> message.
> Customers migrating an application from JAX-RPC will often use a JAX-WS SOAPHandler (jaxws.xml.ws.handler.soap.SOAPHandler) because it supports the same SAAJ data model as JAX-RPC.
> The SAAJ data model is the only SOAP-aware data model supported by the JAX-WS specification.  However there are some drawbacks to the SAAJ model:
>    A) Accessing the message as an SAAJ SOAPMessage causes the entire XML message to be rendered as an SAAJ SOAPElement graph.  This transformation increases the memory footprint and processing time.
>    B) After the handlers have completed, the message must be transformed back into the data rendering required for the target method.  For example, the SAAJ SOAPElement graph is 
> converted into a JAXB bean.  This transformation also increases the memory footprint and processing time.
> Solution:
> A new property will be added to the JAX-WS runtime which can be queried by a customer's hander to access the message as a String.
> The property is associated with the 
> javax.xml.ws.handler.MessageContext object.
>    Property Name: "jaxws.message.accessor"
>    Property Value: null or Object
> The customer can call the toString() method on the returned object to access the message as a String.
> Here is an example usage:
>  public myHandler implements SOAPHandler {
>  ... 
>   public boolean handleMessage(MessageContext mc) {
>     Object accessor = mc.getProperty(jaxws.message.accessor");
>     if (accessor != null) {
>       msgText = accessor.toString();
>       myLogger(msgText);
>     }
>     ..
>   }
>  }

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org