I have to write a web service client in short time that calls a web service running on a WebSphere app server. The service is not under my control as it is a vendor product. The service is in our SSO domain so we can call it with the LTPA token as a cookie(actually its a requirement for SSO since it is a background call) and not require the user's password. I didnt see a way to do this using the custom cookie (LtpaToken) with Axis even though similar things were hashed over in hundreds of posts to this list. For now I have a quick solution using Apache SOAP that works where: I use Apache SOAP to build the request envelope then unmarshal it into String, use Commons HttpClient to send it after adding the Http Header representing the LtpaToken as a cookie to the request, then use Apache SOAP to marshal the response back into a response envelope for processing. Its convoluted, I know, but the SSO works and I didnt see a better way in the time I need it done.
The problem is that some of the vendors services take org.w3c.dom.Elements as arguments and Apache SOAP has no serializers/deserializers for (literal) Elements. Apache Axis handles org.w3c.dom.Elements fine, but it appears to be a much more difficult proposition to get the String, or byte[] representation of the Envelope that it intends to send across the wire, user HttpClient to actually send it, and then to build a response envelope from the response bytes that come back through HttpClient. Can anyone point me to a quick way to do one, or both? Or am I missing the boat and there is an easier way to add the cookie to the request when Axis goes to send the request?
Thanks in advance.
Mike