2012-12-21 44 views
1

在VS2005 VB.Net應用程序,我消耗了免費的網絡服務來歲的比利時賬號轉變爲伊班: http://www.ebcs.be/iban/IBANBIC.asmxASMX web服務返回空字符串偶爾

奇怪的是,這種服務有時會返回空字符串和其他時候返回正確的字符串。

我檢查與小提琴手的流量。 請求發送正確。只有一次響應返回一個空字符串,另一次有相同的請求它返回我需要的字符串。

這是調用服務

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 

代碼有兩種情況:

如果我先運行convertFromIban請求字符串返回。如果在此之後運行convertToIban,那麼請求的字符串也會返回。

如果我跑convertToIban第一伊班字符串返回字符串比克返回一個空字符串。如果我接下來運行convertFromIban,則只返回空字符串。

這是常見的有免費的web服務,或者是有一些其他的解釋嗎?

我不想責怪這對12月21日:-)

任何幫助非常感謝。

+0

你可以發佈代碼嗎?您的服務電話是否超時?當服務引發異常時,返回空字符串可能是默認值 –

+0

我用一些代碼和場景更新了問題 –

+1

一個快速點。你似乎沒有清理你的服務'IbanService'。如果多次調用這段代碼,它可能會給你一些問題。 –

回答

1

一個快速點。 你似乎沒有清理你的服務'IbanService'。如果多次調用這段代碼,它可能會給你一些問題。