[
https://jira.jboss.org/jira/browse/JBESB-2816?page=com.atlassian.jira.plu...
]
Daniel Bevenius commented on JBESB-2816:
----------------------------------------
Hi Rune,
I think this might be the same as
https://jira.jboss.org/jira/browse/JBESB-2763.
Would you be able to try you soap message using a build from trunk?
Thanks,
/Daniel
WSSecurityInfoExtractor gets confused over SOAP header element named
'UserName'
-------------------------------------------------------------------------------
Key: JBESB-2816
URL:
https://jira.jboss.org/jira/browse/JBESB-2816
Project: JBoss ESB
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Web Services
Affects Versions: 4.4
Environment: *Release ID: JBoss [SOA_STANDALONE] 4.3.0.GA_CP01_SOA_STANDALONE
(build: SVNTag=4.3.0.GA_CP01_SOA_STANDALONE date=200904071212)
*SUSE Linux Enterprise Server 10 (i586)
Reporter: Rune Molin
If I send this request to a service hooked up to a jbr-listener gateway configured for
HTTP access:
<?xml version="1.0"?>
<S:Envelope
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header>
<RequestHeader xmlns="...">
<UserName>johndoe</UserName>
<HostName>xx123</HostName>
<Timestamp>2009-09-09T07:22:04.706Z</Timestamp>
</RequestHeader>
</S:Header>
<S:Body>
...
<S:Body>
<S:Envelope>
The result is an exception:
2009-09-09 07:58:09,517 ERROR
[org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener] JBoss Remoting Gateway
failed to synchronously deliver message to target service [RefData:GateService].
org.milyn.SmooksException: Unable to filter InputStream for target profile
[org.milyn.profile.Profile#default_profile].
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:287)
at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:235)
at org.milyn.Smooks.filter(Smooks.java:288)
at org.milyn.Smooks.filter(Smooks.java:253)
at
org.jboss.soa.esb.services.security.auth.ws.WSSecurityInfoExtractor.extractSecurityInfo(WSSecurityInfoExtractor.java:97)
at
org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener$JBossRemotingMessageComposer.populateMessage(JBossRemotingGatewayListener.java:523)
at
org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener$JBossRemotingMessageComposer.populateMessage(JBossRemotingGatewayListener.java:487)
at
org.jboss.soa.esb.listeners.message.AbstractMessageComposer.compose(AbstractMessageComposer.java:76)
at
org.jboss.soa.esb.listeners.message.UncomposedMessageDeliveryAdapter.deliverSyncWithoutDecomposing(UncomposedMessageDeliveryAdapter.java:104)
at
org.jboss.soa.esb.listeners.message.UncomposedMessageDeliveryAdapter.deliverSync(UncomposedMessageDeliveryAdapter.java:86)
at
org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener.invoke(JBossRemotingGatewayListener.java:345)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:866)
at org.jboss.remoting.transport.coyote.CoyoteInvoker.service(CoyoteInvoker.java:310)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.milyn.SmooksException: Failed to apply processing unit
[org.milyn.javabean.BeanInstancePopulator] to
[org:milyn:smooks:unknowndoc:/S:Envelope/S:Header/RequestHeader/UserName].
at
org.milyn.delivery.dom.SmooksDOMFilter.processVisitorException(SmooksDOMFilter.java:748)
at org.milyn.delivery.dom.SmooksDOMFilter.access$800(SmooksDOMFilter.java:134)
at
org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:733)
at
org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:671)
at
org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:625)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:352)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:285)
... 16 more
Caused by: org.milyn.cdr.SmooksConfigurationException: Bean instance [userNameToken] not
available and bean runtime class not set on configuration.
at org.milyn.javabean.BeanUtils.getBean(BeanUtils.java:130)
at
org.milyn.javabean.BeanInstancePopulator.populateAndSetPropertyValue(BeanInstancePopulator.java:328)
at
org.milyn.javabean.BeanInstancePopulator.populateAndSetPropertyValue(BeanInstancePopulator.java:317)
at
org.milyn.javabean.BeanInstancePopulator.bindDomDataValue(BeanInstancePopulator.java:232)
at org.milyn.javabean.BeanInstancePopulator.visitAfter(BeanInstancePopulator.java:178)
at
org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:727)
... 20 more
2009-09-09 07:58:09,517 DEBUG [org.jboss.remoting.transport.coyote.CoyoteInvoker] Error
thrown calling invoke on server invoker.
org.milyn.SmooksException: Unable to filter InputStream for target profile
[org.milyn.profile.Profile#default_profile].
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:287)
at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:235)
at org.milyn.Smooks.filter(Smooks.java:288)
at org.milyn.Smooks.filter(Smooks.java:253)
at
org.jboss.soa.esb.services.security.auth.ws.WSSecurityInfoExtractor.extractSecurityInfo(WSSecurityInfoExtractor.java:97)
at
org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener$JBossRemotingMessageComposer.populateMessage(JBossRemotingGatewayListener.java:523)
at
org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener$JBossRemotingMessageComposer.populateMessage(JBossRemotingGatewayListener.java:487)
at
org.jboss.soa.esb.listeners.message.AbstractMessageComposer.compose(AbstractMessageComposer.java:76)
at
org.jboss.soa.esb.listeners.message.UncomposedMessageDeliveryAdapter.deliverSyncWithoutDecomposing(UncomposedMessageDeliveryAdapter.java:104)
at
org.jboss.soa.esb.listeners.message.UncomposedMessageDeliveryAdapter.deliverSync(UncomposedMessageDeliveryAdapter.java:86)
at
org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener.invoke(JBossRemotingGatewayListener.java:345)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:866)
at org.jboss.remoting.transport.coyote.CoyoteInvoker.service(CoyoteInvoker.java:310)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.milyn.SmooksException: Failed to apply processing unit
[org.milyn.javabean.BeanInstancePopulator] to
[org:milyn:smooks:unknowndoc:/S:Envelope/S:Header/RequestHeader/UserName].
at
org.milyn.delivery.dom.SmooksDOMFilter.processVisitorException(SmooksDOMFilter.java:748)
at org.milyn.delivery.dom.SmooksDOMFilter.access$800(SmooksDOMFilter.java:134)
at
org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:733)
at
org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:671)
at
org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:625)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:352)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:285)
... 16 more
Caused by: org.milyn.cdr.SmooksConfigurationException: Bean instance [userNameToken] not
available and bean runtime class not set on configuration.
at org.milyn.javabean.BeanUtils.getBean(BeanUtils.java:130)
at
org.milyn.javabean.BeanInstancePopulator.populateAndSetPropertyValue(BeanInstancePopulator.java:328)
at
org.milyn.javabean.BeanInstancePopulator.populateAndSetPropertyValue(BeanInstancePopulator.java:317)
at
org.milyn.javabean.BeanInstancePopulator.bindDomDataValue(BeanInstancePopulator.java:232)
at org.milyn.javabean.BeanInstancePopulator.visitAfter(BeanInstancePopulator.java:178)
at
org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:727)
... 20 more
Changing <UserName>johndoe</UserName> into
<NameOfUser>johndoe</NameOfUser> fixes the problem.
My guess is that the smooks transformation that looks for the WS-Security element
'UserNameToken' is not specific enough, so it picks up this 'UserName'
element, which is not related to WS-Security in any way
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira