Вопрос

Я довольно новичок в мыло, так что иди легко на меня. Я пытаюсь настроить сервис SOAP, который принимает следующий формат заголовка:

<soap:Header>
   <wsse:Security>
      <wsse:UsernameToken wsu:Id='SecurityToken-securityToken'>
         <wsse:Username>Username</wsse:Username>
         <wsse:Password>Password</wsse:Password>
         <wsu:Created>Timestamp</wsu:Created>
      </wsse:UsernameToken>
   </wsse:Security>
</soap:Header>

Приложение, которое я включаю эту услугу в веб-приложение ASP.NET 3.5, и я уже настроил конечную точку SOAP, используя WCF. Я настроил базовую услугу, чтобы убедиться, что WCF работает, и он работает нормально (игнорируя заголовок). Я слышал, что вышеуказанный формат следует за помощью WS-Security, поэтому я добавил WSHTTPBinding в Web.config:

<service name="Nexternal.Service.XMLTools.VNService"
         behaviorConfiguration="VNServiceBehavior">
  <!--The first endpoint would be picked up from the confirg
  this shows how the config can be overriden with the service host-->
  <endpoint address=""
            binding="wsHttpBinding"
            contract="Nexternal.Service.XMLTools.IVNService"/>
</service>

Я скачал тестовый жгут (SOAPUI) и вставил в тестовое сообщение с вышеуказанным заголовком, и он вернулся с ошибкой 400 плохого запроса.

... За что это стоит, я запускаю Visual Studio 2008, используя IIS7.

Я чувствую, что я иду в круги, поэтому любая помощь была бы потрясающей. Заранее спасибо.

Это было полезно?

Решение

Догадаться. Я смог настроить то, что было сгенерировано в WSDL, используя MessageContracts (http://msdn.microsoft.com/en-us/library/ms730255.aspx.). Это позволило мне указать формат заголовка. Для каждого узла, которые содержали детские узлы, я создал класс для представления этого узла и использовал сериализующие инструменты .NET (например, XmlElementAttribute, XmlArrayAttribute, и т. д.) Укажите, как это должно быть отражено в генерированном WSDL. DataContract также можно использовать хотя из моего понимания DataContract Был только для основных форматов, и не позволяйте вам действительно погрузиться в то, как он отформатирован.

Надеюсь, это поможет кому-либо подобные проблемы.

Если кто-то, кто знает больше о SOAP, находит ответ, пожалуйста, дайте мне знать. Ввод очень ценится.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top