<!-- for the client library, we want to allow 1.6 or later -->
                <maven.compiler.target>1.7</maven.compiler.target>
                <maven.compiler.source>1.7</maven.compiler.source>
-               <jersey.version>2.26</jersey.version>
+               <jersey.version>2.22.1</jersey.version>
                <version.jackson.core>2.6.7.1</version.jackson.core>
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
 
                        sub.setUsername(props.getProperty("username"));
                        sub.setPassword(props.getProperty("password"));
                }
-               sub.setRouterFilePath(props.getProperty("DME2preferredRouterFilePath"));
+               
                sub.setProps(props);
                sub.setHost(props.getProperty("host"));
                sub.setProtocolFlag(props.getProperty("TransportType"));
                sub.setfFilter(props.getProperty("filter"));
+               if (props.getProperty("TransportType").equalsIgnoreCase(ProtocolTypeConstants.DME2.getValue())) {
+               sub.setRouterFilePath(props.getProperty("DME2preferredRouterFilePath"));
                routeFilePath = props.getProperty("DME2preferredRouterFilePath");
                routeReader = new FileReader(new File(routeFilePath));
                prop = new Properties();
                if (!fo.exists()) {
                        routeWriter = new FileWriter(new File(routeFilePath));
                }
+               }
+               
                return sub;
        }
 }
 
                if (id == null || id.isEmpty()) {
                        throw new IllegalArgumentException ( "Consumer (Id)  is needed" );
                }
-               String sessionstickinessrequired  = props.getProperty("sessionstickinessrequired");
-               if (sessionstickinessrequired == null || sessionstickinessrequired.isEmpty()) {
-                       throw new IllegalArgumentException ( "sessionstickinessrequired  is needed" );
-               }
        }
        
        private  static void validateForDME2(Properties props) {
                if (subContextPath == null || subContextPath.isEmpty()) {
                        throw new IllegalArgumentException ( "SubContextPath is needed" );
                }
+               String sessionstickinessrequired  = props.getProperty("sessionstickinessrequired");
+               if (sessionstickinessrequired == null || sessionstickinessrequired.isEmpty()) {
+                       throw new IllegalArgumentException ( "sessionstickinessrequired  is needed" );
+               }
        }
        
        private  static void validateForNonDME2(Properties props) {
                if (topic == null || topic.isEmpty()) {
                        throw new IllegalArgumentException ( "topic is needed" );
                }
-               String methodType  = props.getProperty("MethodType");
-               if (methodType == null || methodType.isEmpty()) {
-                       throw new IllegalArgumentException ( "MethodType is needed" );
-               }
                String contenttype  = props.getProperty("contenttype");
                if (contenttype == null || contenttype.isEmpty()) {
                        throw new IllegalArgumentException ( "contenttype is needed" );
                }
+               if (!ProtocolTypeConstants.HTTPNOAUTH.getValue().equalsIgnoreCase(transportType)){
                String username  = props.getProperty("username");
                if (username == null || username.isEmpty()) {
                        throw new IllegalArgumentException ( "username is needed" );
                if (password == null || password.isEmpty()) {
                        throw new IllegalArgumentException ( "password is needed" );
                }
+               }
                if (ProtocolTypeConstants.AUTH_KEY.getValue().equalsIgnoreCase(transportType)) {
                        String authKey  = props.getProperty("authKey");
                        if (authKey == null || authKey.isEmpty()) {