FedEx Web Services docs state:
FedEx offers a plain XML web services solution that you can use to send transactions without having to use tools that provide SOAP protocol support for web services.
And here is an example they've used in their docs as well:
Example 3: HTTP POST
The following HTTP POST example is a valid working example. It is not guaranteed to work for all
programming languages, applications, and host systems:
POST /xml HTTP/1.0
Referrer: YourCompanyNameGoesHere
Host: ws.fedex.com
Port: 443
Accept: image/gif, image/jpeg, image/pjpeg, text/plain, text/html, */*
Content-Type: text/xml
Content-length: %d
Your FedEx Transaction
------------------------
Each line is followed by one new line character except Content-length and the FedEx transaction. Two new
line characters follow the Content-length line. The FedEx transaction has no extra characters. The Content length line should have the length of the FedEx transaction in place of the %d variable.
If I wanted to set up a plain xml transaction using an HTTP post call in kotlin, what would that entail of?
Here is the SOAP WSDL I'd like to send. Tracking a shipment via passing in a tracking number
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v18="http://fedex.com/ws/track/v18">
<soapenv:Header/>
<soapenv:Body>
<v18:TrackRequest>
<v18:WebAuthenticationDetail>
<v18:ParentCredential>
<v18:Key>INPUT YOUR INFORMATION</v18:Key>
<v18:Password>INPUT YOUR INFORMATION</v18:Password>
</v18:ParentCredential>
<v18:UserCredential>
<v18:Key>INPUT YOUR INFORMATION</v18:Key>
<v18:Password>INPUT YOUR INFORMATION</v18:Password>
</v18:UserCredential>
</v18:WebAuthenticationDetail>
<v18:ClientDetail>
<v18:AccountNumber>INPUT YOUR INFORMATION</v18:AccountNumber>
<v18:MeterNumber>INPUT YOUR INFORMATION</v18:MeterNumber>
<v18:Localization>
<v18:LanguageCode>EN</v18:LanguageCode>
</v18:Localization>
</v18:ClientDetail>
<v18:TransactionDetail>
<v18:CustomerTransactionId>Track By Number_v18</v18:CustomerTransactionId>
<v18:Localization>
<v18:LanguageCode>EN</v18:LanguageCode>
<v18:LocaleCode>US</v18:LocaleCode>
</v18:Localization>
</v18:TransactionDetail>
<v18:Version>
<v18:ServiceId>trck</v18:ServiceId>
<v18:Major>18</v18:Major>
<v18:Intermediate>0</v18:Intermediate>
<v18:Minor>0</v18:Minor>
</v18:Version>
<v18:SelectionDetails>
<v18:CarrierCode>FDXE</v18:CarrierCode>
<v18:PackageIdentifier>
<v18:Type>TRACKING_NUMBER_OR_DOORTAG</v18:Type>
<v18:Value>INPUT YOUR INFORMATION</v18:Value>
</v18:PackageIdentifier>
<v18:ShipmentAccountNumber/>
<v18:SecureSpodAccount/>
<v18:Destination>
<v18:GeographicCoordinates>rates evertitque aequora</v18:GeographicCoordinates>
</v18:Destination>
</v18:SelectionDetails>
</v18:TrackRequest>
</soapenv:Body>
</soapenv:Envelope>