[
https://issues.jboss.org/browse/JBESB-3812?page=com.atlassian.jira.plugin...
]
RH Bugzilla Integration commented on JBESB-3812:
------------------------------------------------
Jason Shepherd <jshepherd(a)redhat.com> made a comment on [bug
827330|https://bugzilla.redhat.com/show_bug.cgi?id=827330]
Description of problem:
When multiple SOAPProcessors are used in a action processing pipeline, the second call
will send an invalid 'Content-type' header, which will cause the second wrapper
webservice to fail with the following message:
2012-06-01 16:37:26,453 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS]
(pool-88-thread-1) SOAP request exception
javax.xml.soap.SOAPException: Could not parse content
type:javax.mail.internet.ParseException: Expected '/', got @
at org.jboss.ws.core.soap.MessageFactoryImpl.getContentType(MessageFactoryImpl.java:318)
at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:212)
at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:193)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:451)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:294)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:203)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:129)
at org.jboss.soa.esb.actions.soap.SOAPProcessor.process(SOAPProcessor.java:212)
at
org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:649)
at
org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:603)
at
org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:433)
at
org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:550)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Version-Release number of selected component (if applicable):
4.10
How reproducible:
Run attached Example
Steps to Reproduce:
1. Copy the attached project into the $SOA_HOME/samples/quickstarts directory
2. Deploy it by running 'ant deploy'
3. Test it by running 'ant runtest'
4. Obverse the error in the logs.
Actual results:
Exception above
Expected results:
Second call doesn't thrown an exception.
Additional info:
Workaround Exists:
Put in a custom action before the second SOAPProcessor, that removed the
'Content-type' header.
<action class="com.test.util.StripContentTypeProperty"
name="StripContentTypeProperty" process="stripProperties"/>
----------------------
package com.test.util;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.actions.annotation.Process;
/**
Strips the "ContentType" property from the JBoss ESB message properties
list.
*/
public class StripContentTypeProperty
{
/**
Strips the "ContentType" property from the JBoss ESB message properties
list.
@param message (required) The ESB message
@return The ESB message
*/
@Process
public Message stripProperties(Message message) {
message.getProperties().remove("Content-Type"); return message; }
}
When multiple SOAPProcessor actions are used in one pipeline the
second call sends an invalid 'Content-type' header
-------------------------------------------------------------------------------------------------------------------
Key: JBESB-3812
URL:
https://issues.jboss.org/browse/JBESB-3812
Project: JBoss ESB
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Web Services
Affects Versions: 4.10
Environment: SOA-P 5.2
Reporter: Jason Shepherd
Priority: Minor
Attachments: webservice_multi_producer.zip
When multiple SOAPProcessors are used in a action processing pipeline, the second call
will send an invalid 'Content-type' header, which will cause the second wrapper
webservice to fail with the following message:
2012-06-01 16:37:26,453 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS]
(pool-88-thread-1) SOAP request exception
javax.xml.soap.SOAPException: Could not parse content
type:javax.mail.internet.ParseException: Expected '/', got @
at
org.jboss.ws.core.soap.MessageFactoryImpl.getContentType(MessageFactoryImpl.java:318)
at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:212)
at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:193)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:451)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:294)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:203)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:129)
at org.jboss.soa.esb.actions.soap.SOAPProcessor.process(SOAPProcessor.java:212)
at
org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:649)
at
org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:603)
at
org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:433)
at
org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:550)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira