SOAP Request working, HTTP Request not
I have a strange problem, and I can't wrap my head around it. I have an embedded Java component in a larger system, which handles web service calls and parses the results. I was given a new WSDL today, and the task to add the new web service endpoints and XML bodies to my components configuration. The web service calls returned 500 error, so I decided to test them in SoapUI. I loaded the WSDL and to my surprise they worked with exact same endpoint and XML body as with my component, but instead of 500 error they kept returning 200 OK. I had an idea, and instead of a SOAP project I created an Empty project with a HTTP Request Test Step, added the endpoint and the XML body, and I received the same 500 error as with my component.
Normally, the WS should return a session id, but instead I received this error:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<soap:Code>
<soap:Value>soap:Receiver</soap:Value>
</soap:Code>
<soap:Reason>
<soap:Text xml:lang="en">Server was unable to process request. ---> Failed to parse HTTP headers</soap:Text>
</soap:Reason>
<soap:Detail/>
</soap:Fault>
</soap:Body>
</soap:Envelope>
My question is, what is the difference between the HTTP and the SOAP request steps? The previous web services that I installed to my component's config work flawlessly in SOAP and HTTP request steps too. Where should I check for differences here?
UPDATE:
I didn't realize I can view the raw message I sent in SoapUI, and when I checked it I instantly realized I was missing the SOAPAction header. I added that and everything was fine.