На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Как сменить WS Addressing и убрать ReplyTo , Как сменить WS Addressing и убрать ReplyTo в заголовке запроса
    Мой клиент на C# отправляет такой заголовок на сервер:
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    <s:Header>
    <a:Action s:mustUnderstand="1">http://roskazna.ru/SmevUnifoService/UnifoTransferMsg</a:Action>
    <a:MessageID>urn:uuid:a58f8a06-aa5a-4132-8f8e-afeda6615e79</a:MessageID>
    <ActivityId CorrelationId="fca48139-388e-49d2-adc9-a6a583057156" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">3a3ded8e-c480-4123-8da2-17e060ad2a24</ActivityId>
    <a:ReplyTo>
    <a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address>
    </a:ReplyTo>
    <a:To s:mustUnderstand="1">urn:sv:fk@fk.smev.ru</a:To>
    <MessageType xmlns="urn:sv:interaction:v0.1">Electronic</MessageType>
    <From xmlns="http://www.w3.org/2005/08/addressing">
    <Address>urn:sv:AdminD@nadzor.ru</Address>
    </From>
    </s:Header>

    Сервер написан не мной. На Java. Он падает от таких запросов. Мне сказали, что нужно заменит WS Addressing на http://www.w3.org/2005/08/addressing и ReplyTo убрать. То есть должно быть вот так:
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://www.w3.org/2005/08/addressing">
    <s:Header>
    <a:Action s:mustUnderstand="1">http://roskazna.ru/SmevUnifoService/UnifoTransferMsg</a:Action>
    <a:MessageID>urn:uuid:a58f8a06-aa5a-4132-8f8e-afeda6615e79</a:MessageID>
    <ActivityId CorrelationId="fca48139-388e-49d2-adc9-a6a583057156" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">3a3ded8e-c480-4123-8da2-17e060ad2a24</ActivityId>
    <a:To s:mustUnderstand="1">urn:sv:fk@fk.smev.ru</a:To>
    <MessageType xmlns="urn:sv:interaction:v0.1">Electronic</MessageType>
    <From xmlns="http://www.w3.org/2005/08/addressing">
    <Address>urn:sv:AdminD@nadzor.ru</Address>
    </From>
    </s:Header>
    <s:Body>

    Покопался в интернете. Внятного ответа не нашёл. Сам вообще не представляю как сменить эти вещи. Предполагаю, что нужно что-то прописать в конфиге, но вот что... Подскажите, пожалуйста. Как это можно сделать? Или хотя бы в какую сторону копать?
      addressing поменял. В конфиге нужно вот так писать:
      <binding name="UnifoSmevBinding" receiveTimeout="00:01:15" sendTimeout="00:01:15">
      <textMessageEncoding messageVersion="Soap11WSAddressing10" writeEncoding="utf-8" />
      <httpTransport maxBufferPoolSize="1048576" maxReceivedMessageSize="1048576" authenticationScheme="Anonymous" maxBufferSize="1048576" useDefaultWebProxy="false" />
      </binding>



      Обратите внимание на фразу messageVersion="Soap11WSAddressing10". Именно она задаёт addressing.


      ReplyTo пока смог убрать только используя MessageInspector. Понимаю, что костыль. Но по другому пока не понял как.



      P.S. Почему никто не поможет???
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0180 ]   [ 16 queries used ]   [ Generated: 19.03.24, 07:55 GMT ]