Hi Micky,
Do you create the cxf endpoint in the camel context ?
If so , the soap message will be passed to the camel context for further
processing.
Here is the camel context spring configuration file [1], and this is the
unit test file[2] which will create the camel context.
If you just use JAXWS API to create the endpoint , the message will pass
to the service implementation object.
BTW,
If you want to start the https transport , you need to configure the
jetty engine[3] first.
[1]https://svn.apache.org/repos/asf/activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfSoapMessageProviderTest.java
[2]https://svn.apache.org/repos/asf/activemq/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/SoapMessageProviderContext.xml
[3]http://cwiki.apache.org/CXF20DOC/jetty-configuration.html
Willem
Micky Santomax wrote:
Hi Willem, thanks for support
I had applied solution mentioned in [1] and now I can create a cxf endpoint
without any method invocation, but there are several problems :
1) When I send a request containing soap message by browser
I get this error :
"INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Invalid Content-Type:application/xml.
Is this an error message instead of a SOAP response?"
2) If I send directly a soap message it goes in invoke method and
doesn't route to other camel components, but in [1] example
comment tells : "request should not come here as camel route
would intercept the call before this is invoked"
3) If I set https on endpointImpl.publish method it isn't published
willem.jiang wrote:
Hi Micky,
You can't start up a CXF endpoint without specifying the SEI (Service
Endpoint Interface),
But I think you can specify the SEI as same as the
SoapMessageProvider[1] which will provides a much low level message
invoking interface, please check out the unit test [2].
[1]
https://svn.apache.org/repos/asf/activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/SoapMessageProvider.java
[2]
https://svn.apache.org/repos/asf/activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfSoapMessageProviderTest.java
Willem
Micky Santomax wrote:
Sorry Willem, can I define a CXF endpoint (without methods and
implementation
class) that only receive soap message, crypted by ws security on https
channel, and routes it to other component ?
The scenario is the follow :
|----------------| |--------------|
|-----------------|
| https channel | | CXF endpoint | |
|
| + | -------> | + | -------> | SEDA
component |
| ws security | | InInterceptor | |
|
|crypted message| | | |
|
|----------------| |--------------|
|-----------------|