Attached a sample service implementation and a Client.
There are two methods in the SEI, one is having no header parameters (Foo) and the other is having one (NoAccess). Also the NoAccess method with a Header parameter has an additional namespace for the header that is different from the other parameters and the method and SEI. So now when this NoAccess method is executed first there is no issue, but when this method is executed second to Foo, the namespace of the method gets screwed up.
If when the NoAccess method is invoked after invoking the foo method a new namespace "http://cio.att.com/commonheader/v3" is added to the Namespace registry and this somehow triggers the wrong namespace in the operation when serialized.
<ns2:NoAccessRequest xmlns='http://cio.att.com/soapheader/inband' xmlns:ns2='http://cio.att.com/commonheader/v3'>
Whereas this should have been
<NoAccessRequest xmlns='http://cio.att.com/soapheader/inband' xmlns:ns2='http://cio.att.com/commonheader/v3'>
<ns2:NoAccessRequest xmlns='http://cio.att.com/commonheader/v3' xmlns:ns2='http://cio.att.com/soapheader/inband'>