[jira] Updated: (TUSCANY-1629) Tuscany does not support using classes in the @Service annotation
[ https://issues.apache.org/jira/browse/TUSCANY-1629?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jean-Sebastien Delfino updated TUSCANY-1629: Priority: Minor (was: Major) Changing the priority of these issues which do not seem to be major issues. > Tuscany does not support using classes in the @Service annotation > - > > Key: TUSCANY-1629 > URL: https://issues.apache.org/jira/browse/TUSCANY-1629 > Project: Tuscany > Issue Type: Bug > Components: Java SCA Java Implementation Extension >Affects Versions: Java-SCA-0.91 > Environment: Linux > Was using Tuscany SVN revision 570353 >Reporter: Mark Combellack >Assignee: Luciano Resende >Priority: Minor > Fix For: Java-SCA-1.0 > > Attachments: ServiceAnnotationUsingClass.patch, > ServiceAnnotationUsingClassTestCaseUpdate.patch > > > The current implementation of Tuscany does not support using a class in the > @Service annotation. > For example, if I have: > @Service(MyService.class) > public class MyService { > public String op1(){ > return "op1 invoked"; > } > } > The above example is valid from my understanding of the Java Common > Annotations and APIs specification because it says: > 1628 The @Service annotation has the following attributes: > 1629 • interfaces - The value is an array of interface or class objects that > should be exposed as services > 1630 by this component. > 1631 • value - A shortcut for the case when the class provides only a single > service interface. > The key phrase is in line 1629 "or class objects" > Tuscany throws the following exception: > org.osoa.sca.ServiceRuntimeException: org.osoa.sca.ServiceRuntimeException: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:264) > at > org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:69) > > Caused by: org.osoa.sca.ServiceRuntimeException: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.(DefaultSCADomain.java:119) > at > org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:230) > ... 16 more > Caused by: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:118) > at > org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:49) > at > org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.java:211) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:102) > at > org.apache.tuscany.sca.assembly.xml.BaseArtifactProcessor.resolveImplementation(BaseArtifactProcessor.java:411) > at > org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:673) > at > org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:68) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:102) > at > org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:86) > at > org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:43) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor.resolve(ExtensibleURLArtifactProcessor.java:83) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processResolvePhase(ContributionServiceImpl.java:392) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution(ContributionServiceImpl.java:319) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute(ContributionServiceImpl.java:160) > at > org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.(DefaultSCADomain.java:117) > ... 17 more > Caused by: > org.apache.tusca
[jira] Updated: (TUSCANY-1629) Tuscany does not support using classes in the @Service annotation
[ https://issues.apache.org/jira/browse/TUSCANY-1629?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mark Combellack updated TUSCANY-1629: - Attachment: ServiceAnnotationUsingClassTestCaseUpdate.patch Attached a patch for the unit tests since it assumes that a @Service with a class rather than an interface is invalid. Updated the test to test that it is valid. > Tuscany does not support using classes in the @Service annotation > - > > Key: TUSCANY-1629 > URL: https://issues.apache.org/jira/browse/TUSCANY-1629 > Project: Tuscany > Issue Type: Bug > Components: Java SCA Java Implementation Extension >Affects Versions: Java-SCA-0.91 > Environment: Linux > Was using Tuscany SVN revision 570353 >Reporter: Mark Combellack > Fix For: Java-SCA-1.0 > > Attachments: ServiceAnnotationUsingClass.patch, > ServiceAnnotationUsingClassTestCaseUpdate.patch > > > The current implementation of Tuscany does not support using a class in the > @Service annotation. > For example, if I have: > @Service(MyService.class) > public class MyService { > public String op1(){ > return "op1 invoked"; > } > } > The above example is valid from my understanding of the Java Common > Annotations and APIs specification because it says: > 1628 The @Service annotation has the following attributes: > 1629 • interfaces - The value is an array of interface or class objects that > should be exposed as services > 1630 by this component. > 1631 • value - A shortcut for the case when the class provides only a single > service interface. > The key phrase is in line 1629 "or class objects" > Tuscany throws the following exception: > org.osoa.sca.ServiceRuntimeException: org.osoa.sca.ServiceRuntimeException: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:264) > at > org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:69) > > Caused by: org.osoa.sca.ServiceRuntimeException: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.(DefaultSCADomain.java:119) > at > org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:230) > ... 16 more > Caused by: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:118) > at > org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:49) > at > org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.java:211) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:102) > at > org.apache.tuscany.sca.assembly.xml.BaseArtifactProcessor.resolveImplementation(BaseArtifactProcessor.java:411) > at > org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:673) > at > org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:68) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:102) > at > org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:86) > at > org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:43) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor.resolve(ExtensibleURLArtifactProcessor.java:83) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processResolvePhase(ContributionServiceImpl.java:392) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution(ContributionServiceImpl.java:319) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute(ContributionServiceImpl.java:160) > at > org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.(DefaultSCADomain.java:117) > ... 17 m
[jira] Updated: (TUSCANY-1629) Tuscany does not support using classes in the @Service annotation
[ https://issues.apache.org/jira/browse/TUSCANY-1629?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ant elder updated TUSCANY-1629: --- Fix Version/s: (was: Java-SCA-0.91) Java-SCA-1.0 > Tuscany does not support using classes in the @Service annotation > - > > Key: TUSCANY-1629 > URL: https://issues.apache.org/jira/browse/TUSCANY-1629 > Project: Tuscany > Issue Type: Bug > Components: Java SCA Java Implementation Extension >Affects Versions: Java-SCA-0.91 > Environment: Linux > Was using Tuscany SVN revision 570353 >Reporter: Mark Combellack > Fix For: Java-SCA-1.0 > > Attachments: ServiceAnnotationUsingClass.patch > > > The current implementation of Tuscany does not support using a class in the > @Service annotation. > For example, if I have: > @Service(MyService.class) > public class MyService { > public String op1(){ > return "op1 invoked"; > } > } > The above example is valid from my understanding of the Java Common > Annotations and APIs specification because it says: > 1628 The @Service annotation has the following attributes: > 1629 • interfaces - The value is an array of interface or class objects that > should be exposed as services > 1630 by this component. > 1631 • value - A shortcut for the case when the class provides only a single > service interface. > The key phrase is in line 1629 "or class objects" > Tuscany throws the following exception: > org.osoa.sca.ServiceRuntimeException: org.osoa.sca.ServiceRuntimeException: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:264) > at > org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:69) > > Caused by: org.osoa.sca.ServiceRuntimeException: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.(DefaultSCADomain.java:119) > at > org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:230) > ... 16 more > Caused by: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:118) > at > org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:49) > at > org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.java:211) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:102) > at > org.apache.tuscany.sca.assembly.xml.BaseArtifactProcessor.resolveImplementation(BaseArtifactProcessor.java:411) > at > org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:673) > at > org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:68) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:102) > at > org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:86) > at > org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:43) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor.resolve(ExtensibleURLArtifactProcessor.java:83) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processResolvePhase(ContributionServiceImpl.java:392) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution(ContributionServiceImpl.java:319) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute(ContributionServiceImpl.java:160) > at > org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.(DefaultSCADomain.java:117) > ... 17 more > Caused by: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.implementation.java.introspect.impl.ServiceProces
[jira] Updated: (TUSCANY-1629) Tuscany does not support using classes in the @Service annotation
[ https://issues.apache.org/jira/browse/TUSCANY-1629?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mark Combellack updated TUSCANY-1629: - Patch Info: [Patch Available] Marking as "patch available" > Tuscany does not support using classes in the @Service annotation > - > > Key: TUSCANY-1629 > URL: https://issues.apache.org/jira/browse/TUSCANY-1629 > Project: Tuscany > Issue Type: Bug > Components: Java SCA Java Implementation Extension >Affects Versions: Java-SCA-0.91 > Environment: Linux > Was using Tuscany SVN revision 570353 >Reporter: Mark Combellack > Fix For: Java-SCA-0.91 > > Attachments: ServiceAnnotationUsingClass.patch > > > The current implementation of Tuscany does not support using a class in the > @Service annotation. > For example, if I have: > @Service(MyService.class) > public class MyService { > public String op1(){ > return "op1 invoked"; > } > } > The above example is valid from my understanding of the Java Common > Annotations and APIs specification because it says: > 1628 The @Service annotation has the following attributes: > 1629 • interfaces - The value is an array of interface or class objects that > should be exposed as services > 1630 by this component. > 1631 • value - A shortcut for the case when the class provides only a single > service interface. > The key phrase is in line 1629 "or class objects" > Tuscany throws the following exception: > org.osoa.sca.ServiceRuntimeException: org.osoa.sca.ServiceRuntimeException: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:264) > at > org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:69) > > Caused by: org.osoa.sca.ServiceRuntimeException: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.(DefaultSCADomain.java:119) > at > org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:230) > ... 16 more > Caused by: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:118) > at > org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:49) > at > org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.java:211) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:102) > at > org.apache.tuscany.sca.assembly.xml.BaseArtifactProcessor.resolveImplementation(BaseArtifactProcessor.java:411) > at > org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:673) > at > org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:68) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:102) > at > org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:86) > at > org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:43) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor.resolve(ExtensibleURLArtifactProcessor.java:83) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processResolvePhase(ContributionServiceImpl.java:392) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution(ContributionServiceImpl.java:319) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute(ContributionServiceImpl.java:160) > at > org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.(DefaultSCADomain.java:117) > ... 17 more > Caused by: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.implementation.java.introspect.impl.ServiceProce
[jira] Updated: (TUSCANY-1629) Tuscany does not support using classes in the @Service annotation
[ https://issues.apache.org/jira/browse/TUSCANY-1629?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mark Combellack updated TUSCANY-1629: - Attachment: ServiceAnnotationUsingClass.patch The attached patch removes the check for the class listed in the @Service annotation being an interface. > Tuscany does not support using classes in the @Service annotation > - > > Key: TUSCANY-1629 > URL: https://issues.apache.org/jira/browse/TUSCANY-1629 > Project: Tuscany > Issue Type: Bug > Components: Java SCA Java Implementation Extension >Affects Versions: Java-SCA-0.91 > Environment: Linux > Was using Tuscany SVN revision 570353 >Reporter: Mark Combellack > Fix For: Java-SCA-0.91 > > Attachments: ServiceAnnotationUsingClass.patch > > > The current implementation of Tuscany does not support using a class in the > @Service annotation. > For example, if I have: > @Service(MyService.class) > public class MyService { > public String op1(){ > return "op1 invoked"; > } > } > The above example is valid from my understanding of the Java Common > Annotations and APIs specification because it says: > 1628 The @Service annotation has the following attributes: > 1629 • interfaces - The value is an array of interface or class objects that > should be exposed as services > 1630 by this component. > 1631 • value - A shortcut for the case when the class provides only a single > service interface. > The key phrase is in line 1629 "or class objects" > Tuscany throws the following exception: > org.osoa.sca.ServiceRuntimeException: org.osoa.sca.ServiceRuntimeException: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:264) > at > org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:69) > > Caused by: org.osoa.sca.ServiceRuntimeException: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.(DefaultSCADomain.java:119) > at > org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:230) > ... 16 more > Caused by: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an interface > at > org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:118) > at > org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:49) > at > org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.java:211) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:102) > at > org.apache.tuscany.sca.assembly.xml.BaseArtifactProcessor.resolveImplementation(BaseArtifactProcessor.java:411) > at > org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:673) > at > org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:68) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:102) > at > org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:86) > at > org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:43) > at > org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor.resolve(ExtensibleURLArtifactProcessor.java:83) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processResolvePhase(ContributionServiceImpl.java:392) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution(ContributionServiceImpl.java:319) > at > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute(ContributionServiceImpl.java:160) > at > org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.(DefaultSCADomain.java:117) > ... 17 more > Caused by: > org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: > Service must be an in