12 Replies Latest reply on Jul 28, 2011 3:57 PM by David Ward

    Namespaces in SwitchYard

    Magesh Bojan Master

      Currently the merged configuration generator (ConfigMojo) does not seem to set the actual targetNamespace declared in the provided configuration. Say for e.g.,

      <switchyard xmlns="urn:switchyard-config:switchyard:1.0"


      gets generated as

      <switchyard xmlns="urn:switchyard-config:switchyard:1.0">
          <composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="orders">
              <component name="OrderService">
                  <service name="OrderService">


      Notice all the names are not type qualified ie., they are not generated with a namespace or the targetNamespace is not included in switchyard Element.


      Thinking along these lines further, say if I do not have any configuration, just the @Service annotated beans,

      1. Which namespace would these be generated? Java Package based?
      2. If I want my OrderService in a different namespace, than my InventoryService, how would I achieve that?


      Some more thoughts:


      Say we provide an expansion in our annotation like this:

      @Service(value=OrderService.class, namespace="urn:something")
      public class OrderServiceBean implements OrderService


      How will we get the namespace for @Reference, because that annotation will have an interface. Should we annotate the interface too?


      public interface InventoryService



      How will the other service implementations (like Camel for e.g.,) be confined to a namespace?