SoapFaultClientException: The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher.

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

SoapFaultClientException: The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher.

atg roxx
Hi Team,

I am trying to pass soap msg to the soap end point and get the result for
this I am using camel spring-ws component.

My Route flow is  like this:

Take a xml file from input queue.

unmarshal and marshall the file (using JaxbDataFormat) to get the xml with
all namespace etc. to send to soap end point.

send this xml using camel spring-ws to soap end point.


My problem is after marshalling the xml which I am getting has all the
namespace etc which the server endpoint expect and if I pass this xml  as
soap body using SOAPUI it works fine and return desired output.

But the same return  SoapFaultClientException when I pass it using camel
sping-ws service to the soap end point.


the error which I am getting is:
-==============
(DssCamelContext) thread #6 - JmsConsumer[com.mondial.request]  INFO
 route4  - Requesting Mondial GetProductPriceOffers with CorrelationID:
DSSCorrelationId452211
 org.springframework.ws.soap.client.SoapFaultClientException: The message
with Action '' cannot be processed at the receiver, due to a ContractFilter
mismatch at the EndpointDispatcher. This may be because of either a
contract mismatch (mismatched Actions between sender and receiver) or a
binding/security mismatch between the sender and the receiver.  Check that
sender and receiver have the same contract and the same binding (including
security requirements, e.g. Message, Transport, None).
 at
org.springframework.ws.soap.client.core.SoapFaultMessageResolver.resolveFault(SoapFaultMessageResolver.java:37)
at
org.springframework.ws.client.core.WebServiceTemplate.handleFault(WebServiceTemplate.java:733)
 at
org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:559)
at
org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:496)
 at
org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:451)
at
org.springframework.ws.client.core.WebServiceTemplate.sendSourceAndReceive(WebServiceTemplate.java:438)
 at org.springframework.ws.cli

===========

Any suggestion why this is happening or what I am missing or how can we
resolve it.

-cheers,
atg roxx.
Reply | Threaded
Open this post in threaded view
|

Re: SoapFaultClientException: The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher.

atg roxx
Hi Team,

I got the solution, So thought to share with all.

If you look at the error msg:

" org.springframework.ws.soap.client.SoapFaultClientException: The message
with Action '' cannot be processed at the receiver"

It says about Action. Since I am new to soap service I did
not realized what does that mean, but it simply means that your remote web
service requires a SOAP action for the service call you are making.

Now where to find out the "Action" for your service call?  This too is
simple you can check your WSDL and you can find the Action corresponding to
your service.

Now add this Action using below syntax in camel route.

The solution for this is that you have to add soapAction

from("direct:example")
.to("spring-ws:http://foo.com/bar?soapAction=http://foo.com&wsAddressingAction=http://bar.com")



That is it.


--cheers,
atg roxx
On Tue, Apr 17, 2012 at 10:21 AM, atg roxx <[hidden email]> wrote:

> Hi Team,
>
> I am trying to pass soap msg to the soap end point and get the result for
> this I am using camel spring-ws component.
>
> My Route flow is  like this:
>
> Take a xml file from input queue.
>
> unmarshal and marshall the file (using JaxbDataFormat) to get the xml with
> all namespace etc. to send to soap end point.
>
> send this xml using camel spring-ws to soap end point.
>
>
> My problem is after marshalling the xml which I am getting has all the
> namespace etc which the server endpoint expect and if I pass this xml  as
> soap body using SOAPUI it works fine and return desired output.
>
> But the same return  SoapFaultClientException when I pass it using camel
> sping-ws service to the soap end point.
>
>
> the error which I am getting is:
> -==============
> (DssCamelContext) thread #6 - JmsConsumer[com.mondial.request]  INFO
>  route4  - Requesting Mondial GetProductPriceOffers with CorrelationID:
> DSSCorrelationId452211
>  org.springframework.ws.soap.client.SoapFaultClientException: The message
> with Action '' cannot be processed at the receiver, due to a ContractFilter
> mismatch at the EndpointDispatcher. This may be because of either a
> contract mismatch (mismatched Actions between sender and receiver) or a
> binding/security mismatch between the sender and the receiver.  Check that
> sender and receiver have the same contract and the same binding (including
> security requirements, e.g. Message, Transport, None).
>  at
> org.springframework.ws.soap.client.core.SoapFaultMessageResolver.resolveFault(SoapFaultMessageResolver.java:37)
> at
> org.springframework.ws.client.core.WebServiceTemplate.handleFault(WebServiceTemplate.java:733)
>  at
> org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:559)
> at
> org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:496)
>  at
> org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:451)
> at
> org.springframework.ws.client.core.WebServiceTemplate.sendSourceAndReceive(WebServiceTemplate.java:438)
>  at org.springframework.ws.cli
>
> ===========
>
> Any suggestion why this is happening or what I am missing or how can we
> resolve it.
>
> -cheers,
> atg roxx.
>
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: SoapFaultClientException: The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher.

Claus Ibsen-2
Hi

Thanks for sharing your solution.

On Tue, Apr 17, 2012 at 1:00 PM, atg roxx <[hidden email]> wrote:

> Hi Team,
>
> I got the solution, So thought to share with all.
>
> If you look at the error msg:
>
> " org.springframework.ws.soap.client.SoapFaultClientException: The message
> with Action '' cannot be processed at the receiver"
>
> It says about Action. Since I am new to soap service I did
> not realized what does that mean, but it simply means that your remote web
> service requires a SOAP action for the service call you are making.
>
> Now where to find out the "Action" for your service call?  This too is
> simple you can check your WSDL and you can find the Action corresponding to
> your service.
>
> Now add this Action using below syntax in camel route.
>
> The solution for this is that you have to add soapAction
>
> from("direct:example")
> .to("spring-ws:http://foo.com/bar?soapAction=http://foo.com&wsAddressingAction=http://bar.com")
>
>
>
> That is it.
>
>
> --cheers,
> atg roxx
> On Tue, Apr 17, 2012 at 10:21 AM, atg roxx <[hidden email]> wrote:
>
>> Hi Team,
>>
>> I am trying to pass soap msg to the soap end point and get the result for
>> this I am using camel spring-ws component.
>>
>> My Route flow is  like this:
>>
>> Take a xml file from input queue.
>>
>> unmarshal and marshall the file (using JaxbDataFormat) to get the xml with
>> all namespace etc. to send to soap end point.
>>
>> send this xml using camel spring-ws to soap end point.
>>
>>
>> My problem is after marshalling the xml which I am getting has all the
>> namespace etc which the server endpoint expect and if I pass this xml  as
>> soap body using SOAPUI it works fine and return desired output.
>>
>> But the same return  SoapFaultClientException when I pass it using camel
>> sping-ws service to the soap end point.
>>
>>
>> the error which I am getting is:
>> -==============
>> (DssCamelContext) thread #6 - JmsConsumer[com.mondial.request]  INFO
>>  route4  - Requesting Mondial GetProductPriceOffers with CorrelationID:
>> DSSCorrelationId452211
>>  org.springframework.ws.soap.client.SoapFaultClientException: The message
>> with Action '' cannot be processed at the receiver, due to a ContractFilter
>> mismatch at the EndpointDispatcher. This may be because of either a
>> contract mismatch (mismatched Actions between sender and receiver) or a
>> binding/security mismatch between the sender and the receiver.  Check that
>> sender and receiver have the same contract and the same binding (including
>> security requirements, e.g. Message, Transport, None).
>>  at
>> org.springframework.ws.soap.client.core.SoapFaultMessageResolver.resolveFault(SoapFaultMessageResolver.java:37)
>> at
>> org.springframework.ws.client.core.WebServiceTemplate.handleFault(WebServiceTemplate.java:733)
>>  at
>> org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:559)
>> at
>> org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:496)
>>  at
>> org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:451)
>> at
>> org.springframework.ws.client.core.WebServiceTemplate.sendSourceAndReceive(WebServiceTemplate.java:438)
>>  at org.springframework.ws.cli
>>
>> ===========
>>
>> Any suggestion why this is happening or what I am missing or how can we
>> resolve it.
>>
>> -cheers,
>> atg roxx.
>>
>>
>>
>>



--
Claus Ibsen
-----------------
CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com
FuseSource
Email: [hidden email]
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/