synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Soumadeep" <>
Subject RE: get(String url) issues for getting external resources
Date Wed, 01 Mar 2006 13:38:27 GMT
Thanks Paul... I think this should suffice... +1
  -----Original Message-----
  From: Paul Fremantle []
  Sent: Wednesday, March 01, 2006 4:15 PM
  Subject: Re: get(String url) issues for getting external resources

  How about this implementation of what you are describing.

  1) Lets indirect this out of SynEnv:

  SynapseEnvironment {
      ResourceHelper getResourceHelper();

  public interface ResourceHelper {
      OMElement get(String uri); // get a resource
      OMElement get(String uri, ResourceUpdateAware mediator); // get a
resource and be notified of changes
      void registerResourceHandler(ResourceHandler rh, String urlRoot);
           // register a handler for a given set of URLs (which share the
same root)
      void notifyUpdate(String uriRoot);
           // a resource handler uses this to notify that all resources with
that root have changed (Resource Push model)

  public interface ResourceHandler {
      OMElement get(String uri);

      void setProperty(String name, String value);
      String getProperty(String name);
      String[] getPropertyNames();

      boolean isUpdated(String uriRoot); // used to poll if resource has
changed (Pull model)


  <resource type="o.a.s.resources.HttpResource" uri-root="">
     <property name="http.username">paul</property>
     <property name="http.password">pass</property>
     <property name=" http.proxy">proxy:80</property>


  On 3/1/06, Soumadeep <> wrote:
    Paul is right, instead of passing an object we could have property files
which will have the connection related data. Further, we can generalize the
way the get method is implemented, what I mean is we can have an interface
like ResourceHandler so that others can implement it as required ...
something like LDAPResourceHandler implements ResourceHandler which will
have a get method and depending on what was configured the resource will be

    We can put the property values in Synapse.xml, so you might end up
having multiple resource endpoints with property sets required for making a
connection, though we need to think about whether to provide the flexibility
in terms of mediators being able to call different ResourceHandlers for a

      -----Original Message-----
      From: Paul Fremantle []
      Sent: Tuesday, February 28, 2006 5:59 PM
      Subject: Re: get(String url) issues for getting external resources

      I think we should try to separate out the connection properties
associated with a URI and the mediators knowledge. So in other words lets
try to configure the mediator with the URI and the SynapseEnv with the
certs/uids/proxies, etc.


      On 2/28/06, Saminda Abeyruwan <> wrote:
        Hi Devs,

        I have written a document on "how to configure mediators get
resources via SSL connection".  This will address how to acquire resources
from Axis2 repository which is deployed on Tomcat.

        Thank you


        On 2/28/06, Saminda Abeyruwan <> wrote:
          On 2/27/06, Soumadeep <> wrote:
            Hi all,

            To fetch external resources using Axis2SynapseEnvironment's
get(String url)
            wouldn't suffice I think. For secured resources we might have to
send the 1)
            username/password http token or 2)WS Sec token or maybe 3)
certificates or
            4) we might also have to deal with enc/decryption.

          +1.  The  underline  transport mechanism for
SynapesEnvironment.get(String) uses HttpClient from commons-httpclient and
it provides full support for HTTP over SSL [1]. Thus, with minimum effort we
can integrate it here. But to introduce authentication details we may need
to insert  a bean into SynapseEnvironment.get(String) and we may have to
change the signature as SynapseEnvironment.get(String url, Object
authentication). This will allow to get authentication details from run

            More importantly, there might be a situation where the resource
could be
            located in LDAP,Database or a file System.

          Yes.  We need to figure this out. IMHO this is can be considered
as multiple issues.

            How do we handle situations where a parameter could be required
by the
            resource server apart from what I have mentioned above? (HTTP
GET maybe the
            only way out) but then there should be a way to configure what
type of
            resource server it is and what details are required.

          REST like invocation is the most simple yet the powerful way of
getting resources out a  repository.  So the  current implementation of
SynapseEnviroment.get(String) would defiantly do that. We can integrate a
very powerful lookup for this resources, if we uses Axis2's ServiceClient
(Once Axis2-0.95 releases) REST invocation mechanism. But to  integrate
this, we need to populate a Object and fill the right information.

          IMHO, i guess commons-httpclient addresses most of  the problems
with regular and ssl connection.

          Thank you


          Resources: [1].

            To unsubscribe, e-mail:
            For additional commands, e-mail:

        To unsubscribe, e-mail:
        For additional commands, e-mail:

      Paul Fremantle
      VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

      "Oxygenating the Web Service Platform",

  Paul Fremantle
  VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

  "Oxygenating the Web Service Platform",

View raw message