2017-03-05 54 views
2
  1. 我有一個Web服務客戶端jar。
  2. clint.class有幾條消息記錄到標準輸出(sysout)。
  3. 我試圖調用使用Cold Fusion腳本的類方法。

問題:打印來自jar文件的Sysout日誌

  1. 如何打印系統輸出的client.java或client.class的。
  2. 客戶端正在調用Web服務。客戶類應該包含main方法還是不需要?
+0

2)每個罐子都需要有一個主要方法。 1)問題是你無法讀取jar文件的輸出?要查看jar中的System.out輸出,您需要從控制檯打開jar。使用命令'java -jar MyJarFile.jar' – Nulano

+0

RE#1。當你說「打印」時,你的意思是僅用於調試目的嗎? RE:#2 - 這聽起來像你正在轉換爲java設計的例子。 CF做一些事情有點不同。因此,以同樣的方式處理事情並不總是有意義的。你確定你需要使用這個「客戶」類嗎?您是否嘗試過直接從CF調用Web服務,使用createObject或cfhttp? – Leigh

+0

#1謝謝你的幫助。是的,它僅用於調試目的,我想驗證來自客戶端類的sysout日誌消息。 #2。客戶端是普通類,我可以調用Web服務。 – user2707491

回答

2

回答您的問題:

  1. 默認情況下,打印到System.out消息被追加到文件。注意,如果您正在運行ColdFusion Express,則輸出將被傳送到控制檯窗口。

  2. 關於main方法,只需要在java中運行獨立應用程序。從ColdFusion中調用一個類時需要的是而不是

另外,System.out可能僅用於演示目的。它在實際應用中令人沮喪。一般的建議是使用日誌庫,它比基本的打印語句提供更大的控制和靈活性。一個例子是Log4J,恰好是ColdFusion在內部使用的內容。

此外,它聽起來像你正在轉換爲java設計的例子。鑑於CF具有稍微不同的功能,因此您可能甚至不需要使用「客戶端」類。嘗試使用createObject("webservice")cfhttp直接從CF調用Web服務。

+0

謝謝你的幫助。 \t try { \t \t Webservice_client_Obj = CreateObject('java', 'com.tfp.ipr.soap.IBANServiceClient'); /* create an object connect to a Jar or Class file */ \t \t Webservice_client_response = Webservice_Obj.validate('987654'); /* Passing value into a method */ \t \t } \t catch (any e) { \t \t WriteOutput("Exception: #e#"); \t } \t #Webservice_client_response# 運行這個,我得到錯誤,因爲WEBSERVICE_CLIENT_RESPONSE是未定義的。包含的文件的特定順序。 – user2707491

+0

(編輯)你是不是要編寫'Webservice_Obj.validate()'而不是'Webservice_client_Obj.validate()'?除了這種差異之外,很難說如果沒有看到API,什麼是錯的。聽起來像'validate()'實際上並沒有返回任何東西。它應該返回一些東西還是隻是'無效'? BTW,S.O.與論壇有點不同:每個線程一個問題。由於語法問題是一個不同的話題,你應該打開一個新的線程。確保包含公開鏈接到API(如果可能)。 – Leigh