Добавление заголовка мыла в delphi Berlin

Мне нужно добавить этот заголовок в клиент веб-сервисов, написанный на delphi, потому что сервер отклоняет запрос:

 <!--<soap:Header xmlns:wsa = "http://www.w3.org/2005/08/addressing">
  <To soap:mustUnderstand = "1" xmlns = "http://www.w3.org/2005/08/addressing">http://srvweh01:8081/ISPWebService/IspOrderWs.svc</To>
 </soap:Header>-->

Импортер WSDL создал стандартный код:

function GetIspOrderWs(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): IspOrderWs;
const
  defWSDL = 'C:\Sources\SoapClientXWEH\IspOrderWs.xml';
  defURL  = 'http://srvweh01:8081/ISPWebService/IspOrderWs.svc';
  defSvc  = 'IspOrderWs';
  defPrt  = 'WSHttpBinding_IspOrderWs';
var
  RIO: THTTPRIO;
begin

  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as IspOrderWs);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;

и это мой вызов серверу:

getIspOrderWs (). addOrder (pippoPRT);

Итак, мой вопрос: как мне вставить недостающий заголовок (и как это сделать) перед вызовом, чтобы сообщение SOAP можно было скомпилировать правильно?

Все предложения приветствуются, Спасибо!

вы можете посмотреть здесь за некоторыми предложениями .... :)

whosrdaddy 20.07.2018 21:04

Мне удалось использовать событие HTTPRIOBeforeExecute и изменить там параметр SOAPRequest.

John Easley 22.07.2018 00:06

А как у вас дела ?? Я столкнулся с серьезными трудностями при использовании объекта TStream ....

Gianluca 23.07.2018 12:03

@ whosrdaddy: Спасибо! В любом случае, в моем случае мне не повезло с предложением кулака ... Я проверил с wirehark, чтобы получить xml, но я не вижу раздел заголовка ...

Gianluca 23.07.2018 12:08

Оба решения включают класс TSOAPHeader, возвращают мне ошибку: ESOAPDomConvertError: преобразование из класса TValueDataImpl в SOAP не поддерживается - классы SOAP должны быть производными от TRemotable. Любое другое предложение ??

Gianluca 23.07.2018 17:14
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
823
0

Другие вопросы по теме