Hi,
My comment inline
On 2010-3-1, at 下午9:58, Titas Lapinskas wrote:
Hey to all,
I am proceeding with exploring of SMX 4.1.0 and now bumped into the
following issue:
compiled and installed bridge-camel example, tried accessing through
the client. Got Error:
<p>Problem accessing /bridge/. Reason:
<pre> Fault occured for InOnly exchange</pre></p><h3>Caused by:</
h3><pre>org.apache.servicemix.jbi.exception.FaultException: Fault
occured for InOnly exchange
at <skiped the rest>
This example takes HTTP request, transforms, logs, and puts into
queue.
Here is full copy/paste from log:
15:42:36,305 | INFO | x-camel-thread-2 |
example |
rg.apache.camel.processor.Logger 88 | Exchange[BodyType:String,
Body:<?xml version="1.0" encoding="UTF-8"?>
<e:Envelope xmlns:e="http://schemas.xmlsoap.org/soap/envelope/">
<e:Body>
<ping>
<pingRequest>
<message xmlns="http://soap">help</message>
</pingRequest>
</ping>
</e:Body>
</e:Envelope>
]
15:42:36,316 | INFO | x-camel-thread-2 |
ManagementEndpointRegistry |
ement.ManagementEndpointRegistry 56 | Registering endpoint:
org.apache.servicemix.nmr.core.internalendpointwrap...@7eb5053e with
properties
{javax
.jbi
.servicedesc
.ServiceEndpoint
=org.apache.servicemix.common.externalendpo...@1c436b, NAME={http://camel.apache.org/schema/jbi
}provider:ID:10.40.136.67-12719f58774-2:0, service.id=259,
UNTARGETABLE=true, objectClass=[Ljava.lang.String;@18e45a8,
ENDPOINT_NAME=ID:10.40.136.67-12719f58774-2:0, SERVICE_NAME={http://camel.apache.org/schema/jbi
}provider, jbi.external=true}
15:42:36,323 | WARN | x-camel-thread-2 |
JbiBinding | ache.servicemix.camel.JbiBinding
232 | Unable to convert message body of type class java.lang.String
into an XML Source
15:42:36,358 | ERROR | mix-jms-thread-2 |
JmsComponent | icemix.common.AsyncBaseLifeCycle
480 | Error processing exchange
org.apache.servicemix.jbi.runtime.impl.inonlyi...@13641d6
javax.xml.stream.XMLStreamException: Trying to write END_DOCUMENT
when document has no root (ie. trying to output empty document).
at
com
.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStreamWriter.java:
1547)
at
com
.ctc
.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:
1576)
at
com
.ctc.wstx.sw.BaseStreamWriter._finishDocument(BaseStreamWriter.java:
1402)
at
com
.ctc.wstx.sw.BaseStreamWriter.writeEndDocument(BaseStreamWriter.java:
553)
at
org
.apache
.servicemix
.soap.marshalers.SoapWriter.writeSimpleMessage(SoapWriter.java:130)
at
org
.apache.servicemix.soap.marshalers.SoapWriter.write(SoapWriter.java:
92)
at
org
.apache
.servicemix.jms.DefaultJmsMarshaler.toJMS(DefaultJmsMarshaler.java:89)
at
org
.apache
.servicemix.jms.DefaultJmsMarshaler.toJMS(DefaultJmsMarshaler.java:
116)
at
org
.apache
.servicemix
.jms.AbstractJmsProcessor.fromNMS(AbstractJmsProcessor.java:216)
at
org
.apache
.servicemix
.jms
.AbstractJmsProcessor
.createMessageFromExchange(AbstractJmsProcessor.java:263)
at
org
.apache
.servicemix
.jms
.multiplexing
.MultiplexingProviderProcessor
.process(MultiplexingProviderProcessor.java:129)
at
org.apache.servicemix.soap.SoapEndpoint.process(SoapEndpoint.java:400)
at
org
.apache
.servicemix
.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
at
org
.apache
.servicemix
.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:
581)
at
org
.apache
.servicemix
.common
.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:478)
at org.apache.servicemix.common.AsyncBaseLifeCycle
$2.run(AsyncBaseLifeCycle.java:347)
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:619)
This error is caused by CAMEL-2450[1], which fixed by camel 2.2. As
the latest SMX4 snapshot kit already use camel 2.2, so you shouldn't
have encountered this problem at all.
So my question is how you get the kit? Is it the latest one? You can
get the latest kit from [2],you need download the kit with latest
timestamp.
[1]https://issues.apache.org/activemq/browse/CAMEL-2450
[2]https://repository.apache.org/content/groups/snapshots-group/org/apache/servicemix/apache-servicemix/4.1.0-SNAPSHOT/
15:42:36,360 | ERROR | x-camel-thread-2 |
DefaultErrorHandler | rg.apache.camel.processor.Logger
248 | Failed delivery for exchangeId:
66d33fea-3a3f-440d-9936-85dbe6194ba4. Exhausted after delivery
attempt: 1 caught: javax.xml.stream.XMLStreamException: Trying to
write END_DOCUMENT when document has no root (ie. trying to output
empty document).
javax.xml.stream.XMLStreamException: Trying to write END_DOCUMENT
when document has no root (ie. trying to output empty document).
at
com
.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStreamWriter.java:
1547)
at
com
.ctc
.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:
1576)
at
com
.ctc.wstx.sw.BaseStreamWriter._finishDocument(BaseStreamWriter.java:
1402)
at
com
.ctc.wstx.sw.BaseStreamWriter.writeEndDocument(BaseStreamWriter.java:
553)
at
org
.apache
.servicemix
.soap.marshalers.SoapWriter.writeSimpleMessage(SoapWriter.java:130)
at
org
.apache.servicemix.soap.marshalers.SoapWriter.write(SoapWriter.java:
92)
at
org
.apache
.servicemix.jms.DefaultJmsMarshaler.toJMS(DefaultJmsMarshaler.java:89)
at
org
.apache
.servicemix.jms.DefaultJmsMarshaler.toJMS(DefaultJmsMarshaler.java:
116)
at
org
.apache
.servicemix
.jms.AbstractJmsProcessor.fromNMS(AbstractJmsProcessor.java:216)
at
org
.apache
.servicemix
.jms
.AbstractJmsProcessor
.createMessageFromExchange(AbstractJmsProcessor.java:263)
at
org
.apache
.servicemix
.jms
.multiplexing
.MultiplexingProviderProcessor
.process(MultiplexingProviderProcessor.java:129)
at
org.apache.servicemix.soap.SoapEndpoint.process(SoapEndpoint.java:400)
at
org
.apache
.servicemix
.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
at
org
.apache
.servicemix
.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:
581)
at
org
.apache
.servicemix
.common
.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:478)
at org.apache.servicemix.common.AsyncBaseLifeCycle
$2.run(AsyncBaseLifeCycle.java:347)
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:619)
15:42:36,362 | WARN | x-camel-thread-2 |
SimpleEndpoint
| .common.endpoints.SimpleEndpoint 90 | SimpleEndpoint.fail called:
15:42:36,363 | WARN | 3...@qtp-1838702-0 |
jetty | service.jetty.internal.JCLLogger
115 | /bridge/
org.apache.servicemix.jbi.exception.FaultException: Fault occured
for InOnly exchange
at
org
.apache
.servicemix
.camel.CamelProviderEndpoint.onFailure(CamelProviderEndpoint.java:154)
at
org.apache.camel.impl.DefaultUnitOfWork.done(DefaultUnitOfWork.java:
143)
at
org
.apache
.camel.processor.UnitOfWorkProcessor.done(UnitOfWorkProcessor.java:82)
at
org
.apache
.camel
.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:
71)
at
org
.apache
.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
at
org
.apache
.camel
.management
.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
at org.apache.servicemix.camel.CamelProviderEndpoint
$1.call(CamelProviderEndpoint.java:100)
at
org
.apache
.servicemix
.camel.JbiBinding.runWithCamelContextClassLoader(JbiBinding.java:107)
at
org
.apache
.servicemix
.camel
.CamelProviderEndpoint
.handleActiveProviderExchange(CamelProviderEndpoint.java:98)
at
org
.apache
.servicemix
.camel.CamelProviderEndpoint.process(CamelProviderEndpoint.java:77)
at
org
.apache
.servicemix
.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
at
org
.apache
.servicemix
.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:
581)
at
org
.apache
.servicemix
.common
.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:478)
at org.apache.servicemix.common.AsyncBaseLifeCycle
$2.run(AsyncBaseLifeCycle.java:347)
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:619)
Seems to me like it is an JMS error. I have default instalation on
Microsoft Vista with 4.1.0 SNAPSHOT downloaded on 2010-02-24 06:57
(Greenvich time +0)
I checked the configs and according activemq-broker.xml there should
be <install>/data/activemq directory on which activemq should be
storing the files, but such doesn't exists.
I did the following steps:
ka...@root> osgi:list | grep activemq
[ 126] [Active ] [ ] [ ] [ 60] activemq-core
(5.3.0)
[ 127] [Active ] [ ] [ ] [ 60] activemq-ra
(5.3.0)
[ 128] [Active ] [ ] [ ] [ 60] activemq-
console (5.3.0)
[ 129] [Installed ] [ ] [ ] [ 60] activemq-pool
(5.3.0)
[ 170] [Installed ] [ ] [ ] [ 60] activemq-
broker.xml (0.0.0
)
ka...@root> start 129
Error executing command: Unresolved constraint in bundle
org.apache.activemq.act
ivemq-pool [129]: package; (&(package=org.apache.commons.pool.impl)
(version>=1.4
.0)(!(version>=1.5.0)))
ka...@root> osgi:install file:D:/work_soft/apache-servicemix-4.1.0-
SNAPSHOT/syst
em/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4.jar
org.osgi.framework.BundleException: Bundle symbolic name and version
are not uni
que: org.apache.commons.pool:1.5.4
This is a known issue and get fixed by [3]SMX4-491 very recently, I
believe the latest kit already picked up this fix.
[3]https://issues.apache.org/activemq/browse/SMX4-491
Freeman
I tried various commands with | grep list but saw only activemq-pool
shown, so no ideas how to enable that commons-pool as it seems this
is bottleneck for MQ not starting.
Any advices would be welcome.
On the same matter - later I'll have to enable Oracle AQ access from
ServiceMix 4 however haven't found any useful docs about it. Saw
about bridging, but I'd prefer to access it directly.
Could anyone give me some directions and advices how to do that? On
ServiceMix 3.3.1 it was easily done by putting Oracle libs to lib/
optional directory and then configuring jndi.xml to perform global
jndi-search to get factory. However I don't see any jndi.xml in SMX4
package (how global JNDI lookup is being done there?) and lib
contains very few files. Furthermore, I haven't saw that any config
file pointing to lib directory.
Thank you in advance,
Titas
--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com