I am integrating with the jXchange API and attempting to call the EFTCardAdd endpoint to create an EFT card for a consumer. However, I receive the following SOAP fault response:
<s:Envelope xmlns:s="/" xmlns:u=".0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o=".0.xsd">
<u:Timestamp u:Id="_0">
<u:Created>2025-03-10T11:40:17.545Z</u:Created>
<u:Expires>2025-03-10T11:45:17.545Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body>
<s:Fault>
<faultcode xmlns:a=".0.xsd">a:FailedAuthentication</faultcode>
<faultstring xml:lang="en-US">Access is denied.</faultstring>
</s:Fault>
</s:Body>
</s:Envelope>
The issue is that other endpoints, such as EFTCardInq and EFTCardMod, execute successfully using the same username, password, and other request details. This suggests that authentication credentials are correct and that the problem is specific to the EFTCardAdd endpoint.
Does EFTCardAdd require special permissions to allow user accounts to create EFT cards?
Below is the request body I am using:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="/"
xmlns:xsd=";
xmlns:xsi=";>
<SOAP-ENV:Header>
<wsse:Security
xmlns:wsse=".0.xsd"
xmlns:wsu=".0.xsd">
<wsse:UsernameToken
xmlns:wsse=".0.xsd">
<wsse:Username>{{X-UserName}}</wsse:Username>
<wsse:Password
Type=".0#PasswordText">{{X-Password}}</wsse:Password>
<wsu:Created
xmlns:wsu=".0.xsd">2023-09-21T18:39:56Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<EFTCardAddValidate xmlns=";>
<EFTCardAdd>
<MsgRqHdr>
<jXchangeHdr>
<JxVer/>
<AuditUsrId>{{X-AuditUser}}</AuditUsrId>
<AuditWsId>{{X-AuditWorkStation}}</AuditWsId>
<AuthenUsrId/>
<ConsumerName/>
<ConsumerProd/>
<Ver_1/>
<jXLogTrackingId>{{$guid}}</jXLogTrackingId>
<Ver_2/>
<InstRtId>{{X-InstitutionRoutingID}}</InstRtId>
<InstEnv>{{X-Environment}}</InstEnv>
<Ver_3/>
<BusCorrelId>{{$guid}}</BusCorrelId>
<Ver_4/>
<WorkflowCorrelId/>
<Ver_5/>
<ValidConsmName>{{X-ValidConsumerName}}</ValidConsmName>
<ValidConsmProd>{{X-ValidConsumerProduct}}</ValidConsmProd>
<Ver_6/>
</jXchangeHdr>
<Ver_1/>
<Ver_2/>
<Ver_3/>
</MsgRqHdr>
<ErrOvrRdInfoArray>
<ErrOvrRd>
<ErrCode/>
<Ver_1/>
</ErrOvrRd>
<ErrOvrRd>
<ErrCode/>
<Ver_1/>
</ErrOvrRd>
</ErrOvrRdInfoArray>
<CustId JHANull="" Rstr="">AGA2615</CustId>
<EFTCardType JHANull="" Rstr="">Debit</EFTCardType>
<EFTCardAddInfoArray>
<EFTCardAddInfoRec>
<EmbosName JHANull="" Rstr="">Michal</EmbosName>
<SecdEmbosName JHANull="" Rstr=""/>
<Ver_1/>
</EFTCardAddInfoRec>
<EFTCardAddInfoRec>
<EmbosName JHANull="" Rstr=""/>
<SecdEmbosName JHANull="" Rstr=""/>
<Ver_1/>
</EFTCardAddInfoRec>
</EFTCardAddInfoArray>
<EFTCardAcctIdArray>
<EFTCardAcctIdInfo>
<EFTCardAcctId JHANull="" Rstr="">42412</EFTCardAcctId>
<EFTCardAcctType JHANull="" Rstr="">D</EFTCardAcctType>
<EFTCardPrimAcct JHANull="" Rstr="">true</EFTCardPrimAcct>
<Dlt/>
<Ver_1/>
<AliasAcctName JHANull="" Rstr=""/>
<Ver_2/>
</EFTCardAcctIdInfo>
</EFTCardAcctIdArray>
<Custom/>
<Ver_1/>
<EFTCardProdCode JHANull="" Rstr=""></EFTCardProdCode>
<Ver_2/>
</EFTCardAdd>
<Custom/>
<Ver_1/>
</EFTCardAddValidate>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
I am integrating with the jXchange API and attempting to call the EFTCardAdd endpoint to create an EFT card for a consumer. However, I receive the following SOAP fault response:
<s:Envelope xmlns:s="http://schemas.xmlsoap./soap/envelope/" xmlns:u="http://docs.oasis-open./wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open./wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="_0">
<u:Created>2025-03-10T11:40:17.545Z</u:Created>
<u:Expires>2025-03-10T11:45:17.545Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body>
<s:Fault>
<faultcode xmlns:a="http://docs.oasis-open./wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">a:FailedAuthentication</faultcode>
<faultstring xml:lang="en-US">Access is denied.</faultstring>
</s:Fault>
</s:Body>
</s:Envelope>
The issue is that other endpoints, such as EFTCardInq and EFTCardMod, execute successfully using the same username, password, and other request details. This suggests that authentication credentials are correct and that the problem is specific to the EFTCardAdd endpoint.
Does EFTCardAdd require special permissions to allow user accounts to create EFT cards?
Below is the request body I am using:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap./soap/envelope/"
xmlns:xsd="http://www.w3./2001/XMLSchema"
xmlns:xsi="http://www.w3./2001/XMLSchema-instance">
<SOAP-ENV:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open./wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open./wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken
xmlns:wsse="http://docs.oasis-open./wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:Username>{{X-UserName}}</wsse:Username>
<wsse:Password
Type="http://docs.oasis-open./wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{{X-Password}}</wsse:Password>
<wsu:Created
xmlns:wsu="http://docs.oasis-open./wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2023-09-21T18:39:56Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<EFTCardAddValidate xmlns="http://jackhenry/jxchange/TPG/2008">
<EFTCardAdd>
<MsgRqHdr>
<jXchangeHdr>
<JxVer/>
<AuditUsrId>{{X-AuditUser}}</AuditUsrId>
<AuditWsId>{{X-AuditWorkStation}}</AuditWsId>
<AuthenUsrId/>
<ConsumerName/>
<ConsumerProd/>
<Ver_1/>
<jXLogTrackingId>{{$guid}}</jXLogTrackingId>
<Ver_2/>
<InstRtId>{{X-InstitutionRoutingID}}</InstRtId>
<InstEnv>{{X-Environment}}</InstEnv>
<Ver_3/>
<BusCorrelId>{{$guid}}</BusCorrelId>
<Ver_4/>
<WorkflowCorrelId/>
<Ver_5/>
<ValidConsmName>{{X-ValidConsumerName}}</ValidConsmName>
<ValidConsmProd>{{X-ValidConsumerProduct}}</ValidConsmProd>
<Ver_6/>
</jXchangeHdr>
<Ver_1/>
<Ver_2/>
<Ver_3/>
</MsgRqHdr>
<ErrOvrRdInfoArray>
<ErrOvrRd>
<ErrCode/>
<Ver_1/>
</ErrOvrRd>
<ErrOvrRd>
<ErrCode/>
<Ver_1/>
</ErrOvrRd>
</ErrOvrRdInfoArray>
<CustId JHANull="" Rstr="">AGA2615</CustId>
<EFTCardType JHANull="" Rstr="">Debit</EFTCardType>
<EFTCardAddInfoArray>
<EFTCardAddInfoRec>
<EmbosName JHANull="" Rstr="">Michal</EmbosName>
<SecdEmbosName JHANull="" Rstr=""/>
<Ver_1/>
</EFTCardAddInfoRec>
<EFTCardAddInfoRec>
<EmbosName JHANull="" Rstr=""/>
<SecdEmbosName JHANull="" Rstr=""/>
<Ver_1/>
</EFTCardAddInfoRec>
</EFTCardAddInfoArray>
<EFTCardAcctIdArray>
<EFTCardAcctIdInfo>
<EFTCardAcctId JHANull="" Rstr="">42412</EFTCardAcctId>
<EFTCardAcctType JHANull="" Rstr="">D</EFTCardAcctType>
<EFTCardPrimAcct JHANull="" Rstr="">true</EFTCardPrimAcct>
<Dlt/>
<Ver_1/>
<AliasAcctName JHANull="" Rstr=""/>
<Ver_2/>
</EFTCardAcctIdInfo>
</EFTCardAcctIdArray>
<Custom/>
<Ver_1/>
<EFTCardProdCode JHANull="" Rstr=""></EFTCardProdCode>
<Ver_2/>
</EFTCardAdd>
<Custom/>
<Ver_1/>
</EFTCardAddValidate>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Share
Improve this question
asked Mar 10 at 13:10
Michal AmbrozyMichal Ambrozy
111 bronze badge
1 Answer
Reset to default 1This error can be due to not passing in the SOAP Action, or could be due to incorrect ValidConsmName/ValidConsmProd/InstRtId/InstEnv grouping. Please make sure you are following the values provided by Jack Henry and that you are following the guidance found here https://jackhenry.dev/open-enterprise-api-docs/enterprise-soap-api/getting-started/development/development-using-soap/#jxchange-header.