Skip to content

"Namespace prefix is not defined" after update from 1.2.0.1 to 1.2.1 #1183

@Montellese

Description

@Montellese

Hi

We have updated SoapCore from 1.2.0.1 to 1.2.1 in one of our services. Now we get the following error when receiving a SOAP request:

2026-03-06 16:52:58.716 [Debug] [SoapCore.SoapEndpointMiddleware] Received SOAP Request for "/" (810 bytes)
2026-03-06 16:52:58.733 [Information] [SoapCore.SoapEndpointMiddleware] Request for operation "tal_serverPortType"."request" received
2026-03-06 16:52:58.744 [Error] [SoapCore.SoapEndpointMiddleware] An error occurred processing the message
System.InvalidOperationException: There is an error in XML document (1, 1).
 ---> System.InvalidOperationException: Namespace prefix 'tal' is not defined.
   at System.Xml.Serialization.XmlSerializationReader.ToXmlQualifiedName(String value, Boolean decodeName)
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderrequestRequest.Read76_Request(Boolean isNullable, Boolean checkType)
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderrequestRequest.Read77_requestRequest(Boolean isNullable, Boolean checkType)
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderrequestRequest.Read78_request()
   at InvokeStub_XmlSerializationReaderrequestRequest.Read78_request(Object, Object, IntPtr*)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader)
   at SoapCore.Serializer.SerializerHelper.DeserializeObject(XmlDictionaryReader xmlReader, Type parameterType, String parameterName, String parameterNs) in /_/src/SoapCore/Serializer/SerializerHelper.cs:line 103
   at SoapCore.Serializer.SerializerHelper.DeserializeInputParameter(XmlDictionaryReader xmlReader, Type parameterType, String parameterName, String parameterNs, ICustomAttributeProvider customAttributeProvider, IEnumerable`1 knownTypes) in /_/src/SoapCore/Serializer/SerializerHelper.cs:line 50
   at SoapCore.SoapEndpointMiddleware`1.ProcessMessage(Message requestMessage, SoapMessageEncoder messageEncoder, IAsyncMessageFilter[] asyncMessageFilters, HttpContext httpContext, IServiceProvider serviceProvider) in /_/src/SoapCore/SoapEndpointMiddleware.cs:line 489
2026-03-06 16:52:58.774 [Error] [SoapCore.SoapEndpointMiddleware] An error occurred processing the message
System.InvalidOperationException: There is an error in XML document (1, 1).
 ---> System.InvalidOperationException: Namespace prefix 'tal' is not defined.
   at System.Xml.Serialization.XmlSerializationReader.ToXmlQualifiedName(String value, Boolean decodeName)
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderrequestRequest.Read76_Request(Boolean isNullable, Boolean checkType)
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderrequestRequest.Read77_requestRequest(Boolean isNullable, Boolean checkType)
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderrequestRequest.Read78_request()
   at InvokeStub_XmlSerializationReaderrequestRequest.Read78_request(Object, Object, IntPtr*)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader)
   at SoapCore.Serializer.SerializerHelper.DeserializeObject(XmlDictionaryReader xmlReader, Type parameterType, String parameterName, String parameterNs) in /_/src/SoapCore/Serializer/SerializerHelper.cs:line 103
   at SoapCore.Serializer.SerializerHelper.DeserializeInputParameter(XmlDictionaryReader xmlReader, Type parameterType, String parameterName, String parameterNs, ICustomAttributeProvider customAttributeProvider, IEnumerable`1 knownTypes) in /_/src/SoapCore/Serializer/SerializerHelper.cs:line 50
   at SoapCore.SoapEndpointMiddleware`1.ProcessMessage(Message requestMessage, SoapMessageEncoder messageEncoder, IAsyncMessageFilter[] asyncMessageFilters, HttpContext httpContext, IServiceProvider serviceProvider) in /_/src/SoapCore/SoapEndpointMiddleware.cs:line 489
   at SoapCore.SoapEndpointMiddleware`1.ProcessOperation(HttpContext httpContext, IServiceProvider serviceProvider) in /_/src/SoapCore/SoapEndpointMiddleware.cs:line 307

This is the SOAP request:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
	xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:tal-server="urn:tal_server"
	xmlns:tal-client="urn:tal_client"
	xmlns:tal="urn:tal">
	<SOAP-ENV:Body>
		<tal-server:request>
			<request xsi:type="tal:CreateSession">
				<sessionId></sessionId>
				<requestId>2982441</requestId>
				<version>2.5</version>
				<clientUrl>http://192.168.1.2:7000</clientUrl>
				<properties>
					<name>xxx</name>
					<value>false</value>
				</properties>
			</request>
		</tal-server:request>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

What is the issue with this request and why did it work fine with version 1.2.0.1?
We can't control the sender of the request, so we need to find a way to handle this properly on our side.

Thanks for your help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions