Have you tried to use a freshly installed tibco EMS? Perhaps it has to do with the EMS configuration.

In any case the exception seems to mean that a connection is using the temporary destination that may not use it. In my case of the missing SingleConnectionFactory it was because the connection that reveived the message on the server was not the same as the one that sent sent the message back to the temp queue.

The strange thing is that in the case of the old style configuration the SingleConnectionFactory is atutomatically used. So there should be no case where the jms transport is using more than one connection.

Greetings

Christian


Ed Scriven schrieb:
Christian,

I am halfway through getting the sample together.  Hopefully I'll have
it up and running by midday tomorrow.

At present the only difference I can see is the version of Tibco we
are using - I am using 4.3.0.

Regards,

Ed

2009/1/29 Christian Schneider <[email protected]>:
Hi Ed,

I have created an example with an old style config but were not abble to
reproduce the problem in this way. I will attach my configs.
Perhaps you can try with these settings. I only had to add a queue
definition for my queue name to the queues.conf. Apart from this I used a
freshly installed tibco ems.

It would be great if you can provide a sample maven project that reproduces
the problem this week. Dan wanted to ship the cxf 2.1.4 today and I asked
him to delay the release for some
days to fix this.

Greetings

Christian

--------------------------
<?xml version="1.0" encoding="UTF-8"?>
  <!--
      Licensed to the Apache Software Foundation (ASF) under one or more
      contributor license agreements. See the NOTICE file distributed with
      this work for additional information regarding copyright ownership.
      The ASF licenses this file to You under the Apache License, Version
      2.0 (the "License"); you may not use this file except in compliance
      with the License. You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0 Unless required by
      applicable law or agreed to in writing, software distributed under the
      License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
      CONDITIONS OF ANY KIND, either express or implied. See the License for
      the specific language governing permissions and limitations under the
      License.
  -->
<beans xmlns="http://www.springframework.org/schema/beans";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:jms="http://cxf.apache.org/transports/jms";
  xmlns:p="http://www.springframework.org/schema/p";
xmlns:context="http://www.springframework.org/schema/context";
  xmlns:jaxws="http://cxf.apache.org/jaxws";
  xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
      http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
      http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
      http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
      http://cxf.apache.org/transports/jms
http://cxf.apache.org/schemas/configuration/jms.xsd";>

  <import resource="classpath:META-INF/cxf/cxf.xml" />
  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
  <import resource="classpath:META-INF/cxf/cxf-extension-jms.xml" />
  <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />

  <jaxws:client id="CustomerService"
xmlns:customer="http://customerservice.example.com/";
      serviceName="customer:CustomerServiceService"
endpointName="customer:CustomerServiceEndpoint"
      address="jms://"
serviceClass="com.example.customerservice.CustomerService">
  </jaxws:client>

  <jms:conduit

name="{http://customerservice.example.com/}CustomerServiceEndpoint.jms-conduit";>
      <jms:address destinationStyle="queue"
          jndiConnectionFactoryName="QueueConnectionFactory"
          jndiDestinationName="test.cxf.jmstransport.queue"
          useJms11="true">
          <jms:JMSNamingProperty name="java.naming.factory.initial"
              value="com.tibco.tibjms.naming.TibjmsInitialContextFactory" />
          <jms:JMSNamingProperty name="java.naming.provider.url"
              value="tibjmsnaming://localhost:7222" />
      </jms:address>
  </jms:conduit>

</beans>
---------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:jms="http://cxf.apache.org/transports/jms";
  xmlns:p="http://www.springframework.org/schema/p";
xmlns:jaxws="http://cxf.apache.org/jaxws";
  xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
      http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
      http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
      http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
      http://cxf.apache.org/transports/jms
http://cxf.apache.org/schemas/configuration/jms.xsd
">

  <import resource="classpath:META-INF/cxf/cxf.xml" />
  <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
  <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
  <import resource="classpath:META-INF/cxf/cxf-extension-jms.xml" />
    <jaxws:endpoint xmlns:customer="http://customerservice.example.com/";
      id="CustomerService" address="jms://"
serviceName="customer:CustomerServiceService"
      endpointName="customer:CustomerServiceEndpoint"
implementor="com.example.customerservice.impl.CustomerServiceImpl">
  </jaxws:endpoint>
    <jms:destination

name="{http://customerservice.example.com/}CustomerServiceEndpoint.jms-destination";>
      <jms:address destinationStyle="queue"
          jndiConnectionFactoryName="QueueConnectionFactory"
          jndiDestinationName="test.cxf.jmstransport.queue"
          useJms11="true">
          <jms:JMSNamingProperty name="java.naming.factory.initial"
              value="com.tibco.tibjms.naming.TibjmsInitialContextFactory" />
          <jms:JMSNamingProperty name="java.naming.provider.url"
              value="tibjmsnaming://localhost:7222" />
      </jms:address>
  </jms:destination>

</beans>

------------------------------------------

Ed Scriven schrieb:
Christian,

I have updated my configuration to the new config style with
SingleConnectionFactory and the same problems persist.  I'll try and
get a sample maven project made up for you.  As mentioned, all my code
is on a segregated network with no internet access so this may take me
a day or so.

Regards,

Ed

2009/1/29 Christian Schneider <[email protected]>:

Hi Ed,

I have been able to reproduce the error on 2.2-SNAPSHOT now. It seems to
happen when the ConnectionFactory is not wrapped in a
SingleConnectionFactory.
With the config style you use this should happen automatically.

Could you provide me with a complete maven sample project that shows the
error? This would help debugging into the problem.
As a workaround you can use the new config style as explained in :
http://cwiki.apache.org/CXF20DOC/using-the-jmsconfigfeature.html

When you wrap the ConnectionFactory like in the example the error should
not
occur. Still I would like to fix this of course ;-)

Greetings

Christian

Ed Scriven schrieb:

Christian,

I have tested my configuration with Tibco 4.3.0 and CXF 2.2-SNAPSHOT.
Unfortunately problems persist.

Although javax.jms.InvalidDestinationException is no longer thrown,
the client times out.  Inspecting the Tibco logs shows that the
temporary queue is created successfully but "created receiver failed:
invalid temporary queue" remains.

For your information, my CXF configuration is as follows (please note
that this has been manually typed over from a segregated network):

Server:
<bean id="systemParametersService"
class="system.parameters.SystemParametersServiceImpl" />

<jaxws:endpoint id="systemParameters"
implementor="#systemParametersService" address="jms://" />

<jms:destination


name="{http://system.parameters/SystemParametersServiceImpl}SystemParametersServiceImplPort.jms-destination";>
 <jms:address destinationStyle="queue"

jndiConnectionFactoryName="system.parameters.JMSConnectionFactory"
                     jndiDestinationName="system.parameters.SOAP"
                     useJms11="true">
  <jms:JMSNamingProperty name="java.naming.factory.initial"
value="com.tibco.tibjms.naming.TibjmsInitialContextFactory" />
  <jms:JMSNamingProperty name="java.naming.provider.url"
value="tibjmsnaming://localhost:7222" />
</jms:destination>

Client:
<jaxws:client id="systemParametersClient"
serviceClass="system.parameters.SystemParametersService"
address="jms://" />

<jms:conduit

name="{http://system.parameters/SystemParametersServiceImpl}SystemParametersServicePort.jms-conduit";>
 <jms:address destinationStyle="queue"

jndiConnectionFactoryName="system.parameters.JMSConnectionFactory"
                     jndiDestinationName="system.parameters.SOAP"
                     useJms11="true">
  <jms:JMSNamingProperty name="java.naming.factory.initial"
value="com.tibco.tibjms.naming.TibjmsInitialContextFactory" />
  <jms:JMSNamingProperty name="java.naming.provider.url"
value="tibjmsnaming://localhost:7222" />
</jms:conduit>

Regards,

Ed

2009/1/28 Christian Schneider <[email protected]>:


Could you try to checkout the CXF head from subversion, compile it and
try
it with your project.
I was not yet able to identify the source of the problem but for me it
seems
solved on the head.
If it works for you too we can be quite sure that CXF 2.1.4 will
include
the
fix for this issue.

If your have subversion and maven installed the following will work:

svn co http://svn.apache.org/repos/asf/cxf/trunk
cd trunk
set MAVEN_OPTS=-Xmx512M -XX:MaxPermSize=128M
mvn -Pfastinstall

In your project you then include the just compiled version as:
2.2-SNAPSHOT

Greetings

Christian


Ed Scriven schrieb:


Hello Christian,

Did you get a chance to check your own samples with Tibco EMS?

Regards,

Ed

2009/1/21 Christian Schneider <[email protected]>




Hi Ed,

I will check my own sample with tibco ems.

Greetings

Christian

Ed Scriven schrieb:

Hello,



I am experiencing problems getting JAX-WS CXF with Tibco JMS to
work.
 My
configuration is derived from the



http://cwiki.apache.org/CXF20DOC/jax-ws-java-first-with-jms-transport.htmland
http://cwiki.apache.org/CXF20DOC/jms-transport.html.  I am using
Spring.

If I provide a jndiReplyDestinationName on the
jms:conduit/jms:address
element all works fine.  Unfortunately when I remove this attribute
and
expect temporary queues instead Tibco throws a
javax.jms.InvalidDestinationException:
Invalid temporary destination exception.  This exception is raised
from
the
Spring DefaultMessageListenerContainer requesting Tibco libraries to
create
a consumer.

Having inspected the Tibco logs the temporary queue is created
successfully
named $TMP$.EMS-SERVER.9A049772E795.2.  The logs do state that
"created
receiver failed: invalid temporary queue".

I have spent a good day trawling Google for anything related to this
issue,
but with no success.  Apologies not stack traces nor code, they are
on
a
segregated network with no Internet access.  I can get them if
required.

Has anyone experience CXF with Tibco JMS?  Has anyone experienced
temporary
queue problems before?

Regards,

Ed






--

Christian Schneider
---
http://www.liquid-reality.de





--

Christian Schneider
---
http://www.liquid-reality.de





--

Christian Schneider
---
http://www.liquid-reality.de





--

Christian Schneider
---
http://www.liquid-reality.de







--

Christian Schneider
---
http://www.liquid-reality.de

Reply via email to