SOAP - пространство имен, для чего это используется?

Для чего используется пространство имен в веб-сервисе SOAP?

5
задан 001 19 June 2010 в 12:23
поделиться

3 ответа

Из http://tempuri.org/ :

Каждой веб-службе XML требуется уникальный пространство имен для клиента приложения, чтобы отличить его от другие сервисы в сети. К по умолчанию веб-службы ASP.Net используют http://tempuri.org/ для этой цели. Хотя это подходит для XML Web Услуги в разработке, опубликованы сервисы должны использовать уникальный, постоянное пространство имен.

Ваша веб-служба XML должна быть определяется пространством имен, которое вы контроль. Например, вы можете использовать свой Интернет-доменное имя компании как часть пространства имен. Хотя многие пространства имен выглядят как URL-адреса, им нужны не указывать на фактические ресурсы на Интернет.

Предположим, компании A и B создают сервис с методами одной и той же сигнатуры. Чтобы различать их, вы можете добавить пространство имен. Это сделало бы их разными с точки зрения клиента, то есть вы не могли бы использовать wsdl (прокси-классы) от одного к другому и наоборот.

Считается хорошей практикой использовать уникальное пространство имен для ваших служб. Обычно имя / домен вашей компании или подобное, вместо стандартного tempuri.org .

4
ответ дан 14 December 2019 в 08:42
поделиться

Пространство имен - это концепция XML. Предположим, у вас есть XML-документ о книгах, который имеет элемент </code>, и документ о персонах, который имеет элемент <code><title></code>. Оба элемента <code><title></code> имеют разное концептуальное значение, несмотря на то, что у них одинаковые имена. Если бы вы объединили документы, вы бы не увидели разницы между ними. </p> <p>Именно в этом случае на помощь приходит пространство имен. Полное имя элемента состоит из пространства имен и имени элемента, но пространство имен часто сокращается или опускается. </p> <p>XML позволяет вам использовать более короткие слова для пространств имен. Например, вы можете определить, что <code>b=http://www.books.info/my_books</code> и после этого использовать <code><b:title></code>, если вы имеете в виду заголовок из этого пространства имен. </p> </div> <div class="votes-answer green"> <div class="vote-count" itemprop="upvoteCount">3</div><i class="fa fa-thumbs-o-up"></i> </div> <div class="clearfix"></div> <div class="action-time"> ответ дан <span title="14 December 2019 в 08:42 ">14 December 2019 в 08:42 </span> </div> <a class="s-link" href="/questions/506181/soap-prostranstvo-imen-dlja-chego-eto-ispolzuetsja#584" title="поделиться">поделиться</a> </div> <div class="post-layout--right"> <div id="comments-901396"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> </ul> </div> </div> </div> </div> <div class="answer" id="901398" itemscope="" itemtype="http://schema.org/Answer"> <div class="answer-row"> <div class="answer-text"> <div class="description" itemprop="text"> <p> Я думаю, что это System.Web.Services.Protocols </p> </div> <div class="votes-answer"> <div class="vote-count" itemprop="upvoteCount">0</div><i class="fa fa-thumbs-o-up"></i> </div> <div class="clearfix"></div> <div class="action-time"> ответ дан <span title="14 December 2019 в 08:42 ">14 December 2019 в 08:42 </span> </div> <a class="s-link" href="/questions/506181/soap-prostranstvo-imen-dlja-chego-eto-ispolzuetsja#584" title="поделиться">поделиться</a> </div> <div class="post-layout--right"> <div id="comments-901398"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> </ul> </div> </div> </div> </div> <div style="margin-top: 20px;"> Другие вопросы по тегам: <div class="tags" style="display: inline-block; float: none;"> <a href="/questions/tagged/c#" class="tag" title="c#" rel="tag">c#</a> <a href="/questions/tagged/asp.net" class="tag" title="asp.net" rel="tag">asp.net</a> </div> <h3 class="m-t-20">Похожие вопросы:</h3> <div class="related-block"> <ul> <li><div class='votes-answer green'><span class='vote-count'>295</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/89499/skrytye-vozmozhnosti-c-zakryto" title="Скрытые возможности C #? [закрыто]">Скрытые возможности C #? [закрыто]</a> - 25 September 2017 20:53 </li> <li><div class='votes-answer green'><span class='vote-count'>115</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/83765/kakie-vashi-ljubimye-metody-rasshirenija-dlja-c-codeplex-com-extensionoverflow" title="Какие ваши любимые методы расширения для C #? (Codeplex.com/extensionoverflow)">Какие ваши любимые методы расширения для C #? (Codeplex.com/extensionoverflow)</a> - 23 May 2017 12:18 </li> <li><div class='votes-answer green'><span class='vote-count'>81</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/96626/ispolzovanie-kljuchevogo-slova-var-v-c" title="Использование ключевого слова var в C #">Использование ключевого слова var в C #</a> - 3 February 2015 03:25 </li> <li><div class='votes-answer green'><span class='vote-count'>51</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/138697/pochemu-eto-schitajut-plohoj-praktikoj-dlja-iskljuchenija-figurnyh-skobok-zakrytyj" title="Почему это считают плохой практикой для исключения фигурных скобок? [закрытый]">Почему это считают плохой практикой для исключения фигурных скобок? [закрытый]</a> - 19 August 2016 17:07 </li> <li><div class='votes-answer green'><span class='vote-count'>48</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/96780/chto-takoe-hudshaja-oshibka-v-c-ili-net-zakryto" title="Что такое худшая ошибка в C # или .NET? [закрыто]">Что такое худшая ошибка в C # или .NET? [закрыто]</a> - 13 August 2015 04:30 </li> <li><div class='votes-answer green'><span class='vote-count'>46</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/131576/zakryvajutsja-skrytye-funkcii-asp-net" title="[Закрываются] скрытые функции ASP.NET">[Закрываются] скрытые функции ASP.NET</a> - 23 May 2017 01:54 </li> <li><div class='votes-answer green'><span class='vote-count'>41</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/125521/chto-za-i-protiv-javljajutsja-k-uderzhaniju-sql-sohranennym-procs-po-sravneniju-s-zakrytym-kodom" title="Что за и против являются к удержанию SQL Сохраненным Procs по сравнению с [закрытым] Кодом">Что за и против являются к удержанию SQL Сохраненным Procs по сравнению с [закрытым] Кодом</a> - 27 October 2008 14:46 </li> </ul> </div> </div> </div> </div> </div> <aside class="sidebar"> <div class="awrap"> <script async src="https://yastatic.net/pcode-native/loaders/loader.js"></script> <script> (yaads = window.yaads || []).push({ id: "553274-2", render: "#id-553274-2" }); </script> <div id="id-553274-2"></div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:inline-block;width:300px;height:600px" data-ad-client="ca-pub-2355906945027976" data-ad-slot="8038370725"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </aside> </div> </div> <footer class="footer"> <div class="wrapper wrapper--sm"> <div class="footer-navs-col"> <div class="footer-nav footer-nav--menu"> <div class="footer-coryright">© 2017 - 2020 Вопросы и ответы по программированию</div> </div> <div class="footer-nav footer-nav--catalog"> </div> </div> <div class="footer-contacts-col"> <div class="soc-widget-col"> </div> </div> <div class="clearfix"></div> </div> </footer> </div> <script type="text/javascript" src="/js/ui/jquery-ui-1.8.16.custom.min.js"></script> <script type="text/javascript" src="/js/ui/external/jquery.cookie.js"></script> <script type="text/javascript" src="/js/versions/menu.ru.u1607887878.js"></script> <script type="text/javascript" src="/js/jquery.fancybox.min.js"></script> <script type="text/javascript" src="/js/slick.min.js"></script> <script type="text/javascript" src="/js/jquery.maskedinput.min.js"></script> <script type="text/javascript" src="/js/versions/scripts.ru.u1607887878.js"></script> <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; var z = null;m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(90030325, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/90030325" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-123993370-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-123993370-1'); </script> </div> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "name": "Программирование - вопросы и ответы", "alternateName": "Программирование - вопросы и ответы", "url": "https://legkovopros.ru", "potentialAction": { "@type": "SearchAction", "target": "https://legkovopros.ru/search?search={search_term_string}", "query-input": "required name=search_term_string" } } { "@context": "https://schema.org", "@type": "Organization", "name": "Программирование - вопросы и ответы", "url": "https://legkovopros.ru", "logo": "https://legkovopros.ru/i/logo.png", "email": "info@legkovopros.ru", "telephone": "" } </script> </body> </html>