Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1109061

Summary: XML message not converted into Java object
Product: [JBoss] JBoss Fuse Service Works 6 Reporter: Jiri Pechanec <jpechane>
Component: SwitchYardAssignee: Keith Babo <kbabo>
Status: CLOSED DEFERRED QA Contact: Jiri Sedlacek <jsedlace>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.1.0CC: kconner, oskutka, soa-p-jira
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-23 15:15:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Reproducer none

Description Jiri Pechanec 2014-06-13 07:44:04 UTC
See attached reproducer

This is an application using TCP binding. The input message is XML that is converted inside SY to a Java object as a message payload.

The application works in FSW 6.0 - the log shows
*
*
*
-----------------------------------------------------
07:24:11,501 TRACE [org.apache.camel.impl.converter.DefaultTypeConverter] (Camel (camel-4) thread #71 - NettyOrderedWorker) Converting java.lang.String -> org.jboss.soa.qa.shared.data.SimpleOrder with value: <?xml version="1.0" encoding="UTF-8"?>

         <simpleOrder id="1" xmlns="urn:jboss-soa:order-service:1.0">
            <!--Optional:-->
            <items>
               <!--Zero or more repetitions:-->
               <item sku="2">
                  <!--Optional:-->
                  <count>3</count>
                  <!--Optional:-->
                  <pricePerUnit>4</pricePerUnit>
               </item>
            </items>
            <!--Optional:-->
            <name>processTwoWay</name>
            <!--Optional:-->
            <quantity>5</quantity>
         </simpleOrder>

07:24:11,555 TRACE [org.apache.camel.impl.converter.DefaultTypeConverter] (Camel (camel-4) thread #71 - NettyOrderedWorker) Converting java.lang.String -> javax.xml.stream.XMLStreamReader with value: <?xml version="1.0" encoding="UTF-8"?>

         <simpleOrder id="1" xmlns="urn:jboss-soa:order-service:1.0">
            <!--Optional:-->
            <items>
               <!--Zero or more repetitions:-->
               <item sku="2">
                  <!--Optional:-->
                  <count>3</count>
                  <!--Optional:-->
                  <pricePerUnit>4</pricePerUnit>
               </item>
            </items>
            <!--Optional:-->
            <name>processTwoWay</name>
            <!--Optional:-->
            <quantity>5</quantity>
         </simpleOrder>

07:24:11,555 TRACE [org.apache.camel.impl.converter.DefaultTypeConverter] (Camel (camel-4) thread #71 - NettyOrderedWorker) Using converter: InstanceMethodTypeConverter: public javax.xml.stream.XMLStreamReader org.apache.camel.converter.jaxp.StaxConverter.createXMLStreamReader(java.lang.String) throws javax.xml.stream.XMLStreamException to convert [class java.lang.String=>interface javax.xml.stream.XMLStreamReader]
07:24:11,565 TRACE [org.apache.camel.impl.converter.DefaultTypeConverter] (Camel (camel-4) thread #71 - NettyOrderedWorker) Fallback type converter org.apache.camel.converter.jaxb.FallbackTypeConverter@2c5d5209 converted type from: org.jboss.soa.qa.shared.data.SimpleOrder to: java.lang.String
07:24:11,575 TRACE [org.apache.camel.impl.converter.DefaultTypeConverter] (Camel (camel-4) thread #71 - NettyOrderedWorker) Converting org.jboss.soa.qa.shared.data.SimpleOrder -> java.lang.String with value: SimpleOrder [id=1, name=processTwoWay, items=[OrderItem [sku=2, count=3, pricePerUnit=4.0]], totalPrice=12]
07:24:11,587 TRACE [org.apache.camel.impl.converter.DefaultTypeConverter] (Camel (camel-4) thread #71 - NettyOrderedWorker) Converting java.lang.String -> java.lang.String with value: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<simpleOrder id="1" xmlns="urn:jboss-soa:order-service:1.0">
    <items>
        <item sku="2">
            <count>3</count>
            <pricePerUnit>4.0</pricePerUnit>
        </item>
    </items>
    <name>processTwoWay</name>
    <quantity>1</quantity>
</simpleOrder>

07:24:11,587 TRACE [org.apache.camel.impl.converter.DefaultTypeConverter] (Camel (camel-4) thread #71 - NettyOrderedWorker) Fallback type converter org.apache.camel.converter.jaxb.FallbackTypeConverter@2c5d5209 converted type from: java.lang.String to: org.jboss.soa.qa.shared.data.SimpleOrder
07:24:11,587 INFO  [org.switchyard.handlers.MessageTraceHandler] (Camel (camel-4) thread #71 - NettyOrderedWorker) 
------- Begin Message Trace -------
Consumer -> {urn:tcp-bean-service:1.0}OrderServiceProxyTwoWay
Provider -> [unassigned]
Operation -> processTwoWay
MEP -> IN_OUT
Phase -> IN
State -> OK
Exchange Context -> 
    CamelCreatedTimestamp ................: Tue Jun 10 07:24:11 CEST 2014
    CamelFilterMatched ...................: false
    CamelToEndpoint ......................: direct://%7Burn:tcp-bean-service:1.0%7DOrderServiceProxyTwoWay
    TIME .................................: 1402377851571
    org.switchyard.bus.camel.consumer ....: ServiceReference [name={urn:tcp-bean-service:1.0}OrderServiceProxyTwoWay, interface=SWITCHYARD010007: BaseServiceInterface [type=java, operations=[SWITCHYARD010008: processOneWay : IN_ONLY  : [java:org.jboss.soa.qa.shared.data.SimpleOrder, null, null], SWITCHYARD010008: processTwoWay : IN_OUT  : [java:org.jboss.soa.qa.shared.data.SimpleOrder, java:java.lang.String, null], SWITCHYARD010008: processTwoWayWithException : IN_OUT  : [java:org.jboss.soa.qa.shared.data.SimpleOrder, java:java.lang.String, null]]], domain=ServiceDomain [name=null]]
    org.switchyard.bus.camel.contract ....: org.switchyard.metadata.BaseExchangeContract@4fb5f854
    org.switchyard.bus.camel.dispatcher ..: org.switchyard.bus.camel.ExchangeDispatcher@33c27bae
    org.switchyard.bus.camel.labels ......: {org.switchyard.exchangeGatewayName=[org.switchyard.label.behavior.transient], org.switchyard.exchangeInitiatedNS=[org.switchyard.label.behavior.transient], rtgov.request.received=[org.switchyard.label.behavior.transient]}
    org.switchyard.bus.camel.phase .......: IN
    org.switchyard.bus.camel.replyHandler : org.switchyard.component.camel.CamelResponseHandler@145ecb40
    org.switchyard.exchangeGatewayName ...: ProxyTwoWayPort
    org.switchyard.exchangeInitiatedNS ...: 92956966741738
    rtgov.request.received ...............: RequestReceived: serviceType={urn:tcp-bean-service:1.0}OrderServiceProxyTwoWay interface=org.jboss.soa.qa.tcp_bean_service.OrderServiceProxy operation=processTwoWay fault=null messageType=org.jboss.soa.qa.shared.data.SimpleOrder content=null
Message Context -> 
    breadcrumbId ........................: ID-jpechane-40536-1402377812511-3-3
    org.switchyard.bus.camel.labels .....: {org.switchyard.contentType=[org.switchyard.label.behavior.transient], org.switchyard.bus.camel.messageSent=[org.switchyard.label.behavior.transient]}
    org.switchyard.bus.camel.messageSent : true
    org.switchyard.contentType ..........: java:org.jboss.soa.qa.shared.data.SimpleOrder
    org.switchyard.messageId ............: ID-jpechane-40536-1402377812511-3-3
Message Content -> 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<simpleOrder id="1" xmlns="urn:jboss-soa:order-service:1.0">
    <items>
        <item sku="2">
            <count>3</count>
            <pricePerUnit>4.0</pricePerUnit>
        </item>
    </items>
    <name>processTwoWay</name>
    <quantity>1</quantity>
</simpleOrder>

------ End Message Trace -------
------------------------------------------------

When executing in JBoss Fuse with SY 2.0.Alpha installed the log looks like
*
*
*

09:28:03,409 | TRACE | ttyOrderedWorker | DefaultTypeConverter             | 390 - org.apache.camel.camel-core - 2.12.2 | Converting org.jboss.netty.buffer.BigEndianHeapChannelBuffer -> java.lang.String with value: BigEndianHeapChannelBuffer(ridx=0, widx=396, cap=396)
09:28:03,410 | TRACE | ttyOrderedWorker | DefaultTypeConverter             | 390 - org.apache.camel.camel-core - 2.12.2 | Using converter: StaticMethodTypeConverter: public static java.lang.String org.apache.camel.component.netty.NettyConverter.toString(org.jboss.netty.buffer.ChannelBuffer,org.apache.camel.Exchange) throws java.io.UnsupportedEncodingException to convert [class org.jboss.netty.buffer.BigEndianHeapChannelBuffer=>class java.lang.String]
09:28:03,410 | TRACE | ttyOrderedWorker | DefaultTypeConverter             | 390 - org.apache.camel.camel-core - 2.12.2 | Converting byte[] -> java.lang.String with value: [60, 63, 120, 109, 108, 32, 118, 101, 114, 115, 105, 111, 110, 61, 34, 49, 46, 48, 34, 32, 101, 110, 99, 111, 100, 105, 110, 103, 61, 34, 85, 84, 70, 45, 56, 34, 63, 62, 10, 60, 115, 105, 109, 112, 108, 101, 79, 114, 100, 101, 114, 32, 105, 100, 61, 34, 49, 34, 32, 120, 109, 108, 110, 115, 61, 34, 117, 114, 110, 58, 106, 98, 111, 115, 115, 45, 115, 111, 97, 58, 111, 114, 100, 101, 114, 45, 115, 101, 114, 118, 105, 99, 101, 58, 49, 46, 48, 34, 62, 10, 9, 60, 33, 45, 45, 79, 112, 116, 105, 111, 110, 97, 108, 58, 45, 45, 62, 10, 9, 60, 105, 116, 101, 109, 115, 62, 10, 9, 9, 60, 33, 45, 45, 90, 101, 114, 111, 32, 111, 114, 32, 109, 111, 114, 101, 32, 114, 101, 112, 101, 116, 105, 116, 105, 111, 110, 115, 58, 45, 45, 62, 10, 9, 9, 60, 105, 116, 101, 109, 32, 115, 107, 117, 61, 34, 50, 34, 62, 10, 9, 9, 9, 60, 33, 45, 45, 79, 112, 116, 105, 111, 110, 97, 108, 58, 45, 45, 62, 10, 9, 9, 9, 60, 99, 111, 117, 110, 116, 62, 51, 60, 47, 99, 111, 117, 110, 116, 62, 10, 9, 9, 9, 60, 33, 45, 45, 79, 112, 116, 105, 111, 110, 97, 108, 58, 45, 45, 62, 10, 9, 9, 9, 60, 112, 114, 105, 99, 101, 80, 101, 114, 85, 110, 105, 116, 62, 52, 60, 47, 112, 114, 105, 99, 101, 80, 101, 114, 85, 110, 105, 116, 62, 10, 9, 9, 60, 47, 105, 116, 101, 109, 62, 10, 9, 60, 47, 105, 116, 101, 109, 115, 62, 10, 9, 60, 33, 45, 45, 79, 112, 116, 105, 111, 110, 97, 108, 58, 45, 45, 62, 10, 9, 60, 110, 97, 109, 101, 62, 112, 114, 111, 99, 101, 115, 115, 79, 110, 101, 87, 97, 121, 60, 47, 110, 97, 109, 101, 62, 10, 9, 60, 33, 45, 45, 79, 112, 116, 105, 111, 110, 97, 108, 58, 45, 45, 62, 10, 9, 60, 113, 117, 97, 110, 116, 105, 116, 121, 62, 53, 60, 47, 113, 117, 97, 110, 116, 105, 116, 121, 62, 10, 60, 47, 115, 105, 109, 112, 108, 101, 79, 114, 100, 101, 114, 62, 10]
09:28:03,410 | TRACE | ttyOrderedWorker | DefaultTypeConverter             | 390 - org.apache.camel.camel-core - 2.12.2 | Using converter: StaticMethodTypeConverter: public static java.lang.String org.apache.camel.converter.IOConverter.toString(byte[],org.apache.camel.Exchange) throws java.io.IOException to convert [class [B=>class java.lang.String]
09:28:03,410 | DEBUG | ttyOrderedWorker | SendProcessor                    | 390 - org.apache.camel.camel-core - 2.12.2 | >>>> Endpoint[switchyard://OrderServiceProxyOneWay] Exchange[Message: <?xml version="1.0" encoding="UTF-8"?>
<simpleOrder id="1" xmlns="urn:jboss-soa:order-service:1.0">
	<!--Optional:-->
	<items>
		<!--Zero or more repetitions:-->
		<item sku="2">
			<!--Optional:-->
			<count>3</count>
			<!--Optional:-->
			<pricePerUnit>4</pricePerUnit>
		</item>
	</items>
	<!--Optional:-->
	<name>processOneWay</name>
	<!--Optional:-->
	<quantity>5</quantity>
</simpleOrder>
]
09:28:03,411 | TRACE | ttyOrderedWorker | DefaultTypeConverter             | 390 - org.apache.camel.camel-core - 2.12.2 | Converting org.jboss.netty.buffer.BigEndianHeapChannelBuffer -> org.jboss.soa.qa.shared.data.SimpleOrder with value: BigEndianHeapChannelBuffer(ridx=0, widx=396, cap=396)
09:28:03,411 | TRACE | ttyOrderedWorker | DefaultTypeConverter             | 390 - org.apache.camel.camel-core - 2.12.2 | Converting org.jboss.netty.buffer.BigEndianHeapChannelBuffer -> java.lang.String with value: BigEndianHeapChannelBuffer(ridx=0, widx=396, cap=396)
09:28:03,411 | TRACE | ttyOrderedWorker | DefaultTypeConverter             | 390 - org.apache.camel.camel-core - 2.12.2 | Using converter: StaticMethodTypeConverter: public static java.lang.String org.apache.camel.component.netty.NettyConverter.toString(org.jboss.netty.buffer.ChannelBuffer,org.apache.camel.Exchange) throws java.io.UnsupportedEncodingException to convert [class org.jboss.netty.buffer.BigEndianHeapChannelBuffer=>class java.lang.String]
09:28:03,411 | TRACE | ttyOrderedWorker | DefaultTypeConverter             | 390 - org.apache.camel.camel-core - 2.12.2 | Converting byte[] -> java.lang.String with value: [60, 63, 120, 109, 108, 32, 118, 101, 114, 115, 105, 111, 110, 61, 34, 49, 46, 48, 34, 32, 101, 110, 99, 111, 100, 105, 110, 103, 61, 34, 85, 84, 70, 45, 56, 34, 63, 62, 10, 60, 115, 105, 109, 112, 108, 101, 79, 114, 100, 101, 114, 32, 105, 100, 61, 34, 49, 34, 32, 120, 109, 108, 110, 115, 61, 34, 117, 114, 110, 58, 106, 98, 111, 115, 115, 45, 115, 111, 97, 58, 111, 114, 100, 101, 114, 45, 115, 101, 114, 118, 105, 99, 101, 58, 49, 46, 48, 34, 62, 10, 9, 60, 33, 45, 45, 79, 112, 116, 105, 111, 110, 97, 108, 58, 45, 45, 62, 10, 9, 60, 105, 116, 101, 109, 115, 62, 10, 9, 9, 60, 33, 45, 45, 90, 101, 114, 111, 32, 111, 114, 32, 109, 111, 114, 101, 32, 114, 101, 112, 101, 116, 105, 116, 105, 111, 110, 115, 58, 45, 45, 62, 10, 9, 9, 60, 105, 116, 101, 109, 32, 115, 107, 117, 61, 34, 50, 34, 62, 10, 9, 9, 9, 60, 33, 45, 45, 79, 112, 116, 105, 111, 110, 97, 108, 58, 45, 45, 62, 10, 9, 9, 9, 60, 99, 111, 117, 110, 116, 62, 51, 60, 47, 99, 111, 117, 110, 116, 62, 10, 9, 9, 9, 60, 33, 45, 45, 79, 112, 116, 105, 111, 110, 97, 108, 58, 45, 45, 62, 10, 9, 9, 9, 60, 112, 114, 105, 99, 101, 80, 101, 114, 85, 110, 105, 116, 62, 52, 60, 47, 112, 114, 105, 99, 101, 80, 101, 114, 85, 110, 105, 116, 62, 10, 9, 9, 60, 47, 105, 116, 101, 109, 62, 10, 9, 60, 47, 105, 116, 101, 109, 115, 62, 10, 9, 60, 33, 45, 45, 79, 112, 116, 105, 111, 110, 97, 108, 58, 45, 45, 62, 10, 9, 60, 110, 97, 109, 101, 62, 112, 114, 111, 99, 101, 115, 115, 79, 110, 101, 87, 97, 121, 60, 47, 110, 97, 109, 101, 62, 10, 9, 60, 33, 45, 45, 79, 112, 116, 105, 111, 110, 97, 108, 58, 45, 45, 62, 10, 9, 60, 113, 117, 97, 110, 116, 105, 116, 121, 62, 53, 60, 47, 113, 117, 97, 110, 116, 105, 116, 121, 62, 10, 60, 47, 115, 105, 109, 112, 108, 101, 79, 114, 100, 101, 114, 62, 10]
09:28:03,411 | TRACE | ttyOrderedWorker | DefaultTypeConverter             | 390 - org.apache.camel.camel-core - 2.12.2 | Using converter: StaticMethodTypeConverter: public static java.lang.String org.apache.camel.converter.IOConverter.toString(byte[],org.apache.camel.Exchange) throws java.io.IOException to convert [class [B=>class java.lang.String]
09:28:03,412 | TRACE | ttyOrderedWorker | DefaultTypeConverter             | 390 - org.apache.camel.camel-core - 2.12.2 | Converting org.apache.camel.impl.DefaultMessage -> org.jboss.soa.qa.shared.data.SimpleOrder with value: Message: <?xml version="1.0" encoding="UTF-8"?>
<simpleOrder id="1" xmlns="urn:jboss-soa:order-service:1.0">
	<!--Optional:-->
	<items>
		<!--Zero or more repetitions:-->
		<item sku="2">
			<!--Optional:-->
			<count>3</count>
			<!--Optional:-->
			<pricePerUnit>4</pricePerUnit>
		</item>
	</items>
	<!--Optional:-->
	<name>processOneWay</name>
	<!--Optional:-->
	<quantity>5</quantity>
</simpleOrder>

09:28:03,413 | DEBUG | ttyOrderedWorker | ProducerCache                    | 390 - org.apache.camel.camel-core - 2.12.2 | >>>> Endpoint[direct://%7Burn:tcp-bean-service:1.0%7DOrderServiceProxyOneWay] Exchange[Message: [Body is null]]
09:28:03,413 | DEBUG | ttyOrderedWorker | FilterProcessor                  | 390 - org.apache.camel.camel-core - 2.12.2 | Filter matches: false for exchange: Exchange[Message: [Body is null]]
09:28:03,414 | INFO  | ttyOrderedWorker | MessageTraceHandler              | 408 - org.jboss.logging.jboss-logging - 3.1.2.GA | 
------- Begin Message Trace -------
Consumer -> {urn:tcp-bean-service:1.0}OrderServiceProxyOneWay
Provider -> [unassigned]
Operation -> processOneWay
MEP -> IN_ONLY
Phase -> IN
State -> OK
Exchange Context -> 
    CamelCreatedTimestamp ................: Fri Jun 13 09:28:03 CEST 2014
    CamelFilterMatched ...................: false
    CamelMessageHistory ..................: [DefaultMessageHistory[routeId=direct:{urn:tcp-bean-service:1.0}OrderServiceProxyOneWay, node=doTry22], DefaultMessageHistory[routeId=direct:{urn:tcp-bean-service:1.0}OrderServiceProxyOneWay, node=filter64], DefaultMessageHistory[routeId=direct:{urn:tcp-bean-service:1.0}OrderServiceProxyOneWay, node=process548]]
    CamelToEndpoint ......................: direct://%7Burn:tcp-bean-service:1.0%7DOrderServiceProxyOneWay
    org.switchyard.bus.camel.consumer ....: ServiceReference [name={urn:tcp-bean-service:1.0}OrderServiceProxyOneWay, interface=BaseServiceInterface [type=java, operations=[processTwoWay : IN_OUT  : [java:org.jboss.soa.qa.shared.data.SimpleOrder, java:java.lang.String, null], processTwoWayWithException : IN_OUT  : [java:org.jboss.soa.qa.shared.data.SimpleOrder, java:java.lang.String, null], processOneWay : IN_ONLY  : [java:org.jboss.soa.qa.shared.data.SimpleOrder, null, null]]], domain=ServiceDomain [name={urn:tcp-bean-service:1.0}tcp-bean-service]]
    org.switchyard.bus.camel.contract ....: org.switchyard.metadata.BaseExchangeContract@25eea5cf
    org.switchyard.bus.camel.dispatcher ..: org.switchyard.bus.camel.ExchangeDispatcher@2adfb11e
    org.switchyard.bus.camel.labels ......: {org.switchyard.exchangeGatewayName=[org.switchyard.label.behavior.transient], org.switchyard.exchangeInitiatedNS=[org.switchyard.label.behavior.transient]}
    org.switchyard.bus.camel.phase .......: IN
    org.switchyard.bus.camel.replyHandler : org.switchyard.component.camel.switchyard.CamelResponseHandler@1badb229
    org.switchyard.exchangeGatewayName ...: ProxyOneWayPort
    org.switchyard.exchangeInitiatedNS ...: 187771907059587
Message Context -> 
    breadcrumbId ........................: ID-jpechane-53677-1402643991408-2-41
    org.switchyard.bus.camel.labels .....: {org.switchyard.contentType=[org.switchyard.label.behavior.transient], org.switchyard.bus.camel.messageSent=[org.switchyard.label.behavior.transient]}
    org.switchyard.bus.camel.messageSent : true
    org.switchyard.contentType ..........: java:org.jboss.soa.qa.shared.data.SimpleOrder
    org.switchyard.messageId ............: ID-jpechane-53677-1402643991408-2-41
Message Content -> 
null
------ End Message Trace -------
*
*
*

Please note that the result of conversion is null in the second case

Comment 1 Jiri Pechanec 2014-06-13 07:46:29 UTC
Created attachment 908390 [details]
Reproducer

Comment 2 kconner 2014-06-23 15:15:01 UTC
We are not supposed to be logging BZs against 6.1 as of yet as we are only just at DR stage.  I'm going to close this as DEFERRED.