2017-11-23 2 views
-2

Hallo ich unter Java-Klasse haben Fax für das Senden von Javain einer anderen Klasse eine Java-Klasse-Methode aufrufen

package oracle.apps.print; 

import com.softlinx.replixfax.*; 

import javax.xml.ws.*; 

import org.apache.commons.codec.binary.Base64; 

import java.nio.file.Files; 
import java.nio.file.Paths; 
import java.nio.file.Path; 

import java.io.File; 

public class Fax { 

    public void SendFax(String Filepath, String faxno) { 
     try { 


      ReplixFaxService service = new ReplixFaxService(); 
      ReplixFaxPort port = service.getReplixFaxPort(); 
      ((BindingProvider)port).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "admin"); 
      //   ((BindingProvider) port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,"https://api.rpxfax.com/softlinx/replixfax/wsapi"); 
      ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, 
                  "https://api.rpxtest.com:9999/softlinx/replixfax/wsapi"); 


      Authentication auth = new Authentication(); 
      auth.setLogin("user"); 
      String password = "pwd"; 

      auth.setPassword(org.apache.commons.codec.binary.Base64.encodeBase64String(password.getBytes())); 
      auth.setRealm("MTBC"); 
      auth.setPasswordSecurity("base64"); 


      SendFaxInput sendFaxInput = new SendFaxInput(); 
      sendFaxInput.setAuthentication(auth); 

      FaxRecipient recipient = new FaxRecipient(); 
      recipient.setFaxNumber(faxno.toString()); 

      Attachment attachment = new Attachment(); 
      File f = new File(Filepath.toString()); 
      attachment.setFileName(f.getName()); 

      Path path = Paths.get(Filepath.toString()); 
      byte[] data = Files.readAllBytes(path); 
      attachment.setAttachmentContent(data); 

      sendFaxInput.getFaxRecipient().add(recipient); 
      sendFaxInput.getAttachment().add(attachment); 

      SendFaxOutput result = port.sendFax(sendFaxInput); 
      System.out.println("Status Code= " + result.getRequestStatus().getStatusCode()); 

      if (result.getFaxInfo() != null) { 
       System.out.println("Fax ID = " + result.getFaxInfo().get(0).getFaxId()); 

      } 


     } catch (Exception ex) { 
      System.out.println("Exception: " + ex.getMessage()); 

     } 
    } 
} 

Ich mag dieses diese Klasse bin Kompilieren

javac -cp .;./commons-codec-1.10.jar Fax.java 

jedoch beider Klassen Kompilieren ist in Ordnung kein Fehler zur Kompilierzeit

wenn ich die Methode Fax in einer anderen Klasse (XXEmail) wie diese aufrufen

package oracle.apps.print; 


public class XXEmail implements JavaConcurrentProgram { 

    public static void main(String[] args) { 

     try { 

      Fax mtbcfax = new Fax(); 
      mtbcfax.SendFax("E:\\csv_svb\\3010218.pdf", "173224xxxx"); 
      out.writeln("Fax Sent Successfully"); 

     } catch (Exception i) { 
      log.writeln("Error while Sending Fax " + i.getMessage(), LogFile.STATEMENT); 
     } finally { 
      log.writeln("Error while Sending Fax "); 
     } 

    } 
} 

Es geht immer schließlich mit heraus zu blockieren

jeder Fehler zeigt

Wie kann ich diese Methode aufrufen, damit es mit Erfolgscode oder Ausnahme

+2

'" Es geht immer zum Final-Block ohne irgendeinen Fehler anzuzeigen "' - ** Was ** endlich blockieren? Ihr gebuchter Code zeigt keine abschließende Blockierung an. Was hast du getan, um das zu debuggen? –

+0

Nach Ausnahmeblock – user7788127

+0

Bitte klären Sie, weil Sie immer noch keinen Sinn machen. Auch hier zeigt Ihr geposteter Code ** no ** finally block. Keiner. Also, wovon redest du? –

Antwort

0

Versuchen zurückkehren sollte: Kommentar alle Linien in der SendFax Funktion und fügen Sie nur ein Protokoll:

public void SendFax(String Filepath, String faxno) { 
    out.writeln("No problem here"); 
} 

Jetzt das Programm starten und sehen, ob die Funktion richtig aufgerufen wird oder nicht. Wenn es korrekt aufgerufen wird, sind die von Ihnen gesendeten Argumente wahrscheinlich falsch.

+0

Wie Sie vorgeschlagen, ich bereits mit kleinen Berechnung von Zahlen versucht es funktioniert gut mit Ganzzahlen – user7788127

+0

Das ist seltsam, tut mir leid aber ich weiß nicht, wie ich dir helfen soll:/Ich schlage vor, eine gute Debugging-Operation zu machen, um zu verstehen, wo das Programm falsch läuft. – JAE

+0

okay, ich habe ein kleines Problem, wenn ich das 'Paket oracle.apps.print;' aus Fax-Klasse entfernen es läuft erfolgreich selbst und fax auch senden, können Sie mir sagen, wie kann ich noch diese Klasse in einer anderen Klasse im Paket ' Paket oracle.apps.print; ' – user7788127

Verwandte Themen