Best unofficial Apache Server developers community
Username
Forgot password?
Sign in with Twitter account
Sign in with Facebook account
List archives

Changing operation in ServiceMix CXF consumer --> provider

Is Camel working with Websphere MQ/MQseries as well?
(13 lines)
Re: NullPointerException in ExchangeHelper.convertToType
(24 lines)
Jun 28, 2010
Anto
Anto
Hi,

    When routing from ServiceMix CXF-BC consumer to ServiceMix CXF-BC
provider, need to call a different operation of CXF provider web service.
The application uses ServiceMix and Camel JBI component. Camel is used for
routing purpose only. The route is

CXF BC consumer ----> Camel ----> CXF BC provider

For example 

operation: {http://example.org}hello

changed to

operation: {http://example.org}greet

I tried to set operation as a header in camel route but is not working.

<route>
    <from uri="jbi:service:http://example.org/helloRouteBuilder"/>
    <setHeader headerName="operationName">
        <constant>greet</constant>
    </setHeader>
    <to uri="jbi:service:http://example.org/greetingService"/>
</route>

I know that this syntax is for Camel CXF endpoints. Will it work for
ServiceMix CXF components?

Anto



Reply
Tags: servicemixcamelproviderrouting
Messages in this thread
Changing operation in ServiceMix CXF consumer --> provider
Similar Threads
Re: Routing of SOAP messages from a web service consumer to a web service provider
what is the answer about this question. i want to ask the same question,
help



Freeman Fang wrote:
 
 Hi Mirko,
 
 The error comes from missing camel-cxf component on the classpath,
add the
 dependency  into your pom should fix it.
 Best Regards
 
 Freeman
 
 On 1/28/08, mhi <mirko### @credit-suisse.com> wrote:
>
>
> Dear all,
>
> Can you please help me implementing the following simple use
case:
> A web service consumer sends a SOAP message in order to invoke an
> operation
> of a web service provider. The message is not sent directly to
the
> provider:
> it is sent to a (Camel) router which then forwards the message to
the
> provider. The provider sends his response message back to the
router and
> the
> router forwards it to the consumer. For the consumer, it is
transparent
> that
> there is a router in the middle. The goal is to route the
consumer's
> messages depending on SOAP header information.
>
> There is another requirement: it should not be necessary to
restart the
> router after a change of the routing information. This is only
possible
> if
> the routes are defined via the spring configuration
(camel-context.xml),
> right?
>
>
> If I use the following camel-context.xml ...
>
> <?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.
> -->
>
> <!--
>
> The default Application Context used by the
org.apache.camel.spring.Main
> if there
> is no /META-INF/sprint.xml
>
> -->
>
> <beans xmlns="http://www.springframework.org/schema/beans"
>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>      
xmlns:cxf="http://activemq.apache.org/camel/schema/cxfEndpoint"
>
>       xsi:schemaLocation="
>       http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>       http://activemq.apache.org/camel/schema/cxfEndpoint
> http://activemq.apache.org/camel/schema/cxf/cxfEndpoint.xsd
>       http://activemq.apache.org/camel/schema/spring
> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
>           http://cxf.apache.org/jaxws
> http://cxf.apache.org/schemas/jaxws.xsd
>        ">
>
>   <!--bean id="cxf"
class="org.apache.cxf.bus.CXFBusImpl"/-->
>
>   <cxf:cxfEndpoint id="routerEndpoint"
> address="http://localhost:9003/CamelContext/RouterPort"
>               
serviceClass="org.apache.hello_world_soap_http.GreeterImpl
> "/>
>
>   <cxf:cxfEndpoint id="serviceEndpoint"
> address="http://localhost:9000/SoapContext/SoapPort"
>                wsdlURL="testutils/hello_world.wsdl"
>               
serviceClass="org.apache.hello_world_soap_http.Greeter"
>                endpointName="s:SoapPort"
>                serviceName="s:SOAPService"
>        xmlns:s="http://apache.org/hello_world_soap_http" />
>
>   <camelContext id="camel"
> xmlns="http://activemq.apache.org/camel/schema/spring">
>    <route>
>      <from uri="cxf:routerEndpoint" />
>      <to uri="cxf:serviceEndpoint" />
>    </route>
>   </camelContext>
>
>
> </beans>
>
>
> ... I get the following output when running
>
"C:\iona\fuse-mediation-router-1.3.0.0\examples\camel-example-spring
> >mvn:camel
> run":
> ...
> [pache.camel.spring.Main.main()] Main                          
ERROR
> Failed:
>
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:
> Line 40 in XML document from file
> [C:\iona\fuse-
>
mediation-router-1.3.0.0\examples\camel-example-spring\target\classes\META-INF\spring\camel-context
> .xml] is invalid; nested exception is
org.xml.sax.SAXParseException:
> cvc-complex-type.2.4.c: The matching wildcard is strict, but no
> declaration
> can
> be found for element 'cxf:cxfEndpoint'.
>
>
> Thank you very much.
>
> Best regards,
> Mirko
>
>
> --
> View this message in context:
>
http://www.nabble.com/Routing-of-SOAP...882p15136171.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
 
 





Created: (CAMEL-2780) Support to specify the operation and operation and operation namespace from ca
Support to specify the operation and operation and operation namespace from
camel-cxf endpoint URI for  camel-cxf producer 

Created: (CAMEL-2900) if an ftp consumer gives up reconnecting, the consumer is still listed as
if an ftp consumer gives up reconnecting, the consumer is still listed as
"started" it should say "stopped retrying" or similar

Issue with wrap:mvn under Apache ServiceMix 4.2.0
Hi,

The following syntax of ops4j to wrap a bundle does not work anymore on
SMX4.2

osgi:install
wrap:mvn:com.fusesource/osgi-exercises-plain-old-jar$Bundle-SymbolicName=osgi-exercises-plain

kar### @root> osgi:install
wrap:mvn:com.fusesource/osgi-exercises-plain-old-jar$Bundle-SymbolicName=osgi-exercises-plain
java.lang.RuntimeException: URL
[mvn:com.fusesource/osgi-exercises-plain-old-jar-SymbolicName=osgi-exercises-plain]
could not be resolved.

Without $Bundle-SymbolicName=osgi-exercises-plain, it works

osgi:install wrap:mvn:com.fusesource/osgi-exercises-plain-old-jar

KR

Charles Moulliard

Senior Enterprise Architect (J2EE, .NET, SOA)
Apache Camel/ServiceMix Committer

*******************************************************************
- Blog : http://cmoulliard.blogspot.com
- Twitter : http://twitter.com/cmoulliard
- Linkedlin : http://www.linkedin.com/in/charlesmoulliard


Re: Federating Endpoints between separately hosted Servicemix
L.S.,

You could use any kind of transport/protocol supported by Camel to connect
the two boxes (HTTP, mina, ...).  However, since both ServiceMix boxes
already have an embedded ActiveMQ broker, the best solution is probably to
configure those brokers to become a network of brokers (cfr.
http://activemq.apache.org/networks-of-brokers.html).  This way, you can
just communicate with the local queue and ActiveMQ will store/forward the
message when necessary.

If you're already using JBI, you could also use the JBI cluster engine
(which uses the same ActiveMQ technique to forward the JBI MessageExchange
to the remote box) which allows you to send to a JBI endpoint and then the
cluster engine knows whether or not to forward that.  Note that JBI only
allows for XML payloads though.

We are planning to make that same feature availalable for the NMR as well
(cfr. https://issues.apache.org/activemq/browse/SMX4NMR-193) but that's
not
available in the latest version of ServiceMix yet.

Regards,

Gert

-----
Regards,

Gert Vanthienen

Created: (AMQ-2815) Move ServiceMix broker commands to ActiveMQ
Move ServiceMix broker commands to ActiveMQ

Changing the API to an interface (AGAIN)...
All,

One of the biggest complaints I've received from folks about the proxy
library is that it's not based on interfaces.  The main class is the
ProxyFactory class and it's a concrete class which implements all
proxying logic using JDK proxies.  We did this for maintainability
(adding stuff to the interface breaks binary compatibility as opposed
to adding a method to a concrete superclass with an implementation).
I would like to re-structure proxy so that it contains a few
modules...

1.  Commons Proxy Core - the API itself containing the ProxyFactory
*interface*
2.  Commons Proxy JDK - the JDK proxies implementation
3.  Commons Proxy CGLIB - the CGLIB implementation
4.  Commons Proxy Javassist - the Javassist Library

With the new paradigm of just bumping major version numbers (and
package names) allowing us to break compatibility, I don't think the
interface issue is that much of an issue anymore.  What do you guys
think?

Thanks,

James


Changing replication factor from 2 to 3
We'd like to double our cluster size from 4 to 8 and increase our
replication
factor from 2 to 3.

Is there any special procedure we need to follow to increase replication? 
Is it sufficient to just start the new nodes with the replication factor
of
3 and then reconfigure the existing nodes to the replication factor one at
a
time?





changing dataType in processor?
Wondering if it's sane to change the dataType in a processor in chukwa?  I
have a single log file (web log) that contains various lines....would like
to shard the data based on the request URI in the log.

e.g. 

/chukwa/repos/[clusterName]/dataType1/20100727
/chukwa/repos/[clusterName]/dataType2/20100727

Is this asking for trouble somehow? Using the UTF8 log adaptor.



changing server name in HTTP request
I am having a website which is being served on my LAN as 
http://internal1.mydomain.com
 the vhost configuration for this is 
<VirtualHost *:80>
ServerAdmin webm### @localhost
 ServerName internal1.mydomain.com 
ProxyRequests Off 
         <Proxy *>
        Order deny,allow
        Allow from all
        </Proxy>
ProxyPreserveHost On 

ProxyPass / http://localhost:9090/ 
ProxyPassReverse / http://localhost:9090/ 

</VirtualHost >

it is working very fine on LAN. I am able to use my application completely
from 
LAN.

There is another server which is having public IP and I want this website
to be 
available on internet.

A request for public domain comes as

http://www.mypublicdomain.com/something

How do I transfer that internally so that it reaches or is being served by

http://internal1.mydomain.com
Is it possible to change the ServerName of an HTTP Request in Apache2 
if yes then how?



Changing the 10th anniversary logo
Hi,

What about putting back the original tomcat logo? (The 10th one is there
since 2009-10-23).

Cheers

Jean-Frederic


Problems changing admin password
I have this strange problem where changing the admin password does not seem
to have any effect.

I've done exactly what Justin explained below and in fact with curl I get
a
login page when using the old admin password (the default "admin") and I
get
the landing page when using the new one.

But... and this is the strange thing... when I try to access
/system/console/bundles it only accepts the old password! Even after
restarting glassfish.

Any ideas?

Thanks,
-Tako


On Wed, Jun 30, 2010 at 14:57, Justin Edelson
<justin### @gmail.com>wrote:

 On 6/30/10 8:13 AM, Tako Schotanus wrote:
 > And do you have any idea what I'm doing wrong while trying to
change the
 > admin password? I just can't get it to work.

 The instructions on the FAQ work for me. Starting with an empty
 repository and the default bundles:

 curl http://admin:adm### @localhost:8888/index.html" rel="nofollow" target="_blank">http://admin:ad### @localhost:8888/index.html - works
 curl http://admin:bad### @localhost:8888/index.html - returns login
form

 curl -F"oldPwd=admin" -F"newPwd=Fritz" -F"newPwdConfirm=Fritz"
 http://admin:ad### @localhost
 :8888/system/userManager/user/admin.changePassword.html


 curl http://admin:adm### @localhost:8888/index.html" rel="nofollow" target="_blank">http://admin:ad### @localhost:8888/index.html - returns login
form
 curl http://admin:Frt### @localhost:8888/index.html - works

 You can safely ignore the bit in the FAQ about updating the admin
 password in the web console. That no longer applies.

 As Bertrand said, if the above steps don't work for you, please post
 some addition details (ideally under a new subject line to help
 findability).

 Justin



Changing Jetty version and system properties
Hi,

Buildr seems to be a very nice build tool. However, I'm still having a
couple of issues with it. So, is there a way in Buildr to change the Jetty
version? Also, Can I somehow set some system properties for the Jetty jvm?

Best,
Lauri


Created: (ARIES-364) Aries itests projects need to use version 1.2 of the Servicemix depends-maven-p
Aries itests projects need to use version 1.2 of the Servicemix
depends-maven-plugin

Created: (CAMEL-3005) Create a feature for Camel Shiro to ease its deployment into Servicemix
Create a feature for Camel Shiro to ease its deployment into Servicemix

Addition of conf to dependencies changing transitive behaviour
Hi all,

I'm building a series of heavily nested projects with ant and ivy, and had
got everything working nicely without configurations - i.e. the simplest
case. FYI, in all the following cases I get the same behaviour whether
using
ivy inside ant or IvyDE in Eclipse.

so, having got the simplest case working I needed to introduce test
configurations. I added some relevant configurations and then focused on
the
core dependencies required for all configurations. For these common
dependencies I tried:

<dependency ... transitive="true" conf="*->default"/> 

Except, bizarrely enough this stopped the transitive stuff working. Ivy
would resolve one level of nested dependencies and then just stop. Cue
google and the following attempt at a fix:

<dependecy ... transitive="true" conf="*->*" />

This then broke because it tried to download sources and javadoc - which
we
don't publish into this repo - and stopping the build with an error
against
the dependency resolution process. Again, google to the rescue and I try
the
following:

<dependecy ... transitive="true" conf="*->*,!sources,!javadoc" />
 
Ugly, but effective. Except! This works fine for 2 layers of dependency,
but
fails on the 3rd. i.e. Project D depends on Project C which depends on
Project B which depends on Project A. 

D
^-C
   ^-B
      ^-A

I attach ivy to A, B and C. Then I try D... whoops! C and B resolve fine,
but not A! Wtf! Why does transitivity apply twice and the suddenly fail?

Can anyone suggest why I keep coming up against limits on dependency
transitiveness? Please don't point me at Ivy's tutorials etc. because I've
read those literally dozens of times now and they don't address these
issues
adequately.

Thanks
Al

p.s. An irrelevant whinge: I've had to write ant scripts to handle ivy's
gaping holes already and I'm seriously beginning to wonder whether I might
have to write a script for every ivy feature we use... which kinda spoils
the point of using ivy. Yeah, I'd have to write an entire build system,
but
a) I've practically done that already and b) at least I'd know the quirks!
Sigh. Help greatly appreciated.




RewriteRule failing on windows when changing content-handlers
I'm having a difficult time figuring out why a RewriteRule isn't 
working, so I'm turning to you folks for some potential help. The 
problem is as follows:

On a 64 bit Windows 7 machine, I have installed apache in D:\Apache. 
The root of the web directory is in E:\cyg\wwwroot. I am using a 
RewriteRule inside a .htaccess file located in 
e:\cyg\wwwroot\oxfordv2 to rewrite non-existant .phps files into .php 
files and at the same time change the handler to be 
application/x-httpd-php-source. When the rewrite happens, the browser 
reports a 404 error and the error log indicates that the script file 
is 'not found or unable to stat'. When the rule is moved directly 
into the VirtualHost container for the site, it functions without 
issue. I have provided what I think are relative snippets of 
information below. If you need further details, please ask and I will 
provide them.

The URL being accessed in both cases is 
http://dev.domain.com/oxfordv2/page.phps. It is successful when 
placed into the VirtualHost but not when in the .htaccess file. If I 
leave off the content-header portion of the rewrite while in the 
.htaccess file, it properly redirects to the new file, but obviously 
processes the file as a .php file and not a .phps file.

The output of error.log when the rewrite fails in .htaccess:

[Tue Jun 29 15:45:20 2010] [error] [client 127.0.0.1] script 
'redirect:/oxfordv2/page.php' not found or unable to stat

The output of rewrite.log when the rewrite fails in .htaccess:

127.0.0.1 - - [29/Jun/2010:15:48:39 --0400] 
[dev.domain.com/sid#18a5b30][rid#18ba180/initial] (3) [perdir 
E:/cyg/wwwroot/oxfordv2/] strip per-dir prefix: 
E:/cyg/wwwroot/oxfordv2/page.phps -> page.phps
127.0.0.1 - - [29/Jun/2010:15:48:39 --0400] 
[dev.domain.com/sid#18a5b30][rid#18ba180/initial] (3) [perdir 
E:/cyg/wwwroot/oxfordv2/] applying pattern '(.*\.php)s$' to uri
'page.phps'
127.0.0.1 - - [29/Jun/2010:15:48:39 --0400] 
[dev.domain.com/sid#18a5b30][rid#18ba180/initial] (2) [perdir 
E:/cyg/wwwroot/oxfordv2/] rewrite 'page.phps' -> 'page.php'
127.0.0.1 - - [29/Jun/2010:15:48:39 --0400] 
[dev.domain.com/sid#18a5b30][rid#18ba180/initial] (3) [perdir 
E:/cyg/wwwroot/oxfordv2/] add per-dir prefix: page.php -> 
E:/cyg/wwwroot/oxfordv2/page.php
127.0.0.1 - - [29/Jun/2010:15:48:39 --0400] 
[dev.domain.com/sid#18a5b30][rid#18ba180/initial] (2) [perdir 
E:/cyg/wwwroot/oxfordv2/] remember E:/cyg/wwwroot/oxfordv2/page.php 
to have Content-handler 'application/x-httpd-php-source'
127.0.0.1 - - [29/Jun/2010:15:48:39 --0400] 
[dev.domain.com/sid#18a5b30][rid#18ba180/initial] (2) [perdir 
E:/cyg/wwwroot/oxfordv2/] strip document_root prefix: 
E:/cyg/wwwroot/oxfordv2/page.php -> /oxfordv2/page.php
127.0.0.1 - - [29/Jun/2010:15:48:39 --0400] 
[dev.domain.com/sid#18a5b30][rid#18ba180/initial] (1) [perdir 
E:/cyg/wwwroot/oxfordv2/] internal redirect with /oxfordv2/page.php 
[INTERNAL REDIRECT]
127.0.0.1 - - [29/Jun/2010:15:48:39 --0400] 
[dev.domain.com/sid#18a5b30][rid#18ba180/initial] (1) force filename 
redirect:/oxfordv2/page.php to have the Content-handler 
'application/x-httpd-php-source'

Output of rewrite.log when the rule is moved into the vhost entry:

127.0.0.1 - - [29/Jun/2010:15:51:18 --0400] 
[dev.domain.com/sid#1aa5b30][rid#1aba180/initial] (2) init rewrite 
engine with requested uri /oxfordv2/page.phps
127.0.0.1 - - [29/Jun/2010:15:51:18 --0400] 
[dev.domain.com/sid#1aa5b30][rid#1aba180/initial] (3) applying 
pattern '(.*\.php)s$' to uri '/oxfordv2/page.phps'
127.0.0.1 - - [29/Jun/2010:15:51:18 --0400] 
[dev.domain.com/sid#1aa5b30][rid#1aba180/initial] (2) rewrite 
'/oxfordv2/page.phps' -> '/oxfordv2/page.php'
127.0.0.1 - - [29/Jun/2010:15:51:18 --0400] 
[dev.domain.com/sid#1aa5b30][rid#1aba180/initial] (2) remember 
/oxfordv2/page.php to have Content-handler
'application/x-httpd-php-source'
127.0.0.1 - - [29/Jun/2010:15:51:18 --0400] 
[dev.domain.com/sid#1aa5b30][rid#1aba180/initial] (2) local path 
result: /oxfordv2/page.php
127.0.0.1 - - [29/Jun/2010:15:51:18 --0400] 
[dev.domain.com/sid#1aa5b30][rid#1aba180/initial] (2) prefixed with 
document_root to E:/cyg/wwwroot/oxfordv2/page.php
127.0.0.1 - - [29/Jun/2010:15:51:18 --0400] 
[dev.domain.com/sid#1aa5b30][rid#1aba180/initial] (1) go-ahead with 
E:/cyg/wwwroot/oxfordv2/page.php [OK]
127.0.0.1 - - [29/Jun/2010:15:51:18 --0400] 
[dev.domain.com/sid#1aa5b30][rid#1aba180/initial] (1) force filename 
E:/cyg/wwwroot/oxfordv2/page.php to have the Content-handler 
'application/x-httpd-php-source'

httpd.conf

Issues changing log4j levels for tomcat web apps
Hi Everyone,

 

This question might be a little off topic, but I thought since it
involved tomcat web apps, I figured someone might know the answer.

 

I have Liferay EE 5.2.6  running on top of tomcat 6.0.26.   Liferay has
an admin GUI page to allows me to change log level settings for
different packages.  The issue I'm facing is changing the log levels
seems to only take effect on the ROOT web apps.  All the other plugin
web apps do not seem to response to the new log levels.   I checked on
Liferay support forums and found that others are also facing this
problem
(http://www.liferay.com/community/foru...ds/message/492284
1) 

 

Is this really Liferay's specific problem or is it Tomcat issue in
general?

 

In plain vanilla Tomcat, are the web apps loaded in a WebAppClassLoader
and ROOT web app is loaded by StandardClassLoader?  If so, I assume this
is really just an issue with Tomcat right?  How do I get around this
problem?   

 

In a previous project I worked with, we relied on DB change notification
to relay the new log level to all tomcat web apps.  However, I don't
want to consider that solution because it requires design changes and it
has its own set of problem.

 

Any pointers would be much appreciated!  Thanks in advance!

 

Regards,

 

- Jeffrey Nguyen

 



Re-Start required when changing activemq.xml or camel.xml ? Auto-restart possible?
Assume I have started ActiveMQ successfully.
Now I change either activemq.xml or camel.xml

Is it required to restart ActiveMQ in order let the changes become
effective?
Or does ActiveMQ detect automatically changes in its config files and load
them automatically during run?

If manually restart is necessary: Is there a (ONE) common cmdline command
available which
shuts the MessBroker down AND restarts it?

Ben