dotnet / dotnet/wcf

Old SOAP service (web reference) - throwing 'Message {nameOfFunction} must not have headers to be used in RPC encoded style.'

Open
#3,750 34 comments 0 reactions 1 assignee Assigned to @mconnew View on GitHub
Net Core 3.1 LTS Servicing
Dominant language
C#
Stars
1.8k
Forks
576
Avg merge
6d 9h
Merged PRs (30d)
2

Description

This might not be the right place for this - it's not necessarily an error in dotnet/wcf. But I'm hoping you guys can either answer or point me to the right place.

I'm consuming a SOAP service that uses the old .NET Framework Web Services 2.0 (I believe, there is no .svc, but there is a WSDL).

I can consume this service in .NET Framework by going to 'Add service reference -> Advanced -> Add web reference". Works no problem.

In .NET Core, when I add it as a Connected Service, firstly the code is somewhat different. But I also get an error when I call any endpoint, that goes as follows:

'Message {nameOfFunction} must not have headers to be used in RPC encoded style.'

And well, yes, it did generate the code so that the functions are marked with RPC and encoded.

The error happens in System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.OperationReflector.LoadHeadersMapping(MessageDescription message, String mappingKey) when checking that MessageDescription message.Headers.Count > 0 (and IsEncoded is true).
Do you think it's worthwhile chasing this error down? Is it likely that this kind of API is just not supported in .NET Core?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.