Как я могу выбросить исключение из веб-сервиса? - PullRequest
0 голосов
/ 30 декабря 2010

Я использую netbeans для создания веб-сервисов, я хочу создать композитный веб-сервис с использованием PBEL, я сталкиваюсь с проблемой при создании исключения в каждом сервисе, я определяю сложный тип в схеме исключения, которое я хочу создать, и делаю этов WSDL тоже, но внутри службы я не знаю, как вывести исключение. Вот пример, над которым я работаю:

@WebService(serviceName = "CreditCardService", portName = "CreditCardPort", endpointInterface = "org.netbeans.j2ee.wsdl.creditcard.CreditCardPortType", targetNamespace = "http://j2ee.netbeans.org/wsdl/CreditCard", wsdlLocation = "WEB-INF/wsdl/NewWebServiceFromWSDL/CreditCard.wsdl")
public class NewWebServiceFromWSDL implements CreditCardPortType {

public org.netbeans.xml.schema.creditcard.CreditCardResponseType isCreditCardValid(org.netbeans.xml.schema.creditcard.CreditCardType creditCardInfoReq) throws IsCreditCardValidFault {

    List<CreditCardType> creditCards = parseCreditCardsFile();
    CreditCardResponseType creditCardResponseElement = new CreditCardResponseType();

    for (CreditCardType aCreditCard : creditCards) {

        if (creditCardInfoReq.getCreditCardNo() == Long.parseLong(String.valueOf(aCreditCard.getCreditCardNo())) {
            creditCardResponseElement.setValid(true);
            return creditCardResponseElement;
        }
    }
    throws  IsCreditCardValidFault();   //here I want to throw an exception .
}

Пожалуйста, кто-нибудь может помочь?

1 Ответ

2 голосов
/ 30 декабря 2010
throws  IsCreditCardValidFault();   //here I want to throw an exception .

необходимо записать как

throw new IsCreditCardValidFault();

throws используется в вашем объявлении метода, где ключевое слово throw используется внутри метода, чтобы указать, куда вы броситеисключение.

в качестве примера

try {
   //do something which generates an exception
}catch(Exception e){
   throw e;
}

, но в вашем случае вы хотите инициировать исключение самостоятельно, поэтому вам нужно создать новый объект этого типа исключения.Вы сами создадите исключение, поэтому нет необходимости заключать его в блок try / catch.

throw new IsCreditCardValidFault();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...