AFAIK, this is a bug that has already been fixed.
Just include the operationName in the annotation should work fine.

You could also bypass the jbi descriptor generation, but the same problem
would happen at runtime, so this is not a good idea.

The 3.1.1 version of ServiceMix should fix these problems.
Sorry about that.

On 4/5/07, Owen Thomas <[EMAIL PROTECTED]> wrote:

I have followed the steps below, and don't know what I'm doing wrong.



1. Create a new project using the following maven command at a command
line:

mvn archetype:create -DarchetypeGroupId=org.apache.servicemix.tooling
-DarchetypeArtifactId=servicemix-jsr181-annotated-service-unit
-DarchetypeVersion=3.1-incubating -DgroupId=test.webservice
-DartifactId=TestWebService
-DremoteRepositories=http://people.apache.org/repo/m2-incubating-reposit
ory



2. Start NetBeans and open the project you created above.



3. Due to a bug in the archetype, the <executions> tag that was inserted
in the POM must be removed. Scan for this tag, and remove all lines
between <executions> and </executions> inclusive.



4. Due to a bug in the archetype, a property must be added manually to
the POM. Scan for the <properties> tag, and add
<xfire-version>1.2.2</xfire-version> inside this tag.



5. Save the POM, and build the project from inside NetBeans via the
project's context menu. Output similar to the following should appear.

*

******** Start of output.

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>java.lang.Illega
lArgumentException: Invalid name
[]</loc-message></msg-loc-info></task-status-msg>

                        <exception-info>

                                <nesting-level>1</nesting-level>

                                <msg-loc-info>

                                        <loc-token />

                                        <loc-message>Invalid name
[]</loc-message>


<stack-trace><![CDATA[java.lang.IllegalArgumentException: Invalid name
[]

[INFO]   at
org.codehaus.xfire.service.ServiceInfo.addOperation(ServiceInfo.java:71)

[INFO]   at
org.codehaus.xfire.service.binding.ObjectServiceFactory.addOperation(Obj
ectServiceFactory.java:760)

[INFO]   at
org.apache.servicemix.jsr181.xfire.ServiceFactoryHelper$FixedJAXWSServic
eFactory.addOperation(ServiceFactoryHelper.java:210)

[INFO]   at
org.codehaus.xfire.service.binding.ObjectServiceFactory.initializeOperat
ions(ObjectServiceFactory.java:720)

[INFO]   at
org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectSer
viceFactory.java:418)

[INFO]   at
org.codehaus.xfire.annotations.AnnotationServiceFactory.create(Annotatio
nServiceFactory.java:253)

[INFO]   at
org.apache.servicemix.jsr181.Jsr181Endpoint.registerService(Jsr181Endpoi
nt.java:301)

[INFO]   at
org.apache.servicemix.jsr181.Jsr181Endpoint.validate(Jsr181Endpoint.java
:216)

[INFO]   at
org.apache.servicemix.common.DefaultComponent.addEndpoint(DefaultCompone
nt.java:300)

[INFO]   at
org.apache.servicemix.common.DefaultComponent.doInit(DefaultComponent.ja
va:287)

[INFO]   at
org.apache.servicemix.jsr181.Jsr181Component.doInit(Jsr181Component.java
:81)

[INFO]   at
org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCycle.
java:142)

[INFO]   at
org.apache.servicemix.jsr181.packaging.Jsr181ServiceUnitAnalyzer.getProv
ides(Jsr181ServiceUnitAnalyzer.java:57)

[INFO]   at
org.apache.servicemix.common.xbean.AbstractXBeanServiceUnitAnalyzer.init
(AbstractXBeanServiceUnitAnalyzer.java:96)

[INFO]   at
org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorMojo
.generateJbiDescriptor(GenerateServiceUnitDescriptorMojo.java:166)

[INFO]   at
org.apache.servicemix.maven.plugin.jbi.GenerateServiceUnitDescriptorMojo
.execute(GenerateServiceUnitDescriptorMojo.java:129)

[INFO]   at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginMa
nager.java:417)

[INFO]   at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Default
LifecycleExecutor.java:610)

[INFO]   at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifec
ycle(DefaultLifecycleExecutor.java:551)

[INFO]   at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultL
ifecycleExecutor.java:530)

[INFO]   at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandle
Failures(DefaultLifecycleExecutor.java:309)

[INFO]   at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
DefaultLifecycleExecutor.java:276)

[INFO]   at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifec
ycleExecutor.java:143)

[INFO]   at
org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:393)

[INFO]   at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:182)

[INFO]   at
org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:760)

[INFO]   at
org.codehaus.mevenide.netbeans.execute.MavenJavaExecutor.run(MavenJavaEx
ecutor.java:257)

[INFO]   at
org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:131)

[INFO]]]></stack-trace>

                                </msg-loc-info>

                        </exception-info>

                </task-result-details>

        </component-task-result-details>

</component-task-result>

******** End of output.

*



6. The project will compile within NetBeans if the WebMethod annotation
is either removed, or includes the operationName parameter.



Help appreciated,



  Owen.




--
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/

Reply via email to