import java.io.*;
import java.util.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.soap.util.xml.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;
/*
*/
public class SendFax extends HttpServlet
{
/**
* Handle the GET and HEAD methods by building a simple web page.
* HEAD is just like GET, except that the server returns only the
* headers (including content length) not the body we write.
*/
public void doGet (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out;
// set content type and other response header fields first
response.setContentType("text/html");
out = response.getWriter();
out.println("Preparing to send:\n");
sendfax(out);
out.println("\nSent\n");
out.close();
}
public void sendfax(PrintWriter out)
{
// build the call
Call call = new Call();
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
call.setTargetObjectURI("urn:OneOutBox");
call.setMethodName("SendFreeFAX");
Vector params = new Vector();
params.addElement(new Parameter("Sender", String.class, "support@OneOutBox.com",null));
params.addElement(new Parameter("ToNum", String.class, "14259442242",null));
params.addElement(new Parameter("Name", String.class, "Java Test",null));
params.addElement(new Parameter("Text", String.class, "SendFax Test",null));
call.setParams(params);
// invoke the service
try {
Response resp = call.invoke(new URL("http://www.OneOutBox.com/cgi-bin/soap/outbox.cgi"),"");
// print the response
if (!resp.generatedFault())
{
Parameter result = resp.getReturnValue();
String tracking_number = (String) result.getValue();
out.println("\nThe tracking number is\n\n" + tracking_number);
}
else
{
Fault fault = resp.getFault();
out.println("Generated fault: ");
out.println (" Fault Code = " + fault.getFaultCode());
out.println (" Fault String = " + fault.getFaultString());
}
}
catch (MalformedURLException e) {
out.println("Malformed URL Exception\n");
}
catch (SOAPException e) {
out.println("SOAP Exception\n");
}
}
}
© 2002 OneOutBox