//Note that MultipartPostMethod is not used. This program uses Apache Jakarta Http Client 3.0.1 (commons-httpclient-3.0.1.jar) in which MultipartPostMethod is deprecated.
import java.io.*; import javax.servlet.http.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.methods.multipart.*; import org.apache.commons.httpclient.params.HttpConnectionManagerParams;
public class ifboG {
public static void main(String[] args) {
String url; String environment; String filename;
url = "http://server:port/apifw/APIFWAdapterServlet";
environment = "";
PostMethod fwPost = new PostMethod(url);
String testXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE InboundRequest [<!ELEMENT InboundRequest (APIHeader, BusinessObject)><!ENTITY % APIHeader SYSTEM \"http://apifw//xml/APIHeader.Inbound.Request.V060000.dtd\">%APIHeader;<!ENTITY % BusinessObject SYSTEM \"http://apifw//xml/WorkOrder.Read.Request.V060000.dtd\">%BusinessObject;]><InboundRequest><APIHeader ReplyTypeOK=\"A\" ReplyTypeError=\"N\"><apiAPIVersion>V060000</apiAPIVersion><apiBusinessObject>WorkOrder</apiBusinessObject><apiBusObjectMethod>Read</apiBusObjectMethod><apiBusObjectVersion>V060000</apiBusObjectVersion><apiUserID></apiUserID><apiExtSystemID></apiExtSystemID><apiExtRequestID></apiExtRequestID><apiRoutingInfo></apiRoutingInfo></APIHeader><BusinessObject><WoHeader><ExtSystemId></ExtSystemId><ExternalKey></ExternalKey><WorkOrderNbr>00211997</WorkOrderNbr><SubMethod></SubMethod><WoTaskHeader><WorkOrderTask>01</WorkOrderTask></WoTaskHeader></WoHeader></BusinessObject></InboundRequest>";
try {
//Add the Parameters with the data literals URL encoded in UTF-8 fwPost.addParameter("envName", "UTF8"); fwPost.addParameter("request", testXML);
HttpClient httpClient = new HttpClient(); httpClient.setConnectionTimeout(5000); int result = httpClient.executeMethod(fwPost);
//Get and parse response int httpCode = fwPost.getStatusCode(); String httpResponseText = fwPost.getStatusText(); Header headr = fwPost.getResponseHeader("ApifwRC"); headr = fwPost.getResponseHeader("InternalReqID"); String xmlResult = new String(); String sTmp; BufferedReader bufRdr = null; InputStream inStrm = fwPost.getResponseBodyAsStream(); InputStreamReader ISR = new InputStreamReader(inStrm); bufRdr = new BufferedReader(ISR, 3);
while((sTmp = bufRdr.readLine()) != null)
xmlResult = xmlResult + sTmp;
bufRdr.close();
System.out.println("xmlResult = " + xmlResult); fwPost.releaseConnection();
} catch (Exception e) { System.out.println("Exception error" + e.getMessage()); return; }
return; } }
Appendix G pared to the minimum
//Note that MultipartPostMethod is not used. This program uses Apache Jakarta Http Client 3.0.1 (commons-httpclient-3.0.1.jar) in which MultipartPostMethod is deprecated.
import java.io.*;
import javax.servlet.http.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.multipart.*;
import org.apache.commons.httpclient.params.HttpConnectionManagerParams;
public class ifboG {
public static void main(String[] args) {
String url;
String environment;
String filename;
url = "http://server:port/apifw/APIFWAdapterServlet";
environment = "";
PostMethod fwPost = new PostMethod(url);
String testXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE InboundRequest [<!ELEMENT InboundRequest (APIHeader, BusinessObject)><!ENTITY % APIHeader SYSTEM \"http://apifw//xml/APIHeader.Inbound.Request.V060000.dtd\">%APIHeader;<!ENTITY % BusinessObject SYSTEM \"http://apifw//xml/WorkOrder.Read.Request.V060000.dtd\">%BusinessObject;]><InboundRequest><APIHeader ReplyTypeOK=\"A\" ReplyTypeError=\"N\"><apiAPIVersion>V060000</apiAPIVersion><apiBusinessObject>WorkOrder</apiBusinessObject><apiBusObjectMethod>Read</apiBusObjectMethod><apiBusObjectVersion>V060000</apiBusObjectVersion><apiUserID></apiUserID><apiExtSystemID></apiExtSystemID><apiExtRequestID></apiExtRequestID><apiRoutingInfo></apiRoutingInfo></APIHeader><BusinessObject><WoHeader><ExtSystemId></ExtSystemId><ExternalKey></ExternalKey><WorkOrderNbr>00211997</WorkOrderNbr><SubMethod></SubMethod><WoTaskHeader><WorkOrderTask>01</WorkOrderTask></WoTaskHeader></WoHeader></BusinessObject></InboundRequest>";
try {
//Add the Parameters with the data literals URL encoded in UTF-8
fwPost.addParameter("envName", "UTF8");
fwPost.addParameter("request", testXML);
HttpClient httpClient = new HttpClient();
httpClient.setConnectionTimeout(5000);
int result = httpClient.executeMethod(fwPost);
//Get and parse response
int httpCode = fwPost.getStatusCode();
String httpResponseText = fwPost.getStatusText();
Header headr = fwPost.getResponseHeader("ApifwRC");
headr = fwPost.getResponseHeader("InternalReqID");
String xmlResult = new String();
String sTmp;
BufferedReader bufRdr = null;
InputStream inStrm = fwPost.getResponseBodyAsStream();
InputStreamReader ISR = new InputStreamReader(inStrm);
bufRdr = new BufferedReader(ISR, 3);
while((sTmp = bufRdr.readLine()) != null)
xmlResult = xmlResult + sTmp;
bufRdr.close();
System.out.println("xmlResult = " + xmlResult);
fwPost.releaseConnection();
} catch (Exception e) {
System.out.println("Exception error" + e.getMessage());
return;
}
return;
}
}