I have an issue, with not being able to set the the correct header

here is the operation from the WSDL:

- <wsdl:operation name="findRegistrationByID" parameterOrder="registrationID">
  <wsdl:input message="impl:findRegistrationByIDRequest" name="findRegistrationByIDRequest" /> 
  <wsdl:output message="impl:findRegistrationByIDResponse" name="findRegistrationByIDResponse" /> 

This is also from WSDL:

- <wsdl:operation name="findRegistrationByID">
  <wsdlsoap:operation soapAction="urn://url/findRegistrationByID" /> 
- <wsdl:input name="findRegistrationByIDRequest">
  <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn://url/" use="encoded" /> 
- <wsdl:output name="findRegistrationByIDResponse">
  <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn://url/" use="encoded" /> 

here is my code:
Case 1:

req.Headers.Add("SOAPAction:", "urn://url/findRegistrationByID");

Error: Invalid HTTP Header characters. Parameter name:name
Case 2:

req.Headers.Add("SOAPAction", "urn://url/findRegistrationByID");

Error: This property is not implemented by this class.
Case 3:


Error: Specified value does not have a ':' separator. Parameter name: header
Case 4:


Error: This property is not implemented by this class.
Case 5:
Without header
Error: The remote server returned an error: (500) Internal Server Error.

I don't have access to the server logs, and the SOAP request is built correctly. Can you point me in the right direction?

Using the regular Web Services construction is not an option?

I want to go this road :)

Can you make another app that uses WS and just compare how it does the soap header?

commented: This would be the way to go, if i knew how +1

Sorry, i can't seem to be able to create the request using an Web Reference. This is why i am trying with this method.