|
From: Patrick Y. <kc...@ce...> - 2004-03-20 07:26:18
|
Hi Venkat,
Did the error occur during the first message being sent? Or during the =
second one being sent? Now, the exception is thrown when the MSH client =
tries to submit the message to be sent to the MSH server for sending =
out. Therefore, we suspect it is not due to duplication of message ID. =
Would you please send to us your msh_client.properties.xml, so that we =
can examine your settings? Thanks.
Regards, -Patrick
----- Original Message -----=20
From: Rao Yerubandi=20
To: ebx...@li...=20
Cc: yer...@su...=20
Sent: Friday, March 05, 2004 4:22 AM
Subject: [ebxmlms-develop] Duplicate Elimination not working
All,
to verify duplicate elimination i do the following=20
1] send a message with utility generated message. i
also store the message id.
2] then i try sending a second message with the
messageId generated from step [1]=20
i get the following error=20
12:12:09,888 ERROR [STDERR]
hk.hku.cecid.phoenix.message.handler.RequestException:
Fail to send EbxmlMessage to MessageServiceHandler:
HTTP response code =3D 200
HTTP response message =3D OK
12:12:09,888 ERROR [STDERR] at
=
hk.hku.cecid.phoenix.message.handler.Request.sendMessage(Request.java:159=
5)
12:12:09,888 ERROR [STDERR] at
hk.hku.cecid.phoenix.message.handler.Request.send(Request.java:1100)
12:12:09,898 ERROR [STDERR] at
Ping.runDuplicateElimination1(Ping.java:163)
12:12:09,898 ERROR [STDERR] at
Ping.doPost(Ping.java:54)
12:12:09,898 ERROR [STDERR] at
Ping.doGet(Ping.java:30)
12:12:09,898 ERROR [STDERR] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
12:12:09,898 ERROR [STDERR] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
12:12:09,898 ERROR [STDERR] at
=
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicat=
ionFilterChain.java:247)
12:12:09,898 ERROR [STDERR] at
=
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilte=
rChain.java:193)
12:12:09,898 ERROR [STDERR] at
=
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve=
.java:256)
12:12:09,898 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vokeNext(StandardPipeline.java:643)
12:12:09,898 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:48=
0)
12:12:09,898 ERROR [STDERR] at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
12:12:09,898 ERROR [STDERR] at
=
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve=
.java:191)
12:12:09,898 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vokeNext(StandardPipeline.java:643)
12:12:09,898 ERROR [STDERR] at
=
org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityM=
grRealm.java:220)
12:12:09,898 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vokeNext(StandardPipeline.java:641)
12:12:09,898 ERROR [STDERR] at
=
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.jav=
a:246)
12:12:09,898 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vokeNext(StandardPipeline.java:641)
12:12:09,898 ERROR [STDERR] at
=
org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.invoke(ContainerS=
tatsValve.java:76)
12:12:09,898 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vokeNext(StandardPipeline.java:641)
12:12:09,898 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:48=
0)
12:12:09,908 ERROR [STDERR] at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
12:12:09,908 ERROR [STDERR] at
=
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417=
)
12:12:09,908 ERROR [STDERR] at
=
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:=
180)
12:12:09,908 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vokeNext(StandardPipeline.java:643)
12:12:09,908 ERROR [STDERR] at
=
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVal=
ve.java:171)
12:12:09,908 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vokeNext(StandardPipeline.java:641)
12:12:09,908 ERROR [STDERR] at
=
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:=
172)
12:12:09,908 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vokeNext(StandardPipeline.java:641)
12:12:09,908 ERROR [STDERR] at
=
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAss=
ociationValve.java:65)
12:12:09,908 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vokeNext(StandardPipeline.java:641)
12:12:09,908 ERROR [STDERR] at
=
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)=
12:12:09,908 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vokeNext(StandardPipeline.java:641)
12:12:09,908 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:48=
0)
12:12:09,908 ERROR [STDERR] at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
12:12:09,908 ERROR [STDERR] at
=
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.j=
ava:174)
12:12:09,918 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in=
vokeNext(StandardPipeline.java:643)
12:12:09,918 ERROR [STDERR] at
=
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:48=
0)
12:12:09,918 ERROR [STDERR] at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
12:12:09,918 ERROR [STDERR] at
=
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:197)
12:12:09,918 ERROR [STDERR] at
=
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781=
)
12:12:09,918 ERROR [STDERR] at
=
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processCo=
nnection(Http11Protocol.java:549)
12:12:09,918 ERROR [STDERR] at
=
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605=
)
12:12:09,918 ERROR [STDERR] at
=
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.=
java:677)
12:12:09,918 ERROR [STDERR] at
java.lang.Thread.run(Thread.java:534)
Code Snippets
---------------
private void runDuplicateElimination1()
{
try
{
String cpaID =3D "cpa";
String conversationID =3D "DupElm";
String service =3D
"http://www.supplysolution.com/ebxml20";
String action =3D "DuplicateElimination";=20
String transportType =3D "HTTP";=20
// Sending the same message again to check if the
Duplicate Message Elimination
// is working .=20
// ebMSS [6.1] - Works based on MessageId in
persistent storage=20
Request mshReq1 =3D new Request(new
URL(toMshUrl),pong, transportType);
EbxmlMessage message1 =3D new EbxmlMessage();
MessageHeader header1 =3D
message1.addMessageHeader();
header1.addFromPartyId("fromPartyId", "Sample2");
header1.addToPartyId("toPartyId", "Sample2");
header1.setCpaId(cpaID);
header1.setConversationId(conversationID);
header1.setService(service);
header1.setAction(action);
header1.setTimestamp(Utility.toUTCString(new
Date()));
// turning on duplicate elimination=20
header1.setDuplicateElimination() ;
// using the same messageId generated in the
previous message=20
//header1.setMessageId(Utility.generateMessageId(new
Date(), message1));=20
header1.setMessageId( messageId);
message1.saveChanges();
System.out.println(" Sending a second message with
messageId of " + messageId + " to check " +
"DuplicateElimination with duplicate elimination
turned on ");
message1.writeTo(System.out);
mshReq1.send(message1);
mshReq1.unregister();
}
catch (Exception e)=20
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void runDuplicateElimination()
{
try
{
String cpaID =3D "cpa";
String conversationID =3D "DupElm";
String service =3D
"http://www.supplysolution.com/ebxml20";
String action =3D "DuplicateElimination";=20
String transportType =3D "HTTP";
Request mshReq =3D new Request(new
URL(toMshUrl),pong, transportType);
EbxmlMessage message =3D new EbxmlMessage();
MessageHeader header =3D message.addMessageHeader();
header.addFromPartyId("fromPartyId", "Sample2");
header.addToPartyId("toPartyId", "Sample2");
header.setCpaId(cpaID);
header.setConversationId(conversationID);
header.setService(service);
header.setAction(action);
header.setTimestamp(Utility.toUTCString(new
Date()));
header.setDuplicateElimination();
messageId =3D Utility.generateMessageId(new Date(),
message);
header.setMessageId(messageId);=20
message.saveChanges();
System.out.println(" Sending a message with
messageId of " + messageId + " to check " +
"DuplicateElimination ");
message.writeTo(System.out);
mshReq.send(message);
}
catch (Exception e)=20
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
please let me know if i am missing something.=20
from the spec looks like - duplication elimination has
to be done based on messageid.
-Venkat
__________________________________
Do you Yahoo!?
Yahoo! Search - Find what you're looking for faster
http://search.yahoo.com
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
=
administration.http://ads.osdn.com/?ad_id=3D1470&alloc_id=3D3638&op=3Dcli=
ck
_______________________________________________
ebxmlms-develop mailing list
ebx...@li...
https://lists.sourceforge.net/lists/listinfo/ebxmlms-develop
|