Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не транслируются значения в SOAP запрос, Не транслируются значения в SOAP запрос 
:(
    Опции темы
drnoreg
Дата 27.10.2016, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 27.10.2016

Репутация: нет
Всего: нет



Здравствуйте.

У меня есть пример SOAP запроса


Код

 <?xml version="1.0" encoding="UTF-8" ?>
         <SOAP:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <SOAP:Body>
         <GetParameter xmlns="http://examples/2001">
         <request>
         <MonCode xmlns="http://newsite/mon">Latency</MonCode>
         <TimeFrom xmlns="http://newsite/mon">2016-10-26T11:00</TimeFrom>
         <TimeTo xmlns="http://newsite/mon">2016-10-26T12:00</TimeTo>
         </request>
         </GetParameter>
         </SOAP:Body>
         </SOAP:Envelope>


Формирую SOAP запрос на JAVA, 

следующий код

Код

 MessageFactory messageFactory = MessageFactory.newInstance();
    SOAPMessage message = messageFactory.createMessage();
    SOAPPart soapPart = message.getSOAPPart();
    SOAPEnvelope envelope = soapPart.getEnvelope();
    envelope.addNamespaceDeclaration("xsd", "http://www.w3.org/2001/XMLSchema");
    envelope.addNamespaceDeclaration("xsi", "http://www.w3.org/2001/XMLSchema-instance");
    envelope.addNamespaceDeclaration("soap", "http://schemas.xmlsoap.org/soap/envelop/");
 
    SOAPBody body = message.getSOAPBody();
    SOAPElement bodyElement = body.addChildElement("GetParameter");
    bodyElement.setAttribute("xmlns", "http://examples/2001");
    bodyElement = body.addChildElement("request");
    SOAPElement paramsElement = bodyElement.addChildElement("MonCode");
    paramsElement.setAttribute("xmlns", "http://newsite/mon");
    paramsElement.addTextNode("Latency");
    paramsElement = bodyElement.addChildElement("TimeFrom");
    paramsElement.setAttribute("xmlns", "http://newsite/mon");
    paramsElement.addTextNode("2016-10-26T11:00");
    paramsElement = bodyElement.addChildElement("TimeTo");
    paramsElement.setAttribute("xmlns", "http://newsite/mon");
    paramsElement.addTextNode("2016-10-26T12:00");


в результате получаю такой SOAP запрос

Код

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header/>
  <SOAP-ENV:Body>
    <GetParameter xmlns=""/>
    <request>
      <MonCode xmlns="">Latency</MonCode>
      <TimeFrom xmlns="">2016-10-26T11:00</TimeFrom>
      <TimeTo xmlns="">2016-10-26T12:00</TimeTo>
    </request>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Все хорошо, НО куда-то деваются значения атирибутов "http://examples/2001" "http://newsite/mon".

В чем моя ошибка и как решить эту проблему?
PM MAIL   Вверх
drnoreg
Дата 28.10.2016, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 27.10.2016

Репутация: нет
Всего: нет



удалось добиться такого результата

Код

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header/>
<SOAP-ENV:Body>
<GetParamter xmlns="http://examples/2001">
<request>
<MonCode xmlns="http://newsite/mon">Latency</MonCode>
<TimeFrom xmlns="http://newsite/mon">2016-10-26T11:00</TimeFrom>
<TimeTo xmlns="http://newsite/mon">2016-10-26T12:00</TimeTo>
</request>
</GetParamter>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


таким способом

Код

        MessageFactory messageFactory = MessageFactory.newInstance();
        SOAPMessage soapMessage = messageFactory.createMessage();
 
// Retrieve different parts
        SOAPPart soapPart = soapMessage.getSOAPPart();
        SOAPEnvelope soapEnvelope = soapMessage.getSOAPPart().getEnvelope();
 
        soapEnvelope.addNamespaceDeclaration("xsd", "http://www.w3.org/2001/XMLSchema");
        soapEnvelope.addNamespaceDeclaration("xsi", "http://www.w3.org/2001/XMLSchema-instance");
 
// Two ways to extract headers
    //    SOAPHeader soapHeader = soapEnvelope.getHeader();
    //    soapHeader = soapMessage.getSOAPHeader();
 
// Two ways to extract body
        SOAPBody soapBody = soapEnvelope.getBody();
        soapBody = soapMessage.getSOAPBody();
 
// To add some element
 
        SOAPElement GetParamter=soapBody.addBodyElement(new javax.xml.namespace.QName("http://examples/2001", "GetParamter"));
 
        GetParamter = GetParamter.addChildElement(new javax.xml.namespace.QName("request"));
        SOAPElement MonCode=GetParamter.addChildElement(new javax.xml.namespace.QName("http://newsite/mon", "MonCode"));
        MonCode.addTextNode("Latency");
 
        SOAPElement TimeFrom=GetParamter.addChildElement(new javax.xml.namespace.QName("http://newsite/mon", "TimeFrom"));
        TimeFrom.addTextNode("2016-10-26T11:00");
 
        SOAPElement TimeTo=GetParamter.addChildElement(new javax.xml.namespace.QName("http://newsite/mon", "TimeTo"));
        TimeTo.addTextNode("2016-10-26T12:00");


НО осталось еще несколько вопросов:

- как добавить?
Код

<?xml version="1.0" encoding="UTF-8" ?>

- и как избавиться от приставки "-ENV" и тега HEAD?

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1185 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.