0
votes

I have a WSDL that was originally designed for JAX-RPC use. When I generate the client classes in JAX-RPC the exception it throws are correct and as per specifications. But when I use the same wsdl and generate the JAX-WS classes the exception class are very different. Now at this time when I call the service from JAX-WS I am not able to catch the correct exceptions.

Has some one faced a similar issue? JAX-WS Class

public PaymentReference create(
    @WebParam(name = "cardCreateInfo", targetNamespace = "http://schema.XXX.com/2009/11/member/paymentInformation")
    CardCreateInfo cardCreateInfo)
    throws IfFaultMsg, IfSvcFaultMsg, InvalidCardHolderNameFaultMsg, InvalidExpirationDayFaultMsg, InvalidExpirationMonthFaultMsg, InvalidExpirationYearFaultMsg, InvalidPrimaryAccountNumberFaultMsg, InvalidTargetNameSpaceFaultMsg, PaymentInformationFaultMsg, PotentialDuplicateFoundFaultMsg, UnauthorizedApplicationFaultMsg
;

JAX-RPC Class

public com.XXX.YYY.ZZZ.spiborIntegration.models.paymentInformation.PaymentReference create(com.XXX.YYY.ZZZ.spiborIntegration.models.paymentInformation.CardCreateInfo cardCreateInfo) throws java.rmi.RemoteException, com.XXX.YYY.ZZZ.spiborIntegration.models.paymentInformation.InvalidCardHolderNameException, com.XXX.YYY.ZZZ.spiborIntegration.models.exception.IFException, com.XXX.YYY.ZZZ.spiborIntegration.models.paymentInformation.UnauthorizedApplicationException, com.XXX.YYY.ZZZ.spiborIntegration.models.paymentInformation.InvalidPrimaryAccountNumberException, com.XXX.YYY.ZZZ.spiborIntegration.models.paymentInformation.InvalidExpirationMonthException, com.XXX.YYY.ZZZ.spiborIntegration.models.paymentInformation.InvalidExpirationDayException, com.XXX.YYY.ZZZ.spiborIntegration.models.paymentInformation.PaymentInformationException, com.XXX.YYY.ZZZ.spiborIntegration.models.paymentInformation.PotentialDuplicateFoundException, com.XXX.YYY.ZZZ.spiborIntegration.models.paymentInformation.InvalidExpirationYearException, com.XXX.YYY.ZZZ.spiborIntegration.models.paymentInformation.InvalidTargetNameSpaceException, com.XXX.YYY.ZZZ.spiborIntegration.models.exception.IFSvcException;

Is there a way to make sure the JAX-WS follows the pattern from JAX-RPC? Or if there is a way to catch the exception thrown as per JAX-RPC in the JAX-WS client classes.

1

1 Answers

0
votes

You can use an external binding file as described in WSDL Customization to customise the mapping of WSDL faults to exception names.

This is described explicitly in The Exception Class.