curl / Mailing Lists / curl-users / Single Mail

curl-users

Fwd: Additionally, a 400 Bad Request error was encountered while trying to use an ErrorDocument to handle the request.

From: Reynard Harrison via curl-users <curl-users_at_cool.haxx.se>
Date: Tue, 9 May 2017 18:52:59 -0400

Hello Bagdar and Jay,

Thank you for even responding to my post well, to be honest, I don’t even
know what to call my app it work like soapUI (https://www.soapui.org/#_ga=
2.231068255.1796044353.1494342082-2037242614.1494342082
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=ZKrAFeN0IvFzmR9q8cz6h3fBG3Xn-DImkZxK_zh0d2VZskbaI5fUCGgAdAB0AHAAcwA6AC8ALwB3AHcAdwAuAHMAbwBhAHAAdQBpAC4AbwByAGcALwAjAF8AZwBhAD0AMgAuADIAMwAxADAANgA4ADIANQA1AC4AMQA3ADkANgAwADQANAAzADUAMwAuADEANAA5ADQAMwA0ADIAMAA4ADIALQAyADAAMwA3ADIANAAyADYAMQA0AC4AMQA0ADkANAAzADQAMgAwADgAMgA.&URL=https%3a%2f%2fwww.soapui.org%2f%23_ga%3d2.231068255.1796044353.1494342082-2037242614.1494342082>)
I have been fighting with this thing for 2 weeks. Every soap call works and
Rest call works. The only time the app does not work is when the username
and password have to be in the property. I have made the changes that jay
recommend thank you, however, I received a different error. Here is the
entire code for the app.

I pass this to the app (0004SOAP0053http://www.odfl.com/TraceWebServiceWeb/
services/Trace0027F:\soap\request\SOAA896.tmp0014GMGEMP:gmg65ny0000)

Content of file (<soapenv:Envelope xmlns:soapenv="http://schemas.
xmlsoap.org/soap/envelope/
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=Dp4y4N4Q10FLu5timynde7SoA7eyWxKRErmFtDJIfApZskbaI5fUCGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AdgBlAGwAbwBwAGUALwA.&URL=http%3a%2f%2fschemas.xmlsoap.org%2fsoap%2fenvelope%2f>"
xmlns:trac="http://trace.odfl.com
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=sekRn-r6pk1wNDNP70U1LIFrdylHTrP-eZxDpeufnnhZskbaI5fUCGgAdAB0AHAAOgAvAC8AdAByAGEAYwBlAC4AbwBkAGYAbAAuAGMAbwBtAA..&URL=http%3a%2f%2ftrace.odfl.com>
"><soapenv:Header/><soapenv:Body><trac:getTraceData><trac:pro>
1905027247</trac:pro><trac:type>P</trac:type></trac:
getTraceData></soapenv:Body></soapenv:Envelope>)

The 53 character is the end point

/*

How to import

This program can handle the http/https soap request as well as the Rest
request.

------------------------------------------------------------
----------------------------------------------------------

How to pass SOAP Request as command argument:

------------------------------------------------------------
----------------------------------------------------------

Soap request should be sent in below format. There should be only 1 command
line argument which will endpoint as well as request.

Soap request should come under the double quotes ("").

Any Request that have any quote should be put in a \ \ example \"islandia,
ny\"

you cant count back slash in the string len

Command argument ( 0008endpoint0007Request0000 ). This request must be in
this format.

soap Request Example

Endpoint (http://www.estes-express.com/shipmenttracking/services/
ShipmentTrackingService
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=RZf8hJ1m-k9_TnQM1314Gcu4KDQTJbJLZVWDvg9OczFZskbaI5fUCGgAdAB0AHAAOgAvAC8AdwB3AHcALgBlAHMAdABlAHMALQBlAHgAcAByAGUAcwBzAC4AYwBvAG0ALwBzAGgAaQBwAG0AZQBuAHQAdAByAGEAYwBrAGkAbgBnAC8AcwBlAHIAdgBpAGMAZQBzAC8AUwBoAGkAcABtAGUAbgB0AFQAcgBhAGMAawBpAG4AZwBTAGUAcgB2AGkAYwBlAA..&URL=http%3a%2f%2fwww.estes-express.com%2fshipmenttracking%2fservices%2fShipmentTrackingService>
)

Payload ( <soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/
envelope/\
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=Dp4y4N4Q10FLu5timynde7SoA7eyWxKRErmFtDJIfApZskbaI5fUCGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AdgBlAGwAbwBwAGUALwA.&URL=http%3a%2f%2fschemas.xmlsoap.org%2fsoap%2fenvelope%2f>"
xmlns:ship=\"http://ws.estesexpress.com/shipmenttracking\
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=rTt6cod4IkvKHKIRmwboGv2Xzcdnd7wCDZp1SHGKjhJZskbaI5fUCGgAdAB0AHAAOgAvAC8AdwBzAC4AZQBzAHQAZQBzAGUAeABwAHIAZQBzAHMALgBjAG8AbQAvAHMAaABpAHAAbQBlAG4AdAB0AHIAYQBjAGsAaQBuAGcALwA.&URL=http%3a%2f%2fws.estesexpress.com%2fshipmenttracking%2f>"
xmlns:ship1=\"http://ws.estesexpress.com/schema/2012/12/shipmenttracking\
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=VDSMiMQiWoo8KbhEQno16YjtuD-3Wsz2jzkDpASF6fZZskbaI5fUCGgAdAB0AHAAOgAvAC8AdwBzAC4AZQBzAHQAZQBzAGUAeABwAHIAZQBzAHMALgBjAG8AbQAvAHMAYwBoAGUAbQBhAC8AMgAwADEAMgAvADEAMgAvAHMAaABpAHAAbQBlAG4AdAB0AHIAYQBjAGsAaQBuAGcALwA.&URL=http%3a%2f%2fws.estesexpress.com%2fschema%2f2012%2f12%2fshipmenttracking%2f>
"><soapenv:Header><ship:auth><ship:user>GMGTRANS</ship:user>
<ship:password>GMG#65NY</ship:password></ship:auth></
soapenv:Header><soapenv:Body><ship1:search><ship1:requestID>
GMGID</ship1:requestID><ship1:pro>0841615035</ship1:pro></
ship1:search></soapenv:Body></soapenv:Envelope>)

CommandLine Argument "0078http://www.estes-express.
com/shipmenttracking/services/ShipmentTrackingService0488<soapenv:Envelope
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=Dp4y4N4Q10FLu5timynde7SoA7eyWxKRErmFtDJIfApZskbaI5fUCGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AdgBlAGwAbwBwAGUALwA.&URL=http%3a%2f%2fschemas.xmlsoap.org%2fsoap%2fenvelope%2f>"
xmlns:ship=\"http://ws.estesexpress.com/shipmenttracking\
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=rTt6cod4IkvKHKIRmwboGv2Xzcdnd7wCDZp1SHGKjhJZskbaI5fUCGgAdAB0AHAAOgAvAC8AdwBzAC4AZQBzAHQAZQBzAGUAeABwAHIAZQBzAHMALgBjAG8AbQAvAHMAaABpAHAAbQBlAG4AdAB0AHIAYQBjAGsAaQBuAGcALwA.&URL=http%3a%2f%2fws.estesexpress.com%2fshipmenttracking%2f>"
xmlns:ship1=\"http://ws.estesexpress.com/schema/2012/12/shipmenttracking\
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=VDSMiMQiWoo8KbhEQno16YjtuD-3Wsz2jzkDpASF6fZZskbaI5fUCGgAdAB0AHAAOgAvAC8AdwBzAC4AZQBzAHQAZQBzAGUAeABwAHIAZQBzAHMALgBjAG8AbQAvAHMAYwBoAGUAbQBhAC8AMgAwADEAMgAvADEAMgAvAHMAaABpAHAAbQBlAG4AdAB0AHIAYQBjAGsAaQBuAGcALwA.&URL=http%3a%2f%2fws.estesexpress.com%2fschema%2f2012%2f12%2fshipmenttracking%2f>
"><soapenv:Header><ship:auth><ship:user>GMGTRANS</ship:user>
<ship:password>GMG#65NY</ship:password></ship:auth></
soapenv:Header><soapenv:Body><ship1:search><ship1:requestID>
GMGID</ship1:requestID><ship1:pro>0841615035</ship1:pro></
ship1:search></soapenv:Body></soapenv:Envelope>0000"

Rest Request Example

Endpoint (http://query.yahooapis.com/v1/public/yql
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=gTcXVE7D6YV1jMStk60TjcjhpWQMFZEJDFgN3kmtGZRZskbaI5fUCGgAdAB0AHAAOgAvAC8AcQB1AGUAcgB5AC4AeQBhAGgAbwBvAGEAcABpAHMALgBjAG8AbQAvAHYAMQAvAHAAdQBiAGwAaQBjAC8AeQBxAGwA&URL=http%3a%2f%2fquery.yahooapis.com%2fv1%2fpublic%2fyql>
)

Payload (q=select * from geo.places where text="islandia, ny")

first 4 digit(0008) represt the length of endpoint string example
0008endpoint

endpoint will contain the SOAP url like (http://www.estes-express.com/
shipmenttracking/services/ShipmentTrackingService
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=RZf8hJ1m-k9_TnQM1314Gcu4KDQTJbJLZVWDvg9OczFZskbaI5fUCGgAdAB0AHAAOgAvAC8AdwB3AHcALgBlAHMAdABlAHMALQBlAHgAcAByAGUAcwBzAC4AYwBvAG0ALwBzAGgAaQBwAG0AZQBuAHQAdAByAGEAYwBrAGkAbgBnAC8AcwBlAHIAdgBpAGMAZQBzAC8AUwBoAGkAcABtAGUAbgB0AFQAcgBhAGMAawBpAG4AZwBTAGUAcgB2AGkAYwBlAA..&URL=http%3a%2f%2fwww.estes-express.com%2fshipmenttracking%2fservices%2fShipmentTrackingService>
)

Next 4 digit(0007) will represent lenght of request which will come after
this digits example 0007Request

After this mentioned lenght Request (Envelope) will come

Last 0000 digit represent end of request example 0000

Sample soap request which need to as command argument

"0078http://www.estes-express.com/shipmenttracking/services/
ShipmentTrackingService0488<soapenv:Envelope xmlns:soapenv=\"http://
schemas.xmlsoap.org/soap/envelope/\
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=Dp4y4N4Q10FLu5timynde7SoA7eyWxKRErmFtDJIfApZskbaI5fUCGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AdgBlAGwAbwBwAGUALwA.&URL=http%3a%2f%2fschemas.xmlsoap.org%2fsoap%2fenvelope%2f>"
xmlns:ship=\"http://ws.estesexpress.com/shipmenttracking\
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=rTt6cod4IkvKHKIRmwboGv2Xzcdnd7wCDZp1SHGKjhJZskbaI5fUCGgAdAB0AHAAOgAvAC8AdwBzAC4AZQBzAHQAZQBzAGUAeABwAHIAZQBzAHMALgBjAG8AbQAvAHMAaABpAHAAbQBlAG4AdAB0AHIAYQBjAGsAaQBuAGcALwA.&URL=http%3a%2f%2fws.estesexpress.com%2fshipmenttracking%2f>"
xmlns:ship1=\"http://ws.estesexpress.com/schema/2012/12/shipmenttracking\
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=VDSMiMQiWoo8KbhEQno16YjtuD-3Wsz2jzkDpASF6fZZskbaI5fUCGgAdAB0AHAAOgAvAC8AdwBzAC4AZQBzAHQAZQBzAGUAeABwAHIAZQBzAHMALgBjAG8AbQAvAHMAYwBoAGUAbQBhAC8AMgAwADEAMgAvADEAMgAvAHMAaABpAHAAbQBlAG4AdAB0AHIAYQBjAGsAaQBuAGcALwA.&URL=http%3a%2f%2fws.estesexpress.com%2fschema%2f2012%2f12%2fshipmenttracking%2f>
"><soapenv:Header><ship:auth><ship:user>GMGTRANS</ship:user>
<ship:password>GMG#65NY</ship:password></ship:auth></
soapenv:Header><soapenv:Body><ship1:search><ship1:requestID>
GMGID</ship1:requestID><ship1:pro>0841615035</ship1:pro></
ship1:search></soapenv:Body></soapenv:Envelope>0000"

------------------------------------------------------------
-------------------------------------------------------

How to pass Rest Request as command argument:

------------------------------------------------------------
--------------------------------------------------------

Soap request should be sent in below format. There should be only 1 command
line argument which will endpoint as well as request.

Soap request should come under the double quotes ("").

//Command argument ( 0004REST0003url0010Querystring0000 ). This request
must be in this format.

first 4 digit(0008) represt the length of "REST" keyword string

Next is having "REST" keyword

Next 4 digit(0003) will represent lenght of endpoint which will come after
this digits

url will contain the Rest url like (http://query.yahooapis.com/v1/public/yql
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=gTcXVE7D6YV1jMStk60TjcjhpWQMFZEJDFgN3kmtGZRZskbaI5fUCGgAdAB0AHAAOgAvAC8AcQB1AGUAcgB5AC4AeQBhAGgAbwBvAGEAcABpAHMALgBjAG8AbQAvAHYAMQAvAHAAdQBiAGwAaQBjAC8AeQBxAGwA&URL=http%3a%2f%2fquery.yahooapis.com%2fv1%2fpublic%2fyql>
)

Next 4 digit(0010) will represent lenght of Querystring which will come
after this

After this mentioned lenght Querystring (q=select * from geo.places where
text=\"islandia, ny\") will come

Last 0000 digit represent end of request

Sample Rest request which need to as command argument

0004REST0040http://query.yahooapis.com/v1/public/yql0052q=select * from
geo.places where text=\"islandia, ny\"0000

------------------------------------------------------------
----------------------------------------------------------

------------------------------------------------------------
----------------------------------------------------------

*/

#define WIN32_LEAN_AND_MEAN

#include <stdio.h>

#include <winsock2.h>

#include <io.h>

#include <string.h>

#include <fcntl.h>

#include <time.h>

#include <curl/curl.h>

#include <stdlib.h>

// Need to link with Ws2_32.lib

#pragma comment (lib, "Ws2_32.lib")

#define BUFFER_SIZE 4096

#define REQUEST_BUFFER_SIZE 32767

#define RESULT_BUFFER_SIZE 100000

#define FileName_Len 40

#define TRUE 1

#define FALSE 0

int flag;

char request[REQUEST_BUFFER_SIZE]; //request buffer

int sizeof_request;

char credential[50];

char *username;

char *password;

char request_type[16];

char request_file[512];

char endpoint[BUFFER_SIZE]; //endpoint buffer to hold url

char response[RESULT_BUFFER_SIZE]; //Respont buffer

char errors[CURL_ERROR_SIZE];

FILE *logfile;

FILE *outfile;

FILE *inpfile;

int inBufLen, sbufLen, nCode;

char inBuf[BUFFER_SIZE], sbuf[BUFFER_SIZE], response_file[BUFFER_SIZE];

////////////////////////////////////////////////////////////////////////

// prototypes for compression routines

int compress(void *compr, int *compLen, void *reqstr, int uncompLen);

int compress2(void *compr, int *compLen, void *reqstr, int uncompLen, int
 level);

int uncompress(void *uncompr, int *uncomprLen, void *compr, int comprLen);

time_t aclock;

struct tm *currtime;

errno_t err;

char FileName[FileName_Len];

void ErrorExit(const char* msg)

       {

       fprintf(logfile, "%s: %d\n" ,msg, WSAGetLastError());

       fflush(logfile);

       fclose(logfile);

       WSACleanup();

       exit(-1);

       }

//Function to Parse command line argument and store them in char * array

char* ParseString(char* str, char *rbuf, int nrbuf)

       {

      int i, n;

       // get the length of the data

       for(n=0, i=0; i<4; i++)

              n = (n * 10) + (str[i] - '0');

       str += 4;

       // str is too long

       if(n >= nrbuf)

              {

              return NULL;

              }

       //move str to the result

    for(i=0; i<n; i++)

              rbuf[i] = str[i];

       rbuf[i] = 0;

       str += n;

       // return what is left

    return str;

       }

int postrequest(int is_https)

{

    //writing to file initially

       struct curl_slist *header = NULL;

    CURL *curl;

    CURLcode res;

       //For header below function is getting used with different header
contenthttps://curl.haxx.se/libcurl/c/curl_slist_append.html
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=9x3s-cVyBNZkewwKry_JVYDUNubn4-0niGqTkpJt7P5ZskbaI5fUCGgAdAB0AHAAcwA6AC8ALwBjAHUAcgBsAC4AaABhAHgAeAAuAHMAZQAvAGwAaQBiAGMAdQByAGwALwBjAC8AYwB1AHIAbABfAHMAbABpAHMAdABfAGEAcABwAGUAbgBkAC4AaAB0AG0AbAA.&URL=https%3a%2f%2fcurl.haxx.se%2flibcurl%2fc%2fcurl_slist_append.html>

       header = curl_slist_append (header, "Content-Type:
text/xml;charset=UTF-8");

   // header = curl_slist_append (header, "SOAPAction: myur1");

       header = curl_slist_append (header, "SOAPAction: """);

     header = curl_slist_append (header, "Transfer-Encoding: gzip");

       //header = curl_slist_append (header, "Transfer-Encoding: chunked");

    //header = curl_slist_append (header, "Expect:");

       //https://curl.haxx.se/libcurl/c/curl_easy_init.html

    curl = curl_easy_init();

       if(is_https == 1)//if https url is getting used

       {

              curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, TRUE);//
https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html

              curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2);//
https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYHOST.html

              curl_easy_setopt (curl, CURLOPT_CAINFO, ".\\cacert.pem"); //
https://curl.haxx.se/libcurl/c/CURLOPT_CAINFO.html

       }

    if(curl)

       {

              //https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPALIVE.html

              /* enable TCP keep-alive for this transfer */

              curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);

              /* keep-alive idle time to 120 seconds */

              curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L);

              /* interval time between keep-alive probes: 60 seconds */

              curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L);

              /* ask libcurl to show us the verbose output */

              //curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);

        curl_easy_setopt(curl, CURLOPT_URL, endpoint);//https://curl.haxx.
se/libcurl/c/CURLOPT_URL.html

              if (flag == TRUE)

              {

                     curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "
gzip,deflate");

                     // curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "
http://www.odfl.com/TraceWebServiceWeb/services/Trace
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=vpGznilSl6o5DZewcUBjvPcXA-1Iazhw07LAtve46CxZskbaI5fUCGgAdAB0AHAAOgAvAC8AdwB3AHcALgBvAGQAZgBsAC4AYwBvAG0ALwBUAHIAYQBjAGUAVwBlAGIAUwBlAHIAdgBpAGMAZQBXAGUAYgAvAHMAZQByAHYAaQBjAGUAcwAvAFQAcgBhAGMAZQA.&URL=http%3a%2f%2fwww.odfl.com%2fTraceWebServiceWeb%2fservices%2fTrace>
");

                     curl_easy_setopt(curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);

                     curl_easy_setopt(curl, CURLOPT_USERAGENT, "libcurl-
agent/1.0");

                     curl_easy_setopt(curl, CURLOPT_USERNAME, username);

                     curl_easy_setopt(curl, CURLOPT_PASSWORD, password);

                     // curl_easy_setopt(curl, CURLOPT_NETRC,
CURL_NETRC_REQUIRED);

                     //curl_easy_setopt(curl, CURLOPT_USERPWD, credential);
//"myname:thesecret" //

              }

        curl_easy_setopt(curl, CURLOPT_POST, 1L);//https://curl.haxx.se/
libcurl/c/CURLOPT_POST.html

        curl_easy_setopt(curl, CURLOPT_READFUNCTION, NULL); //Reads xml
request from file (https://curl.haxx.se/libcurl/c/CURLOPT_READFUNCTION.html
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=ZpVnZf4KY30XBx48s5kAObiij_fHbWJZKoCIVB_JYZRZskbaI5fUCGgAdAB0AHAAcwA6AC8ALwBjAHUAcgBsAC4AaABhAHgAeAAuAHMAZQAvAGwAaQBiAGMAdQByAGwALwBjAC8AQwBVAFIATABPAFAAVABfAFIARQBBAEQARgBVAE4AQwBUAEkATwBOAC4AaAB0AG0AbAA.&URL=https%3a%2f%2fcurl.haxx.se%2flibcurl%2fc%2fCURLOPT_READFUNCTION.html>
)

        curl_easy_setopt(curl, CURLOPT_READDATA, (void *)inpfile);//https://
curl.haxx.se/libcurl/c/CURLOPT_READDATA.html

        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL); //Writes data
to file (https://curl.haxx.se/libcurl/c/CURLOPT_WRITEFUNCTION.html
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=7gCRn1SaOqH5_1kb-sebNSnqN1MaJXcDPWdg8QyrEu9ZskbaI5fUCGgAdAB0AHAAcwA6AC8ALwBjAHUAcgBsAC4AaABhAHgAeAAuAHMAZQAvAGwAaQBiAGMAdQByAGwALwBjAC8AQwBVAFIATABPAFAAVABfAFcAUgBJAFQARQBGAFUATgBDAFQASQBPAE4ALgBoAHQAbQBsAA..&URL=https%3a%2f%2fcurl.haxx.se%2flibcurl%2fc%2fCURLOPT_WRITEFUNCTION.html>
)

        curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)outfile); //(
https://curl.haxx.se/libcurl/c/CURLOPT_WRITEDATA.html
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=_OXXiV4bXexM_wi-Mtj6JvogtY7YymFGWiD2_etKPZhZskbaI5fUCGgAdAB0AHAAcwA6AC8ALwBjAHUAcgBsAC4AaABhAHgAeAAuAHMAZQAvAGwAaQBiAGMAdQByAGwALwBjAC8AQwBVAFIATABPAFAAVABfAFcAUgBJAFQARQBEAEEAVABBAC4AaAB0AG0AbAA.&URL=https%3a%2f%2fcurl.haxx.se%2flibcurl%2fc%2fCURLOPT_WRITEDATA.html>
)

        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, header);//
https://curl.haxx.se/libcurl/c/CURLOPT_HTTPHEADER.html

        //curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE,
(curl_off_t)-1); //https://curl.haxx.se/libcurl/c/CURLOPT_
POSTFIELDSIZE_LARGE.html

              curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE,
(curl_off_t)REQUEST_BUFFER_SIZE);

        curl_easy_setopt(curl, CURLOPT_VERBOSE,1L); //https:/
/curl.haxx.se/libcurl/c/CURLOPT_VERBOSE.html

              curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errors);//
https://curl.haxx.se/libcurl/c/CURLOPT_ERRORBUFFER.html

        res = curl_easy_perform(curl);//First set all the parameters using
above function then perform action (https://curl.haxx.se/libcurl/
c/curl_easy_perform.html
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=iY8quubopvYqU22oJQldDhIAUVB40OgDsQForuydeTBZskbaI5fUCGgAdAB0AHAAcwA6AC8ALwBjAHUAcgBsAC4AaABhAHgAeAAuAHMAZQAvAGwAaQBiAGMAdQByAGwALwBjAC8AYwB1AHIAbABfAGUAYQBzAHkAXwBwAGUAcgBmAG8AcgBtAC4AaAB0AG0AbAA.&URL=https%3a%2f%2fcurl.haxx.se%2flibcurl%2fc%2fcurl_easy_perform.html>
)

              if (res != CURLE_OK)

              {

                     strcat(response, "\n");

                     strcat(response, "\n");

                     strcat(response, "-----Curl Readable Error
Text...-----\n");

                     strcat(response, errors);

                     strcat(response, curl_easy_strerror(res));

                      strcat(response, "----------
---------------------------\n");

                     fprintf(logfile, response);

                     fflush(logfile);

              }

              curl_slist_free_all(header);

              curl_easy_cleanup(curl); //Cleaning up all the set data (
https://curl.haxx.se/libcurl/c/curl_easy_cleanup.html
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=XthUjfoSvxDykcS5grcZTJMh6x1YXkNLk0Zro-P3qDtZskbaI5fUCGgAdAB0AHAAcwA6AC8ALwBjAHUAcgBsAC4AaABhAHgAeAAuAHMAZQAvAGwAaQBiAGMAdQByAGwALwBjAC8AYwB1AHIAbABfAGUAYQBzAHkAXwBjAGwAZQBhAG4AdQBwAC4AaAB0AG0AbAA.&URL=https%3a%2f%2fcurl.haxx.se%2flibcurl%2fc%2fcurl_easy_cleanup.html>
)

        return 1;

    }

       return 0;

}

// This post request is to make REST call

void postrestrequest()

{

       CURL *curl;

       CURLcode res;

       //https://curl.haxx.se/libcurl/c/curl_easy_init.html

       curl = curl_easy_init();

       if(curl)

       {

              //https://curl.haxx.se/libcurl/c/CURLOPT_TCP_KEEPALIVE.html

              /* enable TCP keep-alive for this transfer */

              res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);

              /* keep-alive idle time to 120 seconds */

              res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L);

              /* interval time between keep-alive probes: 60 seconds */

              res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L);

              /* ask libcurl to show us the verbose output */

              //curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);

              curl_easy_setopt(curl, CURLOPT_URL, endpoint);//
https://curl.haxx.se/libcurl/c/CURLOPT_URL.html

        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL); //Gets data
to be written to string (https://curl.haxx.se/libcurl/
c/CURLOPT_WRITEFUNCTION.html
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=7gCRn1SaOqH5_1kb-sebNSnqN1MaJXcDPWdg8QyrEu9ZskbaI5fUCGgAdAB0AHAAcwA6AC8ALwBjAHUAcgBsAC4AaABhAHgAeAAuAHMAZQAvAGwAaQBiAGMAdQByAGwALwBjAC8AQwBVAFIATABPAFAAVABfAFcAUgBJAFQARQBGAFUATgBDAFQASQBPAE4ALgBoAHQAbQBsAA..&URL=https%3a%2f%2fcurl.haxx.se%2flibcurl%2fc%2fCURLOPT_WRITEFUNCTION.html>
)

        curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)outfile); //Writes
result to response string (https://curl.haxx.se/libcurl/
c/CURLOPT_WRITEDATA.html
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=_OXXiV4bXexM_wi-Mtj6JvogtY7YymFGWiD2_etKPZhZskbaI5fUCGgAdAB0AHAAcwA6AC8ALwBjAHUAcgBsAC4AaABhAHgAeAAuAHMAZQAvAGwAaQBiAGMAdQByAGwALwBjAC8AQwBVAFIATABPAFAAVABfAFcAUgBJAFQARQBEAEEAVABBAC4AaAB0AG0AbAA.&URL=https%3a%2f%2fcurl.haxx.se%2flibcurl%2fc%2fCURLOPT_WRITEDATA.html>
)

              curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, sizeof_request);

              curl_easy_setopt(curl, CURLOPT_POSTFIELDS, request);//
https://curl.haxx.se/libcurl/c/CURLOPT_POSTFIELDS.html

              curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errors);//
https://curl.haxx.se/libcurl/c/CURLOPT_ERRORBUFFER.html

              res = curl_easy_perform(curl);//First set all the parameters
using above function then perform action (https://curl.haxx.se/libcurl/
c/curl_easy_perform.html
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=iY8quubopvYqU22oJQldDhIAUVB40OgDsQForuydeTBZskbaI5fUCGgAdAB0AHAAcwA6AC8ALwBjAHUAcgBsAC4AaABhAHgAeAAuAHMAZQAvAGwAaQBiAGMAdQByAGwALwBjAC8AYwB1AHIAbABfAGUAYQBzAHkAXwBwAGUAcgBmAG8AcgBtAC4AaAB0AG0AbAA.&URL=https%3a%2f%2fcurl.haxx.se%2flibcurl%2fc%2fcurl_easy_perform.html>
)

              if (res != CURLE_OK)

              {

                     strcat(response, "\n");

                     strcat(response, "\n");

                     strcat(response, "-----Curl Readable Error
Text...-----\n");

                     strcat(response, errors);

                     strcat(response, curl_easy_strerror(res));

                      strcat(response, "----------
---------------------------\n");

                     fprintf(logfile, response);

                     fflush(logfile);

              }

              curl_easy_cleanup(curl); //Cleaning up all the set data (
https://curl.haxx.se/libcurl/c/curl_easy_cleanup.html
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=XthUjfoSvxDykcS5grcZTJMh6x1YXkNLk0Zro-P3qDtZskbaI5fUCGgAdAB0AHAAcwA6AC8ALwBjAHUAcgBsAC4AaABhAHgAeAAuAHMAZQAvAGwAaQBiAGMAdQByAGwALwBjAC8AYwB1AHIAbABfAGUAYQBzAHkAXwBjAGwAZQBhAG4AdQBwAC4AaAB0AG0AbAA.&URL=https%3a%2f%2fcurl.haxx.se%2flibcurl%2fc%2fcurl_easy_cleanup.html>
)

       }

}

int main ()

{

       struct sockaddr_in listen, from;

       SOCKET listen_socket;

       int fromlen , recv_len;

       char ibuf[BUFFER_SIZE], *ibufptr;

       int count = 0;

    u_short listenPort = 5599;

       int rc;

       int lasterror;

       int timeout = 60000; // milliseconds

       int nt;

       char tbuf[5000];

       WSADATA wsaData;

       // wait 5 seconds for the other servers to start

       Sleep(5000);

       // get the current time and open the logfile

       time(&aclock);

       currtime = localtime(&aclock);

       CreateDirectory("c:\\serverlogs", NULL);

       if( (logfile = fopen("c:\\serverlogs\\Curl_SOAP_UDP.log", "a")) ==
NULL )

              {

              return -1;

              }

       rc = 0;

       while( rc != -1 )

              {

              time(&aclock);

              currtime = localtime(&aclock);

              fprintf(logfile, "\nStart: %s\n", asctime(currtime));

              fflush(logfile);

              fprintf(logfile, "Initialising Winsock...");

              fflush(logfile);

              if( WSAStartup(0x202, &wsaData) == SOCKET_ERROR )

                     {

                     ErrorExit("WSAStartup failed with error");

                     }

              fprintf(logfile, "Initialised.\n");

              fflush(logfile);

              //Create the listening socket

              listen.sin_family = AF_INET;

              listen.sin_addr.s_addr = INADDR_ANY;

              listen.sin_port = htons(listenPort);

              if((listen_socket = socket(AF_INET , SOCK_DGRAM , 0 )) ==
INVALID_SOCKET)

                     {

                     ErrorExit("Could not create socket");

                     }

              if( setsockopt(listen_socket, SOL_SOCKET, SO_RCVTIMEO, (char
 *)&timeout,sizeof(timeout)) != NO_ERROR )

                     {

                     ErrorExit("could not set recv timeout for local.\n");

                     }

              if( setsockopt(listen_socket, SOL_SOCKET, SO_SNDTIMEO, (char
 *)&timeout,sizeof(timeout)) != NO_ERROR )

                     {

                     ErrorExit("could not set send timeout for local.\n");

                     }

              //Bind

              if( bind(listen_socket ,(struct sockaddr *)&listen ,
sizeof(listen))
== SOCKET_ERROR)

                     {

                     ErrorExit("Bind failed with error code.\n");

                     }

              //keep listening for data

              while(1)

                     {

                     // check the log file size

                     if( _filelength(_fileno(logfile)) > 2000000 )

                           {

                           fclose(logfile);

                           remove("c:\\serverlogs\\Curl_SOAP_UDP.old");

                           rename("c:\\serverlogs\\Curl_SOAP_UDP.log",
"c:\\serverlogs\\Curl_SOAP_UDP.old");

                           logfile = fopen("c:\\serverlogs\\Curl_
SOAP_UDP.log", "a");

                           }

                     //clear the buffer by filling null, it might have
previously received data

                     memset(ibuf, 0, BUFFER_SIZE);

                     fprintf(logfile, "Listening on port %d\n", listenPort);

                     fflush(logfile);

                     //try to receive some data, this is a blocking call

                     fromlen = sizeof(from);

                     recv_len = recvfrom(listen_socket, ibuf, sizeof(ibuf),
0, (struct sockaddr *)&from, &fromlen);

                     if( recv_len == WSAETIMEDOUT )

                           {

                           continue;

                           }

                     if( recv_len == SOCKET_ERROR )

                           {

                           lasterror = WSAGetLastError();

                           if( lasterror == WSAETIMEDOUT ) continue;

                           fprintf(logfile, "recvfrom() failed: error %d\n",
lasterror);

                           fflush(logfile);

                           break;

                           }

                    ////////////////////////////////////////
////////////////////////////////////////////

                     // we got a message which contains the request type
and the full path of the request

                    ////////////////////////////////////////
////////////////////////////////////////////

                     ibuf[recv_len] = 0;

                     fprintf(logfile, "%s\n", ibuf);

                     fflush(logfile);

                     if (strcmp(ibuf, "CLOSE") > 0 )

                     {

                           ErrorExit("UDP Client Request to shutdown the
UDP Server.\n");

                     }

                     //Parse the request_type.

                     ibufptr = ibuf;

                     ibufptr = ParseString(ibufptr, request_type, sizeof
(request_type));

                     if( ibufptr == NULL || strstr("RESTSOAP",
request_type) == NULL )

                           {

                           fprintf(logfile, "Request is invalid.\n");

                           continue;

                           }

                     // parse the endpoint

                     ibufptr = ParseString(ibufptr, endpoint, sizeof
(endpoint));

                     if( (ibufptr == NULL) || (*endpoint == 0) )

                           {

                           fprintf(logfile, "Endpoint is invalid.\n");

                           continue;

                           }

                     //Parse the request_file.

                     ibufptr = ParseString(ibufptr, request_file, sizeof
(request_file));

                     if( (ibufptr == NULL) || (*request_file == 0) )

                           {

                           fprintf(logfile, "Request file is invalid.\n");

                           continue;

                           }

                     ibufptr = ParseString(ibufptr, credential, sizeof
(credential));

                     if(!(ibufptr == NULL) && !(*credential == 0) )

                           {

                                  flag = TRUE;

                                  username = strtok(credential,":");

                                  password = strtok( NULL, ":");

                           }

                     // open the request file and make sure it is good

                     if( (inpfile = fopen(request_file, "rb")) == NULL )

                           {

                           fprintf(logfile,"Failed to open inpfile.\n");

                           continue;

                           }

                     nt = 0;

                     while( (rc = fread(tbuf, 1, 4096, inpfile)) > 0 )

                           {

                           nt += 1;

                           }

                     fclose(inpfile);

                     if( nt < 1 )

                           {

                           fprintf(logfile,"input file empty.\n");

                           continue;

                           }

                     // it is good so reopen it

                     inpfile = fopen(request_file, "rb");

                     // create and open the output file

                     strcpy(response_file, "f:\\soap\\result");

                     strcat(response_file, strrchr(request_file, '\\'));

                     if( (outfile = fopen(response_file, "wb")) == NULL )

                           {

                           ErrorExit("Failed to open outfile.\n");

                           }

                     // make the request

                     if( strcmp(request_type, "REST")==0 )

                           {

                           // load the request for CURL as it is past in
memory

                           sizeof_request = fread(request, 1,
REQUEST_BUFFER_SIZE, inpfile);

                           postrestrequest(); //this function is above in
program to call rest request

                           }

                     else if( strcmp(request_type, "SOAP")== 0 ) //This
will be for SOAP Request

                           {

                           if(strstr(endpoint, "https:")) //If
endpoint of SOAP request is containing https that means it is secured
called else it is nonsecured called

                                  postrequest(1);

                           else

                                  postrequest(0);

                           }

                     fclose(inpfile);

                     fclose(outfile);

                     //Delete request file

                     //remove(request_file);

                     //now reply the client with the same data

                     fprintf(logfile, "sendto %s\n", response_file);

                     fflush(logfile);

                     if (sendto(listen_socket, response_file,
strlen(response_file) + 1, 0, (struct sockaddr*) &from, fromlen) ==
SOCKET_ERROR)

                           {

                           ErrorExit("sendto() failed with error code.\n");

                           }

                     time(&aclock);

                     currtime = localtime(&aclock);

                     fprintf(logfile, "\nEnd: %s\n", asctime(currtime));

                     fflush(logfile);

                     //strcpy(username,"");

                     //strcpy(password,"");

                     flag = FALSE;

                     }

              // Shut Winsock back down and clean up.

              closesocket(listen_socket);

              WSACleanup();

              }

              fclose(logfile);

}

What Curl send :

* STATE: INIT => CONNECT handle 0x2b4c0b0; line 1402 (connection #-5000)

* Added connection 0. The cache now contains 1 members

* STATE: CONNECT => WAITRESOLVE handle 0x2b4c0b0; line 1439 (connection #0)

* Trying 23.36.92.238...

* STATE: WAITRESOLVE => WAITCONNECT handle 0x2b4c0b0; line 1520 (connection
#0)

* Connected to www.odfl.com
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=4gu2F9xm-O3QLoS2aasMTgXcLDp9XNtg2Wu3Cz-60KCoFEnaI5fUCGgAdAB0AHAAOgAvAC8AdwB3AHcALgBvAGQAZgBsAC4AYwBvAG0A&URL=http%3a%2f%2fwww.odfl.com>
(23.36.92.238)
port 80 (#0)

* STATE: WAITCONNECT => SENDPROTOCONNECT handle 0x2b4c0b0; line 1562
(connection

#0)

* STATE: SENDPROTOCONNECT => DO handle 0x2b4c0b0; line 1580 (connection #0)

> POST /TraceWebServiceWeb/services/Trace HTTP/1.1

Host: www.odfl.com
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=4gu2F9xm-O3QLoS2aasMTgXcLDp9XNtg2Wu3Cz-60KCoFEnaI5fUCGgAdAB0AHAAOgAvAC8AdwB3AHcALgBvAGQAZgBsAC4AYwBvAG0A&URL=http%3a%2f%2fwww.odfl.com>

User-Agent: libcurl-agent/1.0

Accept: */*

Accept-Encoding: gzip,deflate

Content-Type: text/xml;charset=UTF-8

Transfer-Encoding: gzip

Content-Length: 32767

Expect: 100-continue

* STATE: DO => DO_DONE handle 0x2b4c0b0; line 1659 (connection #0)

* STATE: DO_DONE => WAITPERFORM handle 0x2b4c0b0; line 1786 (connection #0)

* STATE: WAITPERFORM => PERFORM handle 0x2b4c0b0; line 1796 (connection #0)

* HTTP 1.1 or later with persistent connection, pipelining supported

< HTTP/1.1 400 Bad Request

* Server Oracle-HTTP-Server-12c is not blacklisted

< Server: Oracle-HTTP-Server-12c

< Vary: Accept-Encoding

< Content-Type: text/html; charset=iso-8859-1

< Date: Tue, 09 May 2017 14:51:08 GMT

< Connection: close

< Set-Cookie: DCID=DC1

< Set-Cookie: NSC_MCWT_Psbdmf_xxx.pegm.dpn-80=ffffffffaf17e46945525d5f4f5845
5e44

5a4a4229a0;Version=1;Max-Age=3600;path=/;httponly

<

* nread <= 0, server closed connection, bailing

* STATE: PERFORM => DONE handle 0x2b4c0b0; line 1955 (connection #0)

* multi_done

* Closing connection 0

* The cache now contains 0 members

* Expire cleared

Result :

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head>

<title>302 Found</title>

</head><body>

<h1>Found</h1>

<p>The request could not be understood by server due to

malformed syntax.</p>

<p>Additionally, a 400 Bad Request

error was encountered while trying to use an ErrorDocument to handle the
request.</p>

</body></html>

I am supposed to be sending this or something close

SoupUI :

POST http://www.odfl.com/TraceWebServiceWeb/services/Trace
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=c-xxYerAOy1rnijzQ37NLeL-stZAisMddpV8A8EKqJmoFEnaI5fUCGgAdAB0AHAAOgAvAC8AdwB3AHcALgBvAGQAZgBsAC4AYwBvAG0ALwBUAHIAYQBjAGUAVwBlAGIAUwBlAHIAdgBpAGMAZQBXAGUAYgAvAHMAZQByAHYAaQBjAGUAcwAvAFQAcgBhAGMAZQA.&URL=http%3a%2f%2fwww.odfl.com%2fTraceWebServiceWeb%2fservices%2fTrace>
 HTTP/1.1

Accept-Encoding: gzip,deflate

Content-Type: text/xml;charset=UTF-8

SOAPAction: ""

Content-Length: 325

Host: www.odfl.com
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=4gu2F9xm-O3QLoS2aasMTgXcLDp9XNtg2Wu3Cz-60KCoFEnaI5fUCGgAdAB0AHAAOgAvAC8AdwB3AHcALgBvAGQAZgBsAC4AYwBvAG0A&URL=http%3a%2f%2fwww.odfl.com>

Connection: Keep-Alive

User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

SoupUI response :

HTTP/1.1 200 OK

Server: Oracle-HTTP-Server

Vary: Accept-Encoding

Content-Encoding: gzip

Cache-Control: max-age=0

Expires: Mon, 08 May 2017 19:02:31 GMT

X-UA-Compatible: IE=edge

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options: nosniff

Content-Type: text/xml; charset=utf-8

Content-Length: 928

Date: Mon, 08 May 2017 19:02:28 GMT

Connection: keep-alive

Set-Cookie: DCID=DC1

Set-Cookie: NSC_MCWT_Psbdmf_xxx.pegm.dpn-80=ffffffffaf17e66845525d5f4f5845
5e445a4a4229a0;Version=1;Max-Age=3600;path=/;httponly

<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.
xmlsoap.org/soap/envelope/
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=Sa67aTmt_AoGeFyrKKv9-hPJSX9DH8vfiRHmGtCfspKoFEnaI5fUCGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AdgBlAGwAbwBwAGUALwA.&URL=http%3a%2f%2fschemas.xmlsoap.org%2fsoap%2fenvelope%2f>
"><S:Header><WorkContext xmlns="http://oracle.com/weblogic/soap/workarea/
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=aPT71eLlzov-7-Lq3kgES3T5sHpRG3Akmtt8lg2UK8ioFEnaI5fUCGgAdAB0AHAAOgAvAC8AbwByAGEAYwBsAGUALgBjAG8AbQAvAHcAZQBiAGwAbwBnAGkAYwAvAHMAbwBhAHAALwB3AG8AcgBrAGEAcgBlAGEALwA.&URL=http%3a%2f%2foracle.com%2fweblogic%2fsoap%2fworkarea%2f>
">rO0ABXetACF3ZWJsb2dpYy5hcHAudHJhY2Utd2Vic2VydmljZS1hcHAAAADW
AAAAI3dlYmxvZ2ljLndvcmthcmVhLlN0cmluZ1dvcmtDb250ZXh0AAUxLjAu
OAAhd2VibG9naWMuYXBwLmZ1bGwtcHJvLWhpc3RvcnktYXBwAAAA1gAAACN3
ZWJsb2dpYy53b3JrYXJlYS5TdHJpbmdXb3JrQ29udGV4dAAGMS4wLjExAAA=
</WorkContext></S:Header><S:Body><p231:getTraceDataResponse xmlns:p231="
http://trace.odfl.com
<https://mail.gmgtransport.com/owa/redir.aspx?SURL=xF6Dt1IP8IRLrRcF15J-tDMcpmjHYpaP8snqW3qr1AOoFEnaI5fUCGgAdAB0AHAAOgAvAC8AdAByAGEAYwBlAC4AbwBkAGYAbAAuAGMAbwBtAA..&URL=http%3a%2f%2ftrace.odfl.com>
"><p231:getTraceDataReturn><p231:proNum>06916221036</
p231:proNum><p231:proDate>05/09/2017 Estimated </p231:proDate><p231:
statusCode>TPD</p231:statusCode><p231:status>Awaiting
Delivery</p231:status><p231:appointment>Set for 05/09/2017
11:00AM</p231:appointment><p231:pieces>4</p231:pieces><
p231:weight>2915</p231:weight><p231:po>507346</p231:po><
p231:bol>B004678</p231:bol><p231:trailer></p231:trailer><
p231:signature></p231:signature><p231:origTerminal>
SPL</p231:origTerminal><p231:origAddress>180 TALMADGE
ROAD</p231:origAddress><p231:origState>NJ</p231:origState><p231:origName>SOUTH
PLAINFIELD, NJ</p231:origName><p231:origCity>EDISON</p231:
origCity><p231:origZip>08817</p231:origZip><p231:origPhone>(800)
554-6335</p231:origPhone><p231:origFax>(732) 248-9618</p231:origFax><p231:
destTerminal>LAS</p231:destTerminal><p231:destAddress>1225 W. WASHINGTON
BLVD.</p231:destAddress><p231:destState>CA</p231:destState><p231:destName>LOS
ANGELES, CA</p231:destName><p231:destCity>MONTEBELLO</p231:
destCity><p231:destZip>90640</p231:destZip><p231:destPhone>(800)
245-6533</p231:destPhone><p231:destFax>(323) 887-8091</p231:destFax><p231:
delivered>N</p231:delivered><p231:url></p231:url><p231:
type>P</p231:type><p231:scac></p231:scac><p231:errorMessage>
</p231:errorMessage><p231:guaranteed>N</p231:guaranteed>
<p231:call>N</p231:call></p231:getTraceDataReturn></
p231:getTraceDataResponse></S:Body></S:Envelope>

Any Help is Appreciated

Reynard Harrison

Software Architect/IT Manager
Phone: 631-983-7324 <(631)%20983-7324>
Email: Shaka212002_at_gmail.com

-----------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-users
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2017-05-10