[jboss-dev-forums] [Design of JBoss ESB] - Re: SOAPProxy Enhancements

dward do-not-reply at jboss.com
Thu Jul 23 13:44:20 EDT 2009


"ammppp" wrote : One other request related to this area - and I think HttpRouter already supports it (so SoapProxy probably does as well), though I don't think it is documented.
  | ...
  | In this case, it would be nice if the SoapProxy could send a message and store back a response in some ESB location other than the default message body because the default message body is storing the main ESB service message that is going to be augmented.
  | ...

This is current functionality.  SOAPProxy uses SOAPProxyTransports per endpoint, the HttpSOAPProxyTransport wraps HttpRouter (setting sensible defaults - minus Authorization ;) ), and HttpRouter uses MessagePayloadProxy to store the payload in the Message.

If you look at MessagePayloadProxy.java, you'll see:
    public MessagePayloadProxy(ConfigTree config) {
  |         AssertArgument.isNotNull(config, "config");
  |         setDataLocations(new String[] {config.getAttribute(GET_PAYLOAD_LOCATION, Body.DEFAULT_LOCATION)},
  |                          new String[] {config.getAttribute(SET_PAYLOAD_LOCATION, Body.DEFAULT_LOCATION)});
  |     }

those constants are:
GET_PAYLOAD_LOCATION = "get-payload-location"
  | SET_PAYLOAD_LOCATION = "set-payload-location"
  | Body.DEFAULT_LOCATION = "org.jboss.soa.esb.message.defaultEntry"

So, all you should have to do is specify:
<action name="..." class="...SOAPProxy">
  |     <property name="get-payload-location" value="..."/>
  |     <property name="set-payload-location" value="..."/>
  | </action>

Make sense?  Some of the actions document these, some don't.  I thought this was somewhere more global in the documentation also, though...

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

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



More information about the jboss-dev-forums mailing list