1

VS2005 VB.Net アプリケーションで、無料の Web サービスを使用して古いベルギーの口座番号を Iban に変換しています: http://www.ebcs.be/iban/IBANBIC.asmx

奇妙なことに、このサービスは空の文字列を返す場合もあれば、適切な文字列を返す場合もあります。

フィドラーでトラフィックを確認しました。リクエストは正しく送信されます。応答が空の文字列を返すのは 1 回だけで、別のときは同じ要求で必要な文字列が返されます。

これは、サービスを呼び出すコードです

Public Function convertToIban(ByVal rekeningNummer As String) As String()
            Dim IbanService As IbanConversie.IBANBIC = New IbanConversie.IBANBIC()
            Dim rekeningZonder As String = rekeningNummer.Replace("-", "")
            Dim IbanBic(1) As String
            Try
                Dim Iban As String = IbanService.calculateIBAN1("BE", rekeningZonder)
                IbanBic(0) = Iban.Remove(0, 5)
                Dim Bic As String = IbanService.BBANtoBIC(rekeningZonder)
                IbanBic(1) = Bic
            Catch ex As Exception
                System.Windows.Forms.MessageBox.Show("Kan geen verbinding maken met de webservice. Controleer of uw internetverbinding werkt.")

            End Try

            Return IbanBic
        End Function


 Public Function convertFromIban(ByVal IBANNummer As String) As String()
            Dim IbanService As IbanConversie.IBANBIC = New IbanConversie.IBANBIC()
            Dim Rekening(1) As String
            Try
                Rekening(0) = IbanService.getBelgianBBAN(IBANNummer)
                Rekening(1) = IbanService.BBANtoBIC(Rekening(0))
            Catch ex As Exception
                System.Windows.Forms.MessageBox.Show("Kan geen verbinding maken met de webservice. Controleer of uw internetverbinding werkt.")
            End Try

            Return Rekening
        End Function

次の 2 つのシナリオがあります。

最初に convertFromIban を実行すると、要求された文字列が返されます。その後 convertToIban を実行すると、要求された文字列も返されます。

最初に convertToIban を実行すると、Iban 文字列が返され、Bic 文字列は空の文字列を返します。次に convertFromIban を実行すると、空の文字列のみが返されます。

これは無料の Web サービスでよくあることですか、それとも他の説明がありますか?

これを12月21日のせいにしたくありません:-)

どんな助けでも本当に感謝しています。

4

1 に答える 1

1

ワンポイント。サービス「IbanService」をクリーンアップしていないようです。このコードが何度も呼び出されると、問題が発生する可能性があります。

于 2012-12-21T11:24:06.750 に答える