Hello, After adding the @Webmethod, I received the error below. Also, how do you specify the defaultMep attribute on the HTTP consumer endpoint? Thanks.
[ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Failed to generate jbi.xml Embedded error: Unable to generate service unit descriptor! <component-task-result xmlns="http://java.sun.com/xml/ns/jbi/management-message" > <component-name>null</component-name> <component-task-result-details> <task-result-details> <task-id>deploy</task-id> <task-result>FAILED</task-result> <message-type>ERROR</message-type> <task-status-msg><msg-loc-info><loc-token/><loc-message> org.codehaus.xfire.annotations.AnnotationException: @WebMethod attributes are on ly allowed on the endpointInterface! Offending class: org.apache.servicemix.samp les.wsdl_second.PersonImpl</loc-message></msg-loc-info></task-status-msg> <exception-info> <nesting-level>1</nesting-level> <msg-loc-info> <loc-token /> <loc-message>@WebMethod attributes are o nly allowed on the endpointInterface! Offending class: org.apache.servicemix.sam ples.wsdl_second.PersonImpl</loc-message> <stack-trace><![CDATA[org.codehaus.xfire .annotations.AnnotationException: @WebMethod attributes are only allowed on the endpointInterface! Offending class: org.apache.servicemix.samples.wsdl_second.Pe rsonImpl at org.codehaus.xfire.annotations.AnnotationServiceFactory.assertValidIm plementationClass(AnnotationServiceFactory.java:338) at org.codehaus.xfire.annotations.AnnotationServiceFactory.create(Annota tionServiceFactory.java:175) at org.apache.servicemix.jsr181.Jsr181Endpoint.registerService(Jsr181End point.java:301) at org.apache.servicemix.jsr181.Jsr181Endpoint.validate(Jsr181Endpoint.j ava:216) at org.apache.servicemix.common.DefaultComponent.addEndpoint(DefaultComp onent.java:300) at org.apache.servicemix.common.DefaultComponent.doInit(DefaultComponent .java:287) at org.apache.servicemix.jsr181.Jsr181Component.doInit(Jsr181Component.j ava:81) at org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCyc le.java:142) at org.apache.servicemix.jsr181.packaging.Jsr181ServiceUnitAnalyzer.getP rovides(Jsr181ServiceUnitAnalyzer.java:57) at org.apache.servicemix.common.xbean.AbstractXBeanServiceUnitAnalyzer.i nit(AbstractXBeanServiceUnitAnalyzer.java:96) at org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM ojo.generateJbiDescriptor(GenerateServiceUnitDescriptorMojo.java:166) at org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorM ojo.execute(GenerateServiceUnitDescriptorMojo.java:129) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi nManager.java:443) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa ultLifecycleExecutor.java:539) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi fecycle(DefaultLifecycleExecutor.java:480) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau ltLifecycleExecutor.java:459) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan dleFailures(DefaultLifecycleExecutor.java:311) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen ts(DefaultLifecycleExecutor.java:278) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi fecycleExecutor.java:143) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125) at org.apache.maven.cli.MavenCli.main(MavenCli.java:280) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) ]]></stack-trace> </msg-loc-info> </exception-info> </task-result-details> </component-task-result-details> </component-task-result> [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2 minutes 14 seconds [INFO] Finished at: Fri Aug 03 07:40:26 EDT 2007 [INFO] Final Memory: 20M/39M [INFO] ------------------------------------------------------------------------ D:\apache-servicemix-3.1.1-incubating\examples\wsdl-second> Gert Vanthienen wrote: > > L.S., > > I think you might have to add a @WebMethod annotation to the getPerson() > method. If a class is annotated with @WebService, all public methods > are part of the SOAP interface and you don't want that for the > setContext() method probably. > > Not sure if it has anything to do with the exception you get though... > That is usually solved by specifying the defaultMep attribute on the > HTTP consumer endpoint. > > Gert > > charliec wrote: >> Hello, >> >> I made a copy of the wsdl-first example and renamed it. I then change >> the >> PersonImpl class so it can act as a consumer. I included the following >> code: >> >> private javax.jbi.component.ComponentContext context; >> >> public void setContext(javax.jbi.component.ComponentContext context) { >> this.context = context; >> } >> >> I also modified the xbean.xml as follows: >> >> <jsr181:endpoint > >> <jsr181:pojo> >> <bean >> class="org.apache.servicemix.samples.wsdl_second.PersonImpl"> >> <property name="context" ref="context" /> >> </bean> >> </jsr181:pojo> >> </jsr181:endpoint> >> >> When I execute the client.html, I receive the following error: >> >> STATUS: 500 >> <?xml version='1.0' encoding='UTF-8'?><env:Envelope >> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault><faultcode>env:Server</faultcode><faultstring>javax.jbi.messaging.MessagingException: >> Do not understand pattern: >> null</faultstring></env:Fault></env:Body></env:Envelope> >> >> When I remove the context code from the Java class and xbean.xml file, it >> works fine. Please help. I've attached the source code. Thanks. >> http://www.nabble.com/file/p11972224/wsdl-second-3.1.1-incubating-src.zip >> wsdl-second-3.1.1-incubating-src.zip >> > > -- View this message in context: http://www.nabble.com/Error-when-using-javax.jbi.component.ComponentContext-tf4208610s12049.html#a11981787 Sent from the ServiceMix - User mailing list archive at Nabble.com.
