Lotus и сервис

Тема в разделе "Lotus - Программирование", создана пользователем proteam, 16 сен 2015.

  1. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Всем привет. Полмесяца уже мучаюсь с сервисом одним. В общем такая история. Дали всдл, я создал конзюмер, создаю запрос, наполняю данными. Но. Мне нужно теперь перед отправкой подписать запрос. Работая через конзюмер я не нашел способ получить соап сообщение перед отправкой. Помогите, друзья
     
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    что это значит? подписать
     
  3. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
  4. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Подписать ЭЦП. Есть апплет с методом который принимает в качестве параметра хмл в виде строки, парсит его и добавляет в хмл элементы с подписью.
    [DOUBLEPOST=1442398528,1442398474][/DOUBLEPOST]
    Там изменение хэдера соап сообщения. А изменить само соап сообщение можно?
     
  5. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Вот пример, каким должен быть запрос:
    Код (HTML5):
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                      xmlns:typ="http://ttt.mmm.fr/SyncChannel/v10/Types">
        <soapenv:Header/>
        <soapenv:Body>
            <typ:SendMessage>
                <request>
                    <requestInfo>
                        <messageId>4704823d-0abc-4606-8a21-1bec083965f0</messageId>
                        <serviceId>SERVICE01</serviceId>
                        <messageDate>2014-08-01T00:00:00.000+06:00</messageDate>
                        <sender>
                            <senderId>PORTAL</senderId>
                        </sender>
                    </requestInfo>
                    <requestData>
                        <data>
                            <messageId>4704823d-0abc-4606-8a21-1bec083965f0</messageId>
                            <messageDate>2014-08-25T17:29:04.564+06:00</messageDate>
                            <senderCode>PORTAL</senderCode>
                            <iin>810330400387</iin>
                            <surname xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                            <name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                            <patronymic xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                            <birthDate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                            <documentNumber xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                            <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                                <ds:SignedInfo>
                                    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
                                    <ds:SignatureMethod
                                            Algorithm="http://www.w3.org/2001/04/xmldsig-more#gost34310-gost34311"/>
                                    <ds:Reference URI="">
                                        <ds:Transforms>
                                            <ds:Transform
                                                    Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                                            <ds:Transform
                                                    Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
                                        </ds:Transforms>
                                        <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gost34311"/>
                                        <ds:DigestValue>CyLOqpJc20h6q73J+I545G4We1oMcNOtN3hQQCF6zHg=</ds:DigestValue>
                                    </ds:Reference>
                                </ds:SignedInfo>
                                <ds:SignatureValue>
                                    fEE2nvRwIjbz7+Zswp6VN2UtH4JAGfuanmIflu1vKUewk5gxRBs3fZQkdJ8pj0tM7fo2XNWnnH1A
                                    bdMc2K2SXg==
                                </ds:SignatureValue>
                                <ds:KeyInfo>
                                    <ds:X509Data>
                                        <ds:X509Certificate>
                                            MIIGyzCCBnSgAwIBAgIgd32h0nI8xKcclvcVEK2L7nztSMJllua8eafUM1d6BfMwDgYKKwYBBAG1
                                            EQECAgUAMIIBFDEfMB0GA1UEAwwW0J3Qo9CmINCg0JogKNCT0J7QodCiKTFDMEEGA1UECww60JjQ
                                            vdGE0YDQsNGB0YLRgNGD0LrRgtGD0YDQsCDQvtGC0LrRgNGL0YLRi9GFINC60LvRjtGH0LXQuTFx
                                            MG8GA1UECgxo0J3QsNGG0LjQvtC90LDQu9GM0L3Ri9C5INGD0LTQvtGB0YLQvtCy0LXRgNGP0Y7R
                                            idC40Lkg0YbQtdC90YLRgCDQoNC10YHQv9GD0LHQu9C40LrQuCDQmtCw0LfQsNGF0YHRgtCw0L0x
                                            FTATBgNVBAcMDNCQ0YHRgtCw0L3QsDEVMBMGA1UECAwM0JDRgdGC0LDQvdCwMQswCQYDVQQGEwJL
                                            WjAeFw0xNDAxMTAwNTE5MTdaFw0xNTAxMTAwNTE5MTdaMIIB9TEYMBYGA1UEBRMPSUlONzIwNzI1
                                            NDAyMDg0MRgwFgYDVQQLDA9CSU4wODA1NDAwMTQ4NTQxgf0wgfoGA1UECgyB8tCT0J7QodCj0JTQ
                                            kNCg0KHQotCS0JXQndCd0J7QlSDQo9Cn0KDQldCW0JTQldCd0JjQlSAi0JrQntCc0JjQotCV0KIg
                                            0KDQldCT0JjQodCi0KDQkNCm0JjQntCd0J3QntCZINCh0JvQo9CW0JHQqyDQmCDQntCa0JDQl9CQ
                                            0J3QmNCvINCf0KDQkNCS0J7QktCe0Jkg0J/QntCc0J7QqdCYINCc0JjQndCY0KHQotCV0KDQodCi
                                            0JLQkCDQrtCh0KLQmNCm0JjQmCDQoNCV0KHQn9Cj0JHQm9CY0JrQmCDQmtCQ0JfQkNCl0KHQotCQ
                                            0J0iMSYwJAYDVQQDDB3QmtCQ0JvQmNCc0J7QktCQINCS0JXQndCV0KDQkDEZMBcGA1UEBAwQ0JrQ
                                            kNCb0JjQnNCe0JLQkDEfMB0GA1UEKgwW0JrQkNCc0KvQodCR0JDQldCS0J3QkDEgMB4GCSqGSIb3
                                            DQEJARYRTlVSQk9MMDA5QE1BSUwuUlUxCzAJBgNVBAYTAktaMRUwEwYDVQQIDAzQkNCh0KLQkNCd
                                            0JAxFTATBgNVBAcMDNCQ0KHQotCQ0J3QkDBjMA4GCisGAQQBtREBBQgFAANRAAYCAAA6qgAAAEVD
                                            MQACAACbY1sk7ftUOvAmdFwqA7P5U/1IwCE9rukxJsT03QXOeX7ornLpqkbPW/AJ9JhRb9rTOJEc
                                            fJXZoeqDTu+Ta1fSo4ICozCCAp8wHQYDVR0OBBYEFCsJEnOzYn0kf6ZwwUEQYOYgsfuXMEIGCCsG
                                            AQUFBwEBBDYwNDAyBggrBgEFBQcwAoYmaHR0cDovL3BraS5nb3Yua3ovaW5mby9jYWNlcnRfZ29z
                                            dC5jZXIwDAYDVR0jBAUwA4ABMDALBgNVHQ8EBAMCAMAwZAYDVR0uBF0wWzAroCmgJ4YlaHR0cDov
                                            L2NybC5wa2kua3ovY3JsL0dvc3QwX2RlbHRhLmNybDAsoCqgKIYmaHR0cDovL2NybDEucGtpLmt6
                                            L2NybC9Hb3N0MF9kZWx0YS5jcmwwggFIBgNVHSAEggE/MIIBOzCBuwYHKoMOAwMCATCBrzA2Bggr
                                            BgEFBQcCARYqaHR0cDovL3BraS5nb3Yua3ovaW5mby9wb2xpY3lfc2lnbl9sZWcucGRmMHUGCCsG
                                            AQUFBwICMGkaZ8Tr/yDv7uTv6PHoIP3r5ery8O7t7fv1IOTu6vPs5e3y7uIg/vDo5Oj35fHq6Owg
                                            6+j27uwuIM/w5eTt4Oft4Pfl7ejlIC0g8fTl8OAg3evl6vLw7u3t7uPuIM/w4OLo8uXr/PHy4uAw
                                            ewYHKoMOAwMBATBwMDAGCCsGAQUFBwIBFiRodHRwOi8vcGtpLmdvdi5rei9pbmZvL2NhX3BvbGlj
                                            eS5wZGYwPAYIKwYBBQUHAgIwMBou0OXj6+Ds5e3yIM3g9uju7eDr/O3u4+4g0+Tu8fLu4uXw//75
                                            5ePuINbl7fLw4DATBgNVHSUEDDAKBggrBgEFBQcDBDBYBgNVHR8EUTBPMCWgI6Ahhh9odHRwOi8v
                                            Y3JsLnBraS5rei9jcmwvR29zdDAuY3JsMCagJKAihiBodHRwOi8vY3JsMS5wa2kua3ovY3JsL0dv
                                            c3QwLmNybDAOBgorBgEEAbURAQICBQADQQBTEzXTkGihlUbbfdZVostXzC3dcrZlObF7yKYVCiWT
                                            TEuLdmOTFZcAHL1POPRbJw9spEzfJWi2pe9BEAwZxt1W
                                        </ds:X509Certificate>
                                    </ds:X509Data>
                                </ds:KeyInfo>
                            </ds:Signature>
                        </data>
                    </requestData>
                </request>
            </typ:SendMessage>
        </soapenv:Body>
    </soapenv:Envelope>
    В WSDL не описана подпись, как мне объяснили, я должен перед отправкой запроса его подписать апплетом, он добавит в xml свои данные и затем это отправить. В общем нужно отредактировать Soap body
     
  6. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
    Так на этот счёт примеров в Интернете как грязи. Сделайте простого агента по любому примеру вместо Domino Web Service Consumer.
     
  7. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
    Тут не только заголовок получить можно
    Вообще посмотрите документацию на Axis. Я думаю, в связке с Rampart вы легко добьётесь того, что вам нужно.

    Вот статья
     
    #7 garrick, 16 сен 2015
    Последнее редактирование модератором: 16 сен 2015
    3 пользователям это понравилось.
  8. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Спасибо. Думаю это то что нужно
     
  9. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Опыта по работе с веб сервисами пока нет. Единственное работал только через конзюмер, поэтому хочется сначала попробовать через конзюмер, если уж тут ничего не получится, буду искать другие решения (если есть опыт работы с другими решениями я был бы признателен)

    Вот код из класса Stub
    Код (Java):
    public kz.bee.bip.SyncChannel.v10.Types.Response.SyncSendMessageResponse sendMessage(kz.bee.bip.SyncChannel.v10.Types.Request.SyncSendMessageRequest request) throws kz.bee.bip.common.v10.Types.ErrorInfo, java.rmi.RemoteException {
    callHandler = null;
     
            lotus.domino.websvc.client.Call _call = createCall("sendMessage");
            java.lang.Object _resp = _call.invoke(new java.lang.Object[] {request});
            callHandler = _call;
            return (kz.bee.bip.SyncChannel.v10.Types.Response.SyncSendMessageResponse) _call.convert(_resp, kz.bee.bip.SyncChannel.v10.Types.Response.SyncSendMessageResponse.class);
        }
    Получается тут мы работает с данными перед вызовом сервиса. _call.invoke(new java.lang.Object[] {request}) - как раз вызывает метод из сервиса и он наполняет соап запрос данными. Я все перепробовал, до invoke() нигде не содержатся данные о запросе. Можно ли как то вызвать метод сервиса, подсунув ему не {request} а свою XML? Конечно, как то глупо звучит.
     
  10. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Привет всем.

    В общем бросил эту задумку с Конзюмером. Работаю через "Msxml2.XMLHTTP"
    Теперь такой вопрос. Иногда выходит ошибка при создании объекта этого класса. Думаю из-за того, что в системе он уже создан.
    Код (LotusScript):
    Dim xml As String
    Dim serviceXML As String
    Dim xmlhttp As Variant
    Dim DOMDocument As Variant
     
    xml = SERVICE_REQUEST_DATA
    -------
    Set xmlhttp = CreateObject("Msxml2.XMLHTTP")
    Set DOMDocument = CreateObject("MSXML2.DOMDocument")
    serviceXML = Replace(SERVICE_XML, "#REQUESTDATA#", xml)
    -------
    DOMDocument.loadXML(serviceXML)
    Call xmlhttp.open("POST", me.endPoint, False,"","")
    Call xmlhttp.send(DOMDocument.xml)
    invoke = xmlhttp.responseText
    Кто работал с таким способом отправки на Сервис, как избежать ошибок при создании объекта Msxml2.XMLHTTP?
     
  11. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
    Я уже как-то писал на этом форуме на счёт OLE, правда по другому вопросу - всегда используйте GetObject для первоначальной инициализации OLE объекта и только в случае ошибки (On Error GoTo...) CreateObject.

    Про то, что OLE в принципе "зло" писать надо?
     
  12. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Спасибо))
    Зло, не то слово((
     
  13. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    а зачем?
    вот на Zoho всякие коды есть, но нет для КОМы ;)
    https://www.zoho.com/crm/help/api/source/getRecords.txt
    и это не удивительно - никому не нужен этот кал мамонта (вендор его поддерживает на плаву лишь из условия собственного выживания)
     
  14. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    А зачем СОАП менять. В аплет подсунуть ХМЛ с данными, которые надо подписать, назад получить подписаный ХМЛ, вытащить из него подпись и отдать её в СОАП пакет в параметре ds:Signature.
     
  15. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Не видел ваше сообщение, но уже нашел решение через HttpURLConnection))
    Просто в тот момент ком показался простым решением, но полчаса использования решительно меня отговорили искать решения на джаве. Теперь буду точно знать, лучше с ком даже не связываться)
    [DOUBLEPOST=1444991032,1444990851][/DOUBLEPOST]
    Не понял вас. Как это "отдать её в СОАП пакет в параметре ds:Signature"? По сути я также делаю, пихаю в аплет хмл с данными, подписываю, получаю уже ХМЛ с подписью. Но я не могу его запихать в Соап. Там же не описан тег ds:Signature. Поэтому я сейчас отказался от конзюмера, решил делать как просто отправку на УРЛ как пост запрос и дожидаться ответа, которым потом парсим.
    [DOUBLEPOST=1444991215][/DOUBLEPOST]ЗЫ:
    Насколько подключение джава объектов в LS коде опасно? Есть ли проблемы которые стоит учитывать? Ну там утечка памяти или возможные зависания?
     
  16. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Проблема теперь с кодировкой в ответе(((
    Код (Java):
    public String doSend(String endPoint, String xmlToSend){
    try {
    URL url = new URL(endPoint);   
    StringBuffer sb = null;
    BufferedInputStream in;
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();     
    conn.setDoOutput(true);    
    conn.setRequestProperty("Host", endPoint);     
    conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");    
    conn.setRequestMethod("POST");     
    OutputStream outputStream = conn.getOutputStream();
     
    BufferedWriter osw = new BufferedWriter(new OutputStreamWriter(outputStream));
     
    osw.write(xmlToSend);
    osw.flush();
    osw.close();       
    in = new BufferedInputStream(conn.getInputStream());
     
    int x = 0;
     
    sb = new StringBuffer();
     
    while ((x = in.read()) != -1) {
    sb.append((char) x);
    }
    try {
    in.close();
    in = null;
     
    if (conn != null) {
    conn.disconnect();
    }
    }catch(Exception e){
     
    }
     
    return sb.toString();
    } catch(Exception e) {
            e.printStackTrace();
        }
     
    return "";
    }
    Я отправляю в utf-8, а ответ приходит тоже в utf-8, но по всей видимости при считывании он не в этой кодировке получает данные
     
  17. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
    Надо указывать кодировку при открытии потоков.
     
  18. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Спасибо!
     
  19. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Вот такая ситуация у меня сейчас.
    Есть запрос XML
    Код (HTML5):
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                      xmlns:typ="http://bip.bee.kz/SyncChannel/v10/Types">
        <soapenv:Header/>
        <soapenv:Body>
            <typ:SendMessage>
    <request><requestInfo><messageId>F5B942AF0BE0959B46257ED5002266FB</messageId><serviceId>GBDFL_UniversalServiceSync</serviceId><messageDate>2015-10-05T12:15:45</messageDate><sender><senderId>udp</senderId><password>udp</password></sender></requestInfo><requestData><data><iin>890723351237</iin><messageDate>2015-10-19T18:08:49.443+06:00</messageDate><messageId>F5B942AF0BE0959B46257ED5002266FB</messageId><senderCode>UDP</senderCode><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:SignedInfo>
    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
    <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gost34310-gost34311"/>
    <ds:Reference URI="">
    <ds:Transforms>
    <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
    <ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
    </ds:Transforms>
    <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gost34311"/>
    <ds:DigestValue>lC/jdMR3Sd6Sci8BDkqszzk5AJu1TNksD3cVstWigds=</ds:DigestValue>
    </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue>
    SgAB1Bzf2EuIofDCwp8qNs+gRey6R/s/NjoPVInJ+NcFt4CdmnpfoeGxuFLVYL4niWlklGgNe1T/
    +noZ5KfgIQ==
    </ds:SignatureValue>
    <ds:KeyInfo>
    <ds:X509Data>
    <ds:X509Certificate>
    MIIF5jCCBY+gAwIBAgIgd0rYhiY5LCjIUfN3m3ZCUV8dMVq8aDDTwQHBWAAu9bMwDgYKKwYBBAG1
    EQECAgUAMIIBFDEfMB0GA1UEAwwW0J3Qo9CmINCg0JogKNCT0J7QodCiKTFDMEEGA1UECww60JjQ
    vdGE0YDQsNGB0YLRgNGD0LrRgtGD0YDQsCDQvtGC0LrRgNGL0YLRi9GFINC60LvRjtGH0LXQuTFx
    MG8GA1UECgxo0J3QsNGG0LjQvtC90LDQu9GM0L3Ri9C5INGD0LTQvtGB0YLQvtCy0LXRgNGP0Y7R
    idC40Lkg0YbQtdC90YLRgCDQoNC10YHQv9GD0LHQu9C40LrQuCDQmtCw0LfQsNGF0YHRgtCw0L0x
    FTATBgNVBAcMDNCQ0YHRgtCw0L3QsDEVMBMGA1UECAwM0JDRgdGC0LDQvdCwMQswCQYDVQQGEwJL
    WjAeFw0xNTA1MjEwNTUyNDZaFw0xNjA1MjAwNTUyNDZaMIIBEDEYMBYGA1UEBRMPSUlOOTUxNzM1
    NDY5ODc1MRgwFgYDVQQLDA9CSU43NTMxNTk4NDYyNDkxJjAkBgNVBAoMHdCi0J7QniDQrtCg0JjQ
    lNCY0KfQldCh0JrQmNCZMTYwNAYDVQQDDC3QrtCg0JjQlNCY0KfQldCh0JrQmNCZINCU0JXQmdCh
    0KLQktCj0K7QqdCY0JkxHzAdBgNVBAQMFtCu0KDQmNCU0JjQp9CV0KHQmtCY0JkxHjAcBgkqhkiG
    9w0BCQEWD1RFU1RAUEtJLkdPVi5LWjELMAkGA1UEBhMCS1oxFTATBgNVBAgMDNCQ0KHQotCQ0J3Q
    kDEVMBMGA1UEBwwM0JDQodCi0JDQndCQMGMwDgYKKwYBBAG1EQEFCAUAA1EABgIAADqqAAAARUMx
    AAIAACaURHHXZGtftlP4qqcu7SrYRUP9x4tpY1FGDP9hwOGgk1D8i4A0ar/SzTXWfYi9dpCR6mBP
    PLpvXohUwMacjKKjggKjMIICnzAdBgNVHQ4EFgQU5W/loImfeHgVra9dJW2noKcMLBMwQgYIKwYB
    BQUHAQEENjA0MDIGCCsGAQUFBzAChiZodHRwOi8vcGtpLmdvdi5rei9pbmZvL2NhY2VydF9nb3N0
    LmNlcjAMBgNVHSMEBTADgAEwMAsGA1UdDwQEAwIAwDBkBgNVHS4EXTBbMCugKaAnhiVodHRwOi8v
    Y3JsLnBraS5rei9jcmwvR29zdDBfZGVsdGEuY3JsMCygKqAohiZodHRwOi8vY3JsMS5wa2kua3ov
    Y3JsL0dvc3QwX2RlbHRhLmNybDCCAUgGA1UdIASCAT8wggE7MIG7Bgcqgw4DAwIBMIGvMDYGCCsG
    AQUFBwIBFipodHRwOi8vcGtpLmdvdi5rei9pbmZvL3BvbGljeV9zaWduX2xlZy5wZGYwdQYIKwYB
    BQUHAgIwaRpnxOv/IO/u5O/o8egg/evl6vLw7u3t+/Ug5O7q8+zl7fLu4iD+8Ojk6Pfl8ero7CDr
    6Pbu7C4gz/Dl5O3g5+3g9+Xt6OUgLSDx9OXw4CDd6+Xq8vDu7e3u4+4gz/Dg4ujy5ev88fLi4DB7
    Bgcqgw4DAwEBMHAwMAYIKwYBBQUHAgEWJGh0dHA6Ly9wa2kuZ292Lmt6L2luZm8vY2FfcG9saWN5
    LnBkZjA8BggrBgEFBQcCAjAwGi7Q5ePr4Ozl7fIgzeD26O7t4Ov87e7j7iDT5O7x8u7i5fD//vnl
    4+4g1uXt8vDgMBMGA1UdJQQMMAoGCCsGAQUFBwMEMFgGA1UdHwRRME8wJaAjoCGGH2h0dHA6Ly9j
    cmwucGtpLmt6L2NybC9Hb3N0MC5jcmwwJqAkoCKGIGh0dHA6Ly9jcmwxLnBraS5rei9jcmwvR29z
    dDAuY3JsMA4GCisGAQQBtREBAgIFAANBACYw9c1QZ8iqClwh+foo9bK8FDEq+UqyWW/QB4vD+FJL
    6BAu/DjmU3VN85DbGIz98raqELImhBtvQFv7Kt5a9n0=
    </ds:X509Certificate>
    </ds:X509Data>
    </ds:KeyInfo>
    </ds:Signature></data></requestData></request>
            </typ:SendMessage>
        </soapenv:Body>
    </soapenv:Envelope>
    Как программно из него получить тег data со всем содержимым( Типо такого чтобы было:

    Код (HTML5):
    <data><iin>890723351237</iin><messageDate>2015-10-19T18:08:49.443+06:00</messageDate><messageId>F5B942AF0BE0959B46257ED5002266FB</messageId><senderCode>UDP</senderCode><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:SignedInfo>
    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
    <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gost34310-gost34311"/>
    <ds:Reference URI="">
    <ds:Transforms>
    <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
    <ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
    </ds:Transforms>
    <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gost34311"/>
    <ds:DigestValue>lC/jdMR3Sd6Sci8BDkqszzk5AJu1TNksD3cVstWigds=</ds:DigestValue>
    </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue>
    SgAB1Bzf2EuIofDCwp8qNs+gRey6R/s/NjoPVInJ+NcFt4CdmnpfoeGxuFLVYL4niWlklGgNe1T/
    +noZ5KfgIQ==
    </ds:SignatureValue>
    <ds:KeyInfo>
    <ds:X509Data>
    <ds:X509Certificate>
    MIIF5jCCBY+gAwIBAgIgd0rYhiY5LCjIUfN3m3ZCUV8dMVq8aDDTwQHBWAAu9bMwDgYKKwYBBAG1
    EQECAgUAMIIBFDEfMB0GA1UEAwwW0J3Qo9CmINCg0JogKNCT0J7QodCiKTFDMEEGA1UECww60JjQ
    vdGE0YDQsNGB0YLRgNGD0LrRgtGD0YDQsCDQvtGC0LrRgNGL0YLRi9GFINC60LvRjtGH0LXQuTFx
    MG8GA1UECgxo0J3QsNGG0LjQvtC90LDQu9GM0L3Ri9C5INGD0LTQvtGB0YLQvtCy0LXRgNGP0Y7R
    idC40Lkg0YbQtdC90YLRgCDQoNC10YHQv9GD0LHQu9C40LrQuCDQmtCw0LfQsNGF0YHRgtCw0L0x
    FTATBgNVBAcMDNCQ0YHRgtCw0L3QsDEVMBMGA1UECAwM0JDRgdGC0LDQvdCwMQswCQYDVQQGEwJL
    WjAeFw0xNTA1MjEwNTUyNDZaFw0xNjA1MjAwNTUyNDZaMIIBEDEYMBYGA1UEBRMPSUlOOTUxNzM1
    NDY5ODc1MRgwFgYDVQQLDA9CSU43NTMxNTk4NDYyNDkxJjAkBgNVBAoMHdCi0J7QniDQrtCg0JjQ
    lNCY0KfQldCh0JrQmNCZMTYwNAYDVQQDDC3QrtCg0JjQlNCY0KfQldCh0JrQmNCZINCU0JXQmdCh
    0KLQktCj0K7QqdCY0JkxHzAdBgNVBAQMFtCu0KDQmNCU0JjQp9CV0KHQmtCY0JkxHjAcBgkqhkiG
    9w0BCQEWD1RFU1RAUEtJLkdPVi5LWjELMAkGA1UEBhMCS1oxFTATBgNVBAgMDNCQ0KHQotCQ0J3Q
    kDEVMBMGA1UEBwwM0JDQodCi0JDQndCQMGMwDgYKKwYBBAG1EQEFCAUAA1EABgIAADqqAAAARUMx
    AAIAACaURHHXZGtftlP4qqcu7SrYRUP9x4tpY1FGDP9hwOGgk1D8i4A0ar/SzTXWfYi9dpCR6mBP
    PLpvXohUwMacjKKjggKjMIICnzAdBgNVHQ4EFgQU5W/loImfeHgVra9dJW2noKcMLBMwQgYIKwYB
    BQUHAQEENjA0MDIGCCsGAQUFBzAChiZodHRwOi8vcGtpLmdvdi5rei9pbmZvL2NhY2VydF9nb3N0
    LmNlcjAMBgNVHSMEBTADgAEwMAsGA1UdDwQEAwIAwDBkBgNVHS4EXTBbMCugKaAnhiVodHRwOi8v
    Y3JsLnBraS5rei9jcmwvR29zdDBfZGVsdGEuY3JsMCygKqAohiZodHRwOi8vY3JsMS5wa2kua3ov
    Y3JsL0dvc3QwX2RlbHRhLmNybDCCAUgGA1UdIASCAT8wggE7MIG7Bgcqgw4DAwIBMIGvMDYGCCsG
    AQUFBwIBFipodHRwOi8vcGtpLmdvdi5rei9pbmZvL3BvbGljeV9zaWduX2xlZy5wZGYwdQYIKwYB
    BQUHAgIwaRpnxOv/IO/u5O/o8egg/evl6vLw7u3t+/Ug5O7q8+zl7fLu4iD+8Ojk6Pfl8ero7CDr
    6Pbu7C4gz/Dl5O3g5+3g9+Xt6OUgLSDx9OXw4CDd6+Xq8vDu7e3u4+4gz/Dg4ujy5ev88fLi4DB7
    Bgcqgw4DAwEBMHAwMAYIKwYBBQUHAgEWJGh0dHA6Ly9wa2kuZ292Lmt6L2luZm8vY2FfcG9saWN5
    LnBkZjA8BggrBgEFBQcCAjAwGi7Q5ePr4Ozl7fIgzeD26O7t4Ov87e7j7iDT5O7x8u7i5fD//vnl
    4+4g1uXt8vDgMBMGA1UdJQQMMAoGCCsGAQUFBwMEMFgGA1UdHwRRME8wJaAjoCGGH2h0dHA6Ly9j
    cmwucGtpLmt6L2NybC9Hb3N0MC5jcmwwJqAkoCKGIGh0dHA6Ly9jcmwxLnBraS5rei9jcmwvR29z
    dDAuY3JsMA4GCisGAQQBtREBAgIFAANBACYw9c1QZ8iqClwh+foo9bK8FDEq+UqyWW/QB4vD+FJL
    6BAu/DjmU3VN85DbGIz98raqELImhBtvQFv7Kt5a9n0=
    </ds:X509Certificate>
    </ds:X509Data>
    </ds:KeyInfo>
    </ds:Signature></data>
    Я стал парсить ХМЛ через дом парсер, но когда получает тег дата, то там только значение нода, а оно пустое, так как содержит дочерние элементы. Мне это нужно для проверки ЭЦП. Пока в голову только мысль с обрезкой пришла. Но не хочется таким способом получать содержимое тега.
     
  20. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    #20 lmike, 22 окт 2015
    Последнее редактирование модератором: 22 окт 2015
Загрузка...

Поделиться этой страницей