A
Ami
We have an application where in SOAP is used as a middle layer to
communication between Java Front layer and DCE( Distributed Computing
Env) backend layer.
We are using Systinet Server for C++ to deploy our SOAP code and we
make DCE RPC call through our SOAP code in C++ to connect and SEND and
Retrieve Data from DCE.
Now we have to incorporate exception handling in such a way , if DCE
is down, then while making a DCERPC call SOAP Server should not dump
core.
IN our SIT testing , our SOAP Server is dumping while making a DCERPC
call.
Example for PRSJCalcDefAmt ( SOAP Mehtod ) which is making a DCE
call , from SOAP logs
Entering casclifService:RSJCalcDefAmt method ...
16607 22/10/2007 6:27:0>>DCE Server is Running Fine for /.:/users/
trimsprd/dceOnlyERSMonEventServer
16608 22/10/2007 6:27:0>> Before the ESLogEvent Call ...
16609 22/10/2007 6:27:0>> After the ESLogEvent Call ...
16610 22/10/2007 6:27:0>>SECURE KEY Validation Successful
16611 22/10/2007 6:27:0>>Boff code from DCE.cpp = 0x40ff4dd3
16612 22/10/2007 6:27:0>>DCE Server is Running Fine for /.:/users/
trimsprd/dceOnlyFECSSrvr
16613 22/10/2007 6:27:0>>Before Calling the DCE Method
PRSJCalcDefAmt ...
16614 Unhandled exception; exiting!
16615 Exception kind is status,value is 382312502. Thread 9 .
16616 ^[[H^[[2JTRIMSSecret.ini File is successfully opened
382312502 corresponds to rpc_s_connection_closed error.
We do not have yet any mechnism to catch such exception .
The SOAP code which causes the core dump is as below
long tResult = PR_SJCalcDefAmt( hndlr,
(long)p_nbr_PartSyndCda,
p_str_part_synd_cda,
p_str_lc_details,
(long)p_nbr_Guarantors,
p_str_guarantors,
&p_str_guarantors_listOut,
&p_str_ErrorMsg,
(unsigned char *)p_txt_ApplErrorMsg,
(unsigned char *)user_id,
&p_cod_Error);
we tried the following
try
{
tResult = PR_SJCalcDefAmt(hndlr,
(long)p_nbr_PartSyndCda,
p_str_part_synd_cda,
p_str_lc_details,
(long)p_nbr_Guarantors,
p_str_guarantors,
&p_str_guarantors_listOut,
&p_str_ErrorMsg,
(unsigned char *)p_txt_ApplErrorMsg,
(unsigned char *)user_id,
&p_cod_Error);
}
catch(...)
{
PRINT("Un Handled Exception Occured");
TrimsCustomException * exc = new TrimsCustomException();
exc->msgId="SSCDCEEXP003";
exc->msgText="Unhandled Exception";
arm_stop(cas_start_handle,ARM_ABORT, 0, 0, 0);
free(p_str_part_synd_cda);
free(p_str_lc_details);
free(p_str_guarantors);
free(p_str_guarantors_listOut);
free(user_id);
throw exc;
}
The exception call is defined as below
// Exception Class Definition
public class TRIMSSOAPException extends javax.xml.soap.SOAPException
{
public String msgID;
public String msgText;
public TRIMSSOAPException ()
{
super("SOAP CUSTOM EXCEPTION");
}
public TRIMSSOAPException (String ID, String Text)
{
msgID=ID;
msgText=Text;
super("SOAP CUSTOM EXCEPTION");
}
public String getMsgID()
{
return msgID;
}
public String getMsgText()
{
return msgText;
}
}
the SOAP server will raise TRIMSSOAPException and populate msgID and
msgText appropriately which will be caught by Java client and further
action would be decided based on the msgID values and msgText may be
used to display error message to application user.
Still SOAP core is dumping in spite of adding above exception.
Please let me know other way of handling exception
Thanks
communication between Java Front layer and DCE( Distributed Computing
Env) backend layer.
We are using Systinet Server for C++ to deploy our SOAP code and we
make DCE RPC call through our SOAP code in C++ to connect and SEND and
Retrieve Data from DCE.
Now we have to incorporate exception handling in such a way , if DCE
is down, then while making a DCERPC call SOAP Server should not dump
core.
IN our SIT testing , our SOAP Server is dumping while making a DCERPC
call.
Example for PRSJCalcDefAmt ( SOAP Mehtod ) which is making a DCE
call , from SOAP logs
Entering casclifService:RSJCalcDefAmt method ...
16607 22/10/2007 6:27:0>>DCE Server is Running Fine for /.:/users/
trimsprd/dceOnlyERSMonEventServer
16608 22/10/2007 6:27:0>> Before the ESLogEvent Call ...
16609 22/10/2007 6:27:0>> After the ESLogEvent Call ...
16610 22/10/2007 6:27:0>>SECURE KEY Validation Successful
16611 22/10/2007 6:27:0>>Boff code from DCE.cpp = 0x40ff4dd3
16612 22/10/2007 6:27:0>>DCE Server is Running Fine for /.:/users/
trimsprd/dceOnlyFECSSrvr
16613 22/10/2007 6:27:0>>Before Calling the DCE Method
PRSJCalcDefAmt ...
16614 Unhandled exception; exiting!
16615 Exception kind is status,value is 382312502. Thread 9 .
16616 ^[[H^[[2JTRIMSSecret.ini File is successfully opened
382312502 corresponds to rpc_s_connection_closed error.
We do not have yet any mechnism to catch such exception .
The SOAP code which causes the core dump is as below
long tResult = PR_SJCalcDefAmt( hndlr,
(long)p_nbr_PartSyndCda,
p_str_part_synd_cda,
p_str_lc_details,
(long)p_nbr_Guarantors,
p_str_guarantors,
&p_str_guarantors_listOut,
&p_str_ErrorMsg,
(unsigned char *)p_txt_ApplErrorMsg,
(unsigned char *)user_id,
&p_cod_Error);
we tried the following
try
{
tResult = PR_SJCalcDefAmt(hndlr,
(long)p_nbr_PartSyndCda,
p_str_part_synd_cda,
p_str_lc_details,
(long)p_nbr_Guarantors,
p_str_guarantors,
&p_str_guarantors_listOut,
&p_str_ErrorMsg,
(unsigned char *)p_txt_ApplErrorMsg,
(unsigned char *)user_id,
&p_cod_Error);
}
catch(...)
{
PRINT("Un Handled Exception Occured");
TrimsCustomException * exc = new TrimsCustomException();
exc->msgId="SSCDCEEXP003";
exc->msgText="Unhandled Exception";
arm_stop(cas_start_handle,ARM_ABORT, 0, 0, 0);
free(p_str_part_synd_cda);
free(p_str_lc_details);
free(p_str_guarantors);
free(p_str_guarantors_listOut);
free(user_id);
throw exc;
}
The exception call is defined as below
// Exception Class Definition
public class TRIMSSOAPException extends javax.xml.soap.SOAPException
{
public String msgID;
public String msgText;
public TRIMSSOAPException ()
{
super("SOAP CUSTOM EXCEPTION");
}
public TRIMSSOAPException (String ID, String Text)
{
msgID=ID;
msgText=Text;
super("SOAP CUSTOM EXCEPTION");
}
public String getMsgID()
{
return msgID;
}
public String getMsgText()
{
return msgText;
}
}
the SOAP server will raise TRIMSSOAPException and populate msgID and
msgText appropriately which will be caught by Java client and further
action would be decided based on the msgID values and msgText may be
used to display error message to application user.
Still SOAP core is dumping in spite of adding above exception.
Please let me know other way of handling exception
Thanks