I don't think any of the common WS libraries support Java 1.2, so you may have to roll your own. You'd have to create the SOAP request as an XML document, and then send (and receive the response) using the HttpURLConnection class.
By "custom header", do you mean a SOAP header or an HTTP header? If the former, then you'll have to add that yourself using whatever XML API you end up using. If the latter, then the HttpURLConnection class can do that.