<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: WMS CRS:84 is not allowed in .NET Maps SDK Questions</title>
    <link>https://community.esri.com/t5/net-maps-sdk-questions/wms-crs-84-is-not-allowed/m-p/334095#M3932</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm sorry to hear that you're having trouble. The name "CRS:84" is identical to "EPSG:4326" except for the axis order (lat-lon vs lon-lat). The WMS 1.3.0 specification recommends that all servers support both. Runtime 100.x does not currently expose any API&amp;nbsp;for choosing one name over the other, since both names map to &lt;CODE&gt;SpatialReferences.Wgs84&lt;/CODE&gt;. WMSLayer prefers sending "CRS:84" because we found it to be the most widely-used default, and because other Esri products already make the same preference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It might be possible to improve Runtime's compatibility with services that accept "EPSG:4326" but reject "CRS:84". I'm afraid that I could not find any software/service with this behavior. Are you able share more details about this particular WMS service (e.g. its URL, software details, a copy of the GetCapabilities response)?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 26 Apr 2018 22:37:28 GMT</pubDate>
    <dc:creator>MatveiStefarov</dc:creator>
    <dc:date>2018-04-26T22:37:28Z</dc:date>
    <item>
      <title>WMS CRS:84 is not allowed</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/wms-crs-84-is-not-allowed/m-p/334094#M3931</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;WMS Layer not showing up, because CRS:84 is used instead of EPSG:4326&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In Fiddler I can see that the requested WMS url uses : &amp;amp;crs=CRS%3A84&amp;amp; but it should be &amp;amp;crs=EPSG%3A4326 instead&lt;/P&gt;&lt;P&gt;How can I force the request to use the correct projection?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In ArcgisRuntime 10.2.7 the correct projection EPSG:4326 was used, now in Version 100.x.x always the unallowed CRS:84 is used.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2018 10:53:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/wms-crs-84-is-not-allowed/m-p/334094#M3931</guid>
      <dc:creator>MarvinKalani</dc:creator>
      <dc:date>2018-04-26T10:53:51Z</dc:date>
    </item>
    <item>
      <title>Re: WMS CRS:84 is not allowed</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/wms-crs-84-is-not-allowed/m-p/334095#M3932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm sorry to hear that you're having trouble. The name "CRS:84" is identical to "EPSG:4326" except for the axis order (lat-lon vs lon-lat). The WMS 1.3.0 specification recommends that all servers support both. Runtime 100.x does not currently expose any API&amp;nbsp;for choosing one name over the other, since both names map to &lt;CODE&gt;SpatialReferences.Wgs84&lt;/CODE&gt;. WMSLayer prefers sending "CRS:84" because we found it to be the most widely-used default, and because other Esri products already make the same preference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It might be possible to improve Runtime's compatibility with services that accept "EPSG:4326" but reject "CRS:84". I'm afraid that I could not find any software/service with this behavior. Are you able share more details about this particular WMS service (e.g. its URL, software details, a copy of the GetCapabilities response)?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2018 22:37:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/wms-crs-84-is-not-allowed/m-p/334095#M3932</guid>
      <dc:creator>MatveiStefarov</dc:creator>
      <dc:date>2018-04-26T22:37:28Z</dc:date>
    </item>
    <item>
      <title>Re: WMS CRS:84 is not allowed</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/wms-crs-84-is-not-allowed/m-p/334096#M3933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;GetCapabilities looks like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;Layer&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Title&amp;gt;WMS&amp;lt;/Title&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;CRS&amp;gt;EPSG:4326&amp;lt;/CRS&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;BoundingBox CRS="EPSG:4326" minx="-90" miny="-180" maxx="90" maxy="180" /&amp;gt;&lt;BR /&gt;&amp;lt;/Layer&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my point of view you should not use other CRS definitions than given in the specific layer, otherwise you will get an :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;ServiceException code="InvalidCRS"&amp;gt;unsupported crs: CRS:84&amp;lt;/ServiceException&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the Layer contains CRS:84 in the &amp;lt;CRS&amp;gt; tag it would be ok:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;Layer&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Title&amp;gt;WMS&amp;lt;/Title&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;CRS&amp;gt;EPSG:4326&amp;lt;/CRS&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;CRS&amp;gt;CRS:84&amp;lt;/CRS&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;BoundingBox CRS="EPSG:4326" minx="-90" miny="-180" maxx="90" maxy="180" /&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90" /&amp;gt;&lt;BR /&gt;&amp;lt;/Layer&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the Layer CRS tag does not contain CRS:84 it would NOT be ok and would also end up in the ServiceException:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;Layer&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Title&amp;gt;WMS&amp;lt;/Title&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;CRS&amp;gt;EPSG:4326&amp;lt;/CRS&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;BoundingBox CRS="EPSG:4326" minx="-90" miny="-180" maxx="90" maxy="180" /&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;BoundingBox CRS="CRS:84" minx="-180" miny="-90" maxx="180" maxy="90" /&amp;gt;&lt;BR /&gt;&amp;lt;/Layer&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can try it out here (its just an example I found):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this is fine :&lt;/P&gt;&lt;P&gt;&lt;A class="jivelink5" href="http://129.206.228.72/cached/osm?LAYERS=osm_auto:all&amp;amp;STYLES=&amp;amp;CRS=EPSG%3A4326&amp;amp;FORMAT=image%2Fpng&amp;amp;SERVICE=WMS&amp;amp;REQUEST=GetMap&amp;amp;BBOX=0,0,10,10&amp;amp;WIDTH=256&amp;amp;HEIGHT=256&amp;amp;version=1.3.0" title="http://129.206.228.72/cached/osm?LAYERS=osm_auto:all&amp;amp;STYLES=&amp;amp;CRS=EPSG%3A4326&amp;amp;FORMAT=image%2Fpng&amp;amp;SERVICE=WMS&amp;amp;REQUEST=GetMap&amp;amp;BBOX=0,0,10,10&amp;amp;WIDTH=256&amp;amp;HEIGHT=256&amp;amp;version=1.3.0"&gt;http://129.206.228.72/cached/osm?LAYERS=osm_auto:all&amp;amp;STYLES=&amp;amp;CRS=EPSG%3A4326&amp;amp;FORMAT=image%2Fpng&amp;amp;SERVICE=WMS&amp;amp;REQUEST=GetMap&amp;amp;BBOX=0,0,10,10&amp;amp;WIDTH=256&amp;amp;HEIGHT=256&amp;amp;version=1.3.0&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this is causing "unsupported crs: CRS:84":&lt;/P&gt;&lt;P&gt;&lt;A class="jivelink4" href="http://129.206.228.72/cached/osm?LAYERS=osm_auto:all&amp;amp;STYLES=&amp;amp;CRS=CRS%3A84&amp;amp;FORMAT=image%2Fpng&amp;amp;SERVICE=WMS&amp;amp;REQUEST=GetMap&amp;amp;BBOX=0,0,10,10&amp;amp;WIDTH=256&amp;amp;HEIGHT=256&amp;amp;version=1.3.0" title="http://129.206.228.72/cached/osm?LAYERS=osm_auto:all&amp;amp;STYLES=&amp;amp;CRS=CRS%3A84&amp;amp;FORMAT=image%2Fpng&amp;amp;SERVICE=WMS&amp;amp;REQUEST=GetMap&amp;amp;BBOX=0,0,10,10&amp;amp;WIDTH=256&amp;amp;HEIGHT=256&amp;amp;version=1.3.0"&gt;http://129.206.228.72/cached/osm?LAYERS=osm_auto:all&amp;amp;STYLES=&amp;amp;CRS=CRS%3A84&amp;amp;FORMAT=image%2Fpng&amp;amp;SERVICE=WMS&amp;amp;REQUEST=GetMap&amp;amp;BBOX=0,0,10,10&amp;amp;WIDTH=256&amp;amp;HEIGHT=256&amp;amp;version=1.3.0&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The GetCapabilities does not show CRS:84 as possible &amp;lt;CRS&amp;gt; Tag even if the bounding boxes would let you think you can use it:&lt;/P&gt;&lt;P&gt;&lt;A class="jivelink1" href="http://129.206.228.72/cached/osm?Request=GetCapabilities&amp;amp;service=WMS&amp;amp;version=1.3.0" title="http://129.206.228.72/cached/osm?Request=GetCapabilities&amp;amp;service=WMS&amp;amp;version=1.3.0"&gt;http://129.206.228.72/cached/osm?Request=GetCapabilities&amp;amp;service=WMS&amp;amp;version=1.3.0&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Apr 2018 12:41:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/wms-crs-84-is-not-allowed/m-p/334096#M3933</guid>
      <dc:creator>MarvinKalani</dc:creator>
      <dc:date>2018-04-27T12:41:35Z</dc:date>
    </item>
    <item>
      <title>Re: WMS CRS:84 is not allowed</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/wms-crs-84-is-not-allowed/m-p/334097#M3934</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for sharing more information! We will continue investigating, to see if the default behavior of WmsLayer can be improved in the future. I also have a workaround you can use right now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Runtime SDK for .NET&amp;nbsp;includes a global&amp;nbsp;&lt;A href="https://developers.arcgis.com/net/latest/wpf/api-reference//html/E_Esri_ArcGISRuntime_Http_ArcGISHttpClientHandler_HttpRequestBegin.htm" rel="nofollow noopener noreferrer" target="_blank"&gt;ArcGISHttpClientHandler.HttpRequestBegin event&lt;/A&gt;. This event&amp;nbsp;is raised before Runtime makes a network request, and allows application developers to examine or modify the request parameters. By listening to this event you can detect WMS requests that use "CRS:84" and&amp;nbsp;change them to&amp;nbsp;use "EPSG:4326" instead. Here is an example implementation:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;private&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;static&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ReplaceCrs84WithEpsg4326&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;object&lt;/SPAN&gt; sender&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; HttpRequestMessage e&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;string&lt;/SPAN&gt; rawQuery &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; e&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;RequestUri&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Query&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// Skip requests without a query&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;string&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;IsNullOrEmpty&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;rawQuery&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// For convenience, parse query as a Dictionary&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; queryParameters &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; System&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Web&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;HttpUtility&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;ParseQueryString&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;rawQuery&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; queryDict &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; queryParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;AllKeys&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;ToDictionary&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; k&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;ToUpperInvariant&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; queryParameters&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;k&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;ToUpperInvariant&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// Skip requests that are not WMS&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;string&lt;/SPAN&gt; serviceParam&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;!&lt;/SPAN&gt;queryDict&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;TryGetValue&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"SERVICE"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;out&lt;/SPAN&gt; serviceParam&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;||&lt;/SPAN&gt; serviceParam&lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"WMS"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// Skip requests that don't use CRS:84&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;string&lt;/SPAN&gt; crsParam&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;!&lt;/SPAN&gt;queryDict&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;TryGetValue&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"CRS"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;out&lt;/SPAN&gt; crsParam&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;||&lt;/SPAN&gt; crsParam &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"CRS:84"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// TODO: if necessary, apply additional checks here to limit which WMS services are affected&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// Replace "CRS:84" with "EPSG:4326"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParameters&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"CRS"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"EPSG:4326"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// Swap lat/lon in the requested coordinates&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; bbox &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; queryDict&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"BBOX"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Split&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;','&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; swappedBbox &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; bbox&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;','&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; bbox&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;','&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; bbox&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;','&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; bbox&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParameters&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"BBOX"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; swappedBbox&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// Replace the original query with our modified one&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; uriWithoutParams &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; e&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;RequestUri&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;AbsoluteUri&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Split&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'?'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;First&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; e&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;RequestUri &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;Uri&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uriWithoutParams &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'?'&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; queryParameters&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And here is how you can connect it (this only needs to be done once):&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;ArcGISHttpClientHandler&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;HttpRequestBegin &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; ReplaceCrs84WithEpsg4326&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With this workaround in place, I was able to use any layer from the&amp;nbsp;University of Heidelberg WMS service. I hope that it works for your service too.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 15:49:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/wms-crs-84-is-not-allowed/m-p/334097#M3934</guid>
      <dc:creator>MatveiStefarov</dc:creator>
      <dc:date>2021-12-11T15:49:45Z</dc:date>
    </item>
    <item>
      <title>Re: WMS CRS:84 is not allowed</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/wms-crs-84-is-not-allowed/m-p/334098#M3935</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, it works like a charm. Thank you very much. &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 May 2018 10:46:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/wms-crs-84-is-not-allowed/m-p/334098#M3935</guid>
      <dc:creator>MarvinKalani</dc:creator>
      <dc:date>2018-05-02T10:46:46Z</dc:date>
    </item>
  </channel>
</rss>

