You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by manish_goyal <ma...@infosys.com> on 2009/01/13 05:29:23 UTC

namespace problem while using eip-router

Hi, 

I am using content based routing. I am checking for element and based on
that i am routing some part of message to different queue.

the error i m getting is :-

  error: org.apache.cxf.binding.soap.SoapFault:
"http://www.cvs.com/eph/messages
/1_0", the namespace on the "OngoingMaintenance" element, is not a valid
SOAP version.]
org.springframework.jms.listener.adapter.ListenerExecutionFailedException:
Exchange processing failed; nested exception is
org.apache.cxf.binding.soap.SoapFault
: "http://www.cvs.com/eph/messages/1_0", the namespace on the
"OngoingMaintenance" element, is not a valid SOAP version.
Caused by:
org.apache.cxf.binding.soap.SoapFault:
"http://www.cvs.com/eph/messages/1_0", the namespace on the
"OngoingMaintenance" element, is not a valid SOAP version.
        at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handle
Message(ReadHeadersInterceptor.java:92)
        at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handle
Message(ReadHeadersInterceptor.java:54)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercept
orChain.java:221)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainIniti
ationObserver.java:77)
        at
org.apache.cxf.transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcher
Util.java:156)
        at
org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:
232)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
feCycle.java:540)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
BaseLifeCycle.java:492)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
Cycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:610)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:172)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:167)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:650)


The namespace with incoming message is ns2. I am also defining the same
namespace context in eip-router xbean file. But still it is giving the
namespace error.

http://www.nabble.com/file/p21429332/xbean.xml xbean.xml 
http://www.nabble.com/file/p21429332/xbean.xml xbean.xml 

I have attached the xbean of eip-router and SU.

Please give some pointer to solve this problem.

Thanks,

Manish
-- 
View this message in context: http://www.nabble.com/namespace-problem-while-using-eip-router-tp21429332p21429332.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: namespace problem while using eip-router

Posted by Freeman Fang <fr...@gmail.com>.
How is your workflow looks like? Where is your cxf se?
Could you post the message send to your cxf Se?
Currently Cxf se can handle three type messages:
1. jbi message
2. soap message
3. soap message without soap envelop
Is your message send to cxf se meet the requirement?
Freeman


manish_goyal wrote:
> Hi Freeman,
>
> Thanks for your reply.
>
> This in incoming message:-
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header/>
> <SOAP-ENV:Body>
> <ns2:EPHServiceException xmlns:ns2="http://www.abc.com/eph/messages/1_0"
> xmlns:ns3="http://www.abc.com/eph/entities/1_0">
> <ns2:ComponentName>OngoingMaintService</ns2:ComponentName>
> <ns2:RequestID>0001554743-001554743-0000012527</ns2:RequestID>
> <ns2:MsgTimestamp>2009-01-13T10:28:47.533+05:30</ns2:MsgTimestamp>
> <ns2:Severity>Retry</ns2:Severity>
> <ns2:Code1>5004</ns2:Code1>
> <ns2:Code2>5140</ns2:Code2>
> <ns2:StackTrace>com.abc.eph.initiate.InitiateExecuteDAO.persKeySea
> rch(InitiateExecuteDAO.java:602)com.abc.eph.initiate.InitiateExecuteDAO.ephSearc
> h(InitiateExecuteDAO.java:174)com.abc.eph.ongoingmaint.OngoingMaintServiceImpl.a
> ddCustomer(OngoingMaintServiceImpl.java:228)com.abc.eph.ongoingmaint.OngoingMain
> tServ</ns2:StackTrace>
> <ns2:UserName>USER2</ns2:UserName>
> <ns2:MessageDesc>Error while performing style record</ns2:MessageDesc>
> <ns2:InputRequest>A|1|2008-12-18T02:58:24.000+05:30|null|null|null</ns2:InputRequest>
> 	<ns2:OngoingMaintenance>
>
> <ns2:MaintenanceRequestID>0001554743-0001554743-0000012527</ns2:MaintenanceRequestID>
> 	<ns2:ApplicationID>QL</ns2:ApplicationID>
> 	<ns2:ActionCode>A</ns2:ActionCode>
> 	<ns2:HealthCareCustomer>
> 		<ns3:SSK>
> 			<ns3:SrcQlfr Qualifier="QL">
> 			<ns3:SrcKey KeyName="ID">
> 			<ns3:KeyValue>0001554743</ns3:KeyValue>
> 			</ns3:SrcKey>
> 			<ns3:SrcKey KeyName="ID">
> 			<ns3:KeyValue>0001554743</ns3:KeyValue>
> 			</ns3:SrcKey>
> 			<ns3:SrcKey KeyName="ID">
> 			<ns3:KeyValue>0000012527</ns3:KeyValue>
> 			</ns3:SrcKey>
> 			</ns3:SrcQlfr>
> 		</ns3:SSK>
> 		<ns3:HCC>
> 		<ns3:FirstName>C</ns3:FirstName>
> 		<ns3:MiddleName>L</ns3:MiddleName>
> 		<ns3:LastName>e</ns3:LastName>
> 		<ns3:BirthDate></ns3:BirthDate>
> 		<ns3:Gender>M</ns3:Gender>
> 		<ns3:PetInd>U</ns3:PetInd>
> 		<ns3:MultBirthInd>U</ns3:MultBirthInd>
> 		<ns3:Email></ns3:Email>
> 	
> <ns3:HCCLastUpdatedTime>2008-12-18T02:58:24.000+05:30</ns3:HCCLastUpdateTime>
> 		</ns3:HCC>
> 	</ns2:HealthCareCustomer>
> </ns2:OngoingMaintenance>
> </ns2:EPHServiceException>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> from that message i want to route following part to different queue:-
> 	<ns2:OngoingMaintenance>
>
> <ns2:MaintenanceRequestID>0001554743-0001554743-0000012527</ns2:MaintenanceRequestID>
> 	<ns2:ApplicationID>QL</ns2:ApplicationID>
> 	<ns2:ActionCode>A</ns2:ActionCode>
> 	<ns2:HealthCareCustomer>
> 		<ns3:SSK>
> 			<ns3:SrcQlfr Qualifier="QL">
> 			<ns3:SrcKey KeyName="ID">
> 			<ns3:KeyValue>0001554743</ns3:KeyValue>
> 			</ns3:SrcKey>
> 			<ns3:SrcKey KeyName="ID">
> 			<ns3:KeyValue>0001554743</ns3:KeyValue>
> 			</ns3:SrcKey>
> 			<ns3:SrcKey KeyName="ID">
> 			<ns3:KeyValue>0000012527</ns3:KeyValue>
> 			</ns3:SrcKey>
> 			</ns3:SrcQlfr>
> 		</ns3:SSK>
> 		<ns3:HCC>
> 		<ns3:FirstName>C</ns3:FirstName>
> 		<ns3:MiddleName>L</ns3:MiddleName>
> 		<ns3:LastName>e</ns3:LastName>
> 		<ns3:BirthDate></ns3:BirthDate>
> 		<ns3:Gender>M</ns3:Gender>
> 		<ns3:PetInd>U</ns3:PetInd>
> 		<ns3:MultBirthInd>U</ns3:MultBirthInd>
> 		<ns3:Email></ns3:Email>
> 	
> <ns3:HCCLastUpdatedTime>2008-12-18T02:58:24.000+05:30</ns3:HCCLastUpdateTime>
> 		</ns3:HCC>
> 	</ns2:HealthCareCustomer>
> </ns2:OngoingMaintenance>
>
>
>
> Thanks,
> Manish
>   


Re: namespace problem while using eip-router

Posted by manish_goyal <ma...@infosys.com>.
Hi Freeman,

Thanks for your reply.

This in incoming message:-
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns2:EPHServiceException xmlns:ns2="http://www.abc.com/eph/messages/1_0"
xmlns:ns3="http://www.abc.com/eph/entities/1_0">
<ns2:ComponentName>OngoingMaintService</ns2:ComponentName>
<ns2:RequestID>0001554743-001554743-0000012527</ns2:RequestID>
<ns2:MsgTimestamp>2009-01-13T10:28:47.533+05:30</ns2:MsgTimestamp>
<ns2:Severity>Retry</ns2:Severity>
<ns2:Code1>5004</ns2:Code1>
<ns2:Code2>5140</ns2:Code2>
<ns2:StackTrace>com.abc.eph.initiate.InitiateExecuteDAO.persKeySea
rch(InitiateExecuteDAO.java:602)com.abc.eph.initiate.InitiateExecuteDAO.ephSearc
h(InitiateExecuteDAO.java:174)com.abc.eph.ongoingmaint.OngoingMaintServiceImpl.a
ddCustomer(OngoingMaintServiceImpl.java:228)com.abc.eph.ongoingmaint.OngoingMain
tServ</ns2:StackTrace>
<ns2:UserName>USER2</ns2:UserName>
<ns2:MessageDesc>Error while performing style record</ns2:MessageDesc>
<ns2:InputRequest>A|1|2008-12-18T02:58:24.000+05:30|null|null|null</ns2:InputRequest>
	<ns2:OngoingMaintenance>

<ns2:MaintenanceRequestID>0001554743-0001554743-0000012527</ns2:MaintenanceRequestID>
	<ns2:ApplicationID>QL</ns2:ApplicationID>
	<ns2:ActionCode>A</ns2:ActionCode>
	<ns2:HealthCareCustomer>
		<ns3:SSK>
			<ns3:SrcQlfr Qualifier="QL">
			<ns3:SrcKey KeyName="ID">
			<ns3:KeyValue>0001554743</ns3:KeyValue>
			</ns3:SrcKey>
			<ns3:SrcKey KeyName="ID">
			<ns3:KeyValue>0001554743</ns3:KeyValue>
			</ns3:SrcKey>
			<ns3:SrcKey KeyName="ID">
			<ns3:KeyValue>0000012527</ns3:KeyValue>
			</ns3:SrcKey>
			</ns3:SrcQlfr>
		</ns3:SSK>
		<ns3:HCC>
		<ns3:FirstName>C</ns3:FirstName>
		<ns3:MiddleName>L</ns3:MiddleName>
		<ns3:LastName>e</ns3:LastName>
		<ns3:BirthDate></ns3:BirthDate>
		<ns3:Gender>M</ns3:Gender>
		<ns3:PetInd>U</ns3:PetInd>
		<ns3:MultBirthInd>U</ns3:MultBirthInd>
		<ns3:Email></ns3:Email>
	
<ns3:HCCLastUpdatedTime>2008-12-18T02:58:24.000+05:30</ns3:HCCLastUpdateTime>
		</ns3:HCC>
	</ns2:HealthCareCustomer>
</ns2:OngoingMaintenance>
</ns2:EPHServiceException>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

from that message i want to route following part to different queue:-
	<ns2:OngoingMaintenance>

<ns2:MaintenanceRequestID>0001554743-0001554743-0000012527</ns2:MaintenanceRequestID>
	<ns2:ApplicationID>QL</ns2:ApplicationID>
	<ns2:ActionCode>A</ns2:ActionCode>
	<ns2:HealthCareCustomer>
		<ns3:SSK>
			<ns3:SrcQlfr Qualifier="QL">
			<ns3:SrcKey KeyName="ID">
			<ns3:KeyValue>0001554743</ns3:KeyValue>
			</ns3:SrcKey>
			<ns3:SrcKey KeyName="ID">
			<ns3:KeyValue>0001554743</ns3:KeyValue>
			</ns3:SrcKey>
			<ns3:SrcKey KeyName="ID">
			<ns3:KeyValue>0000012527</ns3:KeyValue>
			</ns3:SrcKey>
			</ns3:SrcQlfr>
		</ns3:SSK>
		<ns3:HCC>
		<ns3:FirstName>C</ns3:FirstName>
		<ns3:MiddleName>L</ns3:MiddleName>
		<ns3:LastName>e</ns3:LastName>
		<ns3:BirthDate></ns3:BirthDate>
		<ns3:Gender>M</ns3:Gender>
		<ns3:PetInd>U</ns3:PetInd>
		<ns3:MultBirthInd>U</ns3:MultBirthInd>
		<ns3:Email></ns3:Email>
	
<ns3:HCCLastUpdatedTime>2008-12-18T02:58:24.000+05:30</ns3:HCCLastUpdateTime>
		</ns3:HCC>
	</ns2:HealthCareCustomer>
</ns2:OngoingMaintenance>



Thanks,
Manish
-- 
View this message in context: http://www.nabble.com/namespace-problem-while-using-eip-router-tp21429332p21429639.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: namespace problem while using eip-router

Posted by Freeman Fang <fr...@gmail.com>.
Could you turn on the log so that you can see the message content sent 
to cxf se.
You need post the message sent to se so I can tell if it's an valid 
message format for the cxf se.
Freeman

manish_goyal wrote:
> Hi, 
>
> I am using content based routing. I am checking for element and based on
> that i am routing some part of message to different queue.
>
> the error i m getting is :-
>
>   error: org.apache.cxf.binding.soap.SoapFault:
> "http://www.cvs.com/eph/messages
> /1_0", the namespace on the "OngoingMaintenance" element, is not a valid
> SOAP version.]
> org.springframework.jms.listener.adapter.ListenerExecutionFailedException:
> Exchange processing failed; nested exception is
> org.apache.cxf.binding.soap.SoapFault
> : "http://www.cvs.com/eph/messages/1_0", the namespace on the
> "OngoingMaintenance" element, is not a valid SOAP version.
> Caused by:
> org.apache.cxf.binding.soap.SoapFault:
> "http://www.cvs.com/eph/messages/1_0", the namespace on the
> "OngoingMaintenance" element, is not a valid SOAP version.
>         at
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handle
> Message(ReadHeadersInterceptor.java:92)
>         at
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handle
> Message(ReadHeadersInterceptor.java:54)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercept
> orChain.java:221)
>         at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainIniti
> ationObserver.java:77)
>         at
> org.apache.cxf.transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcher
> Util.java:156)
>         at
> org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:
> 232)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
> feCycle.java:540)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
> BaseLifeCycle.java:492)
>         at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
> Cycle.java:46)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
> d(DeliveryChannelImpl.java:610)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
> w.java:172)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
> ava:167)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
> a:134)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
> utor.java:650)
>
>
> The namespace with incoming message is ns2. I am also defining the same
> namespace context in eip-router xbean file. But still it is giving the
> namespace error.
>
> http://www.nabble.com/file/p21429332/xbean.xml xbean.xml 
> http://www.nabble.com/file/p21429332/xbean.xml xbean.xml 
>
> I have attached the xbean of eip-router and SU.
>
> Please give some pointer to solve this problem.
>
> Thanks,
>
> Manish
>