0.9.9.3 change of datacontract namespace not working?
See original GitHub issueHi!
The way datacontract namespaces are generated in metadata have changed in 0.9.9.3 (or maybe 0.9.9.2). With 0.9.9.1, datamembers got the same namespace as the service. See this example request generated by SoapUI for my service:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://mynamespace.com/services/foo/v1/">
<soapenv:Header/>
<soapenv:Body>
<v1:GetPerson>
<v1:request>
<v1:IdentificationNumber>123</v1:IdentificationNumber>
</v1:request>
</v1:GetPerson>
</soapenv:Body>
</soapenv:Envelope>
But with 0.9.9.3 (and also latest in master), the datamembers get a separate namespace:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://mynamespace.com/services/foo/v1/" xmlns:mim="http://schemas.datacontract.org/2004/07/Foo.Soap.V1">
<soapenv:Header/>
<soapenv:Body>
<v1:GetPerson>
<v1:request>
<mim:IdentificationNumber>123</mim:IdentificationNumber>
</v1:request>
</v1:GetPerson>
</soapenv:Body>
</soapenv:Envelope>
This is all well and good for the WSDL itself, since this is the way that WCF in .Net Framework generates namespaces. However, SoapCores runtime code can’t seem to recognize the parameters (in the example above “IdentificationNumber”). I have tried changing the order of the parameters, and having an explicit namespace on the datacontract, but that is not used. No matter what I do, parameters are null when receiving a request in my service.
Issue Analytics
- State:
- Created 5 years ago
- Comments:17 (9 by maintainers)
Top GitHub Comments
https://www.nuget.org/packages/SoapCore/0.9.9.4
This issue was closed because it has been inactive for 14 days since being marked as stale.