0

NetBeansを使用してWebサービスを作成しています。PBELを使用して複合Webサービスを作成したいのですが、各サービスで例外をスローする際に問題が発生します。スローする例外のスキーマで複合型を定義し、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 .
}

誰か助けてもらえますか?

4

1 に答える 1

2
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();
于 2010-12-30T15:29:04.967 に答える