cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aki Yoshida <elak...@googlemail.com>
Subject Re: setting wsa:addressing feature in cxf:bus causes wrong action header to be sent when using Dispatch API
Date Mon, 22 Aug 2011 08:03:57 GMT
Hi Jesse,
Sorry, I was asking to the group and also not very specific about what I meant.

What I meant was that the current problem is that this operation
determination code is only invoked when the addressing feature is
enabled for the jaxws endpoint but it is not invoked when the
addressing feature is enabled for the bus.

We could make some change so that the code will be invoked when the
addressing feature is enabled for the bus. But this code itself is
about determining the operation and its use is not necessarily limited
to the addressing feature.

So, instead of checking the existence of the addressing feature to
indirectly determine whether to invoke this code, we could introduce a
configuration parameter in the dispatcher's request context to disable
or enable the invocation of this code explicitly.

dispatch.getRequestContext().put(parameter-name-to-invoke-this-op-determination-code,
Boolean.TRUE);

regards, aki

2011/8/19 Jesse Pangburn <Jesse.Pangburn@us.lawson.com>:
> Hi Aki,
> I'm REALLY new to CXF so I don't quite understand your answer.  Could you explain what
sort of configuration option you mean, and what shape it would take?  In that case, how would
the code "find the option and set the action accordingly"?
>
> Thanks,
> Jesse
>
> -----Original Message-----
> From: Aki Yoshida [mailto:elakito@googlemail.com]
> Sent: Friday, August 19, 2011 8:49 AM
> To: users@cxf.apache.org
> Subject: Re: setting wsa:addressing feature in cxf:bus causes wrong action header to
be sent when using Dispatch API
>
> Hi,
> I think we should just provide a configuration option to either enable
> or disable this operation determination code in DispathImpl,
> independently of whether the addressing feature is engaged. In this
> way, you can decide whether to let this code find the operation and
> set the action accordingly or manually set the operation and action at
> the dispatcher.
>
> regards, aki
>
> 2011/8/19 Jesse Pangburn <Jesse.Pangburn@us.lawson.com>:
>> Hi,
>> Another Dispatch API / wsAddressing question.  I configured ws addressing on the
cxf bus like this, instead of adding the feature directly to the dispatch client:
>> <cxf:bus>
>>        <cxf:features>
>>                <wsa:addressing/>
>>        </cxf:features>
>> </cxf:bus>
>>
>> However using both SOAP 1.1 and 1.2 Dispatch API clients, I found that it sets the
wrong Action header by just using a default rather than the one from the WSDL.  I'm not certain
which code is responsible for this but I see in the DispatchImpl.java the following code:
>> boolean wsaEnabled = false;
>> for (AbstractFeature feature : ((JaxWsClientEndpointImpl)client.getEndpoint()).getFeatures())
{
>>  if (feature instanceof WSAddressingFeature) {
>>    wsaEnabled = true;
>>  }
>> }
>>
>> This only looks for the features on the endpoint to determine if it should do ws
addressing, not the features on the bus too.  So the DispatchImpl doesn't set this stuff
up.  Is there other code down the line that should be doing a similar thing with the bus's
features?  Or should the DispatchImpl be checking the bus features as well as the endpoint
features here?
>>
>> Thanks,
>> Jesse
>>
>> -----Original Message-----
>> From: Daniel Kulp [mailto:dkulp@apache.org]
>> Sent: Thursday, August 18, 2011 2:29 PM
>> To: users@cxf.apache.org
>> Cc: David Karlsen
>> Subject: Re: java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal during
wsdl2java generation - any clues?
>>
>>
>> I would check you meven dependencies for any old versions of Xerces or xml-
>> api's.   It kind of looks like it's pulling in some older stuff someplace that
>> is conflicting.
>>
>> Dan
>>
>>
>> On Thursday, August 18, 2011 4:07:25 PM David Karlsen wrote:
>>> With 2.4.2 and the maven plugin doing wsdl2java I get:
>>>
>>> *15:57:55*  message : Failed to execute goal
>>> org.apache.cxf:cxf-codegen-plugin:2.4.2:wsdl2java (generate-sources)
>>> on project pays-web-ws-pays: org/w3c/dom/ElementTraversal*15:57:55*
>>> cause : org/w3c/dom/ElementTraversal*15:57:55*  Stack trace :
>>> *15:57:55*  org.apache.maven.lifecycle.LifecycleExecutionException:
>>> Failed to execute goal
>>> org.apache.cxf:cxf-codegen-plugin:2.4.2:wsdl2java (generate-sources)
>>> on project pays-web-ws-pays: org/w3c/dom/ElementTraversal*15:57:55*
>>>       at
>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:
>>> 217)*15:57:55* at
>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:
>>> 153)*15:57:55* at
>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:
>>> 145)*15:57:55* at
>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(Lif
>>> ecycleModuleBuilder.java:84)*15:57:55* at
>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(Lif
>>> ecycleModuleBuilder.java:59)*15:57:55* at
>>> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(Li
>>> fecycleStarter.java:183)*15:57:55* at
>>> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStart
>>> er.java:161)*15:57:55* at
>>> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)*15:57:55* at
>>> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)*15:57:55* at
>>> org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79
>>> )*15:57:55* at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>> Method)*15:57:55*     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
>>> )*15:57:55* at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
>>> l.java:25)*15:57:55* at
>>> java.lang.reflect.Method.invoke(Method.java:597)*15:57:55*    at
>>> org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.j
>>> ava:329)*15:57:55* at
>>> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
>>> *15:57:55* at
>>> org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)*15:57:
>>> 55* at hudson.maven.Maven3Builder.call(Maven3Builder.java:121)*15:57:55* at
>>> hudson.maven.Maven3Builder.call(Maven3Builder.java:73)*15:57:55* at
>>> hudson.remoting.UserRequest.perform(UserRequest.java:118)*15:57:55* at
>>> hudson.remoting.UserRequest.perform(UserRequest.java:48)*15:57:55* at
>>> hudson.remoting.Request$2.run(Request.java:287)*15:57:55*     at
>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)*15:
>>> 57:55* at
>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)*15:57:55
>>> * at java.util.concurrent.FutureTask.run(FutureTask.java:138)*15:57:55* at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.j
>>> ava:886)*15:57:55* at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:
>>> 908)*15:57:55* at java.lang.Thread.run(Thread.java:662)*15:57:55*  Caused
>>> by:
>>> org.apache.maven.plugin.MojoExecutionException:
>>> org/w3c/dom/ElementTraversal*15:57:55*        at
>>> org.apache.cxf.maven_plugin.WSDL2JavaMojo.callWsdl2Java(WSDL2JavaMojo.java:6
>>> 13)*15:57:55* at
>>> org.apache.cxf.maven_plugin.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:436)*1
>>> 5:57:55* at
>>> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildP
>>> luginManager.java:101)*15:57:55* at
>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:
>>> 209)*15:57:55* ... 27 more*15:57:55*  Caused by:
>>> java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal*15:57:55*
>> at
>>> java.lang.ClassLoader.defineClass1(Native Method)*15:57:55*   at
>>> java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)*15:57:55*
>>>       at java.lang.ClassLoader.defineClass(ClassLoader.java:615)*15:57:55*
>>>       at
>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)*15:
>>> 57:55* at
>>> java.net.URLClassLoader.defineClass(URLClassLoader.java:283)*15:57:55* at
>>> java.net.URLClassLoader.access$000(URLClassLoader.java:58)*15:57:55* at
>>> java.net.URLClassLoader$1.run(URLClassLoader.java:197)*15:57:55* at
>>> java.security.AccessController.doPrivileged(Native
>>> Method)*15:57:55*     at
>>> java.net.URLClassLoader.findClass(URLClassLoader.java:190)*15:57:55*
>>>       at
>>> org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRea
>>> lm.java:386)*15:57:55* at
>>> org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFi
>>> rstStrategy.java:42)*15:57:55* at
>>> org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:
>>> 244)*15:57:55* at
>>> org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:
>>> 230)*15:57:55* at
>>> org.apache.xerces.parsers.AbstractDOMParser.startDocument(Unknown
>>> Source)*15:57:55*     at
>>> org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown
>>> Source)*15:57:55*     at
>>> org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown
>>> Source)*15:57:55*     at
>>> org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown
>>> Source)*15:57:55*     at
>>> org.apache.xerces.parsers.XML11Configuration.parse(Unknown
>>> Source)*15:57:55*     at
>>> org.apache.xerces.parsers.XML11Configuration.parse(Unknown
>>> Source)*15:57:55*     at
>>> org.apache.xerces.parsers.XMLParser.parse(Unknown Source)*15:57:55*
>>>       at org.apache.xerces.parsers.DOMParser.parse(Unknown
>>> Source)*15:57:55*     at
>>> org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
>>> Source)*15:57:55*     at
>>> javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124)*15:57:55*
>>>       at
>>> org.apache.cxf.tools.common.dom.ExtendedDocumentBuilder.parse(ExtendedDocum
>>> entBuilder.java:95)*15:57:55* at
>>> org.apache.cxf.tools.common.toolspec.ToolSpec.<init>(ToolSpec.java:71)*15:5
>>> 7:55* at
>>> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:86)
>>> *15:57:55* at
>>> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)*15:57:55*
>>> at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)*15:57:55*
>>> at
>>> org.apache.cxf.maven_plugin.WSDL2JavaMojo.callWsdl2Java(WSDL2JavaMojo.java:
>>> 610)*15:57:55* ... 30 more*15:57:55*  Caused by:
>>> java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal*15:57:55*
>>>       at
>>> org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFir
>>> stStrategy.java:50)*15:57:55* at
>>> org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:
>>> 244)*15:57:55* at
>>> org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:
>>> 230)*15:57:55* ... 59 more
>>>
>>>
>>> Running on latest sun 1.6 jdk.
>>> Any clues?
>>>
>>> --
>>> David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen
>> --
>> Daniel Kulp
>> dkulp@apache.org
>> http://dankulp.com/blog
>> Talend - http://www.talend.com
>>
>>
>>
>
>
>

Mime
View raw message