Добавить SOAP конверт в XML файл - PullRequest
0 голосов
/ 01 августа 2020

Я был бы очень признателен за любые указания по этому вопросу.

Мне нужно преобразовать мои данные в файл на основе SOAP запроса XML. У меня есть два файла XSD: SOAP XSD с настраиваемыми заголовками и переводом XSD (который содержит данные). В настоящее время я думаю об использовании пакета python l xml для добавления конверта SOAP, но я хотел посмотреть, есть ли другой способ сделать это.

Вот что у меня есть сейчас:

<?xml version="1.0" encoding="UTF-8"?>
<ns0:testFile xmlns:nametest="http://testxyz.com/nametest" xmlns:ns0="http://testxyz.com/nametest2" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <Transaction>
        <TransactionType>1</TransactionType>
        <Demographics>
            <ns0:PersonInfo>
                <PersonId>
                    <nametest:SSN>SocialSecurityNo865</nametest:SSN>
                </PersonId>
                <PersonIdType>A</PersonIdType>
                <FirstName>Empl</FirstName>
                <LastName>EmployeeLastName863</LastName>
            </ns0:PersonInfo>
        </Demographics>
    </Transaction>
    <Transaction>
        <TransactionType>1</TransactionType>
        <Demographics>
            <ns0:PersonInfo>
                <PersonId>
                    <nametest:SSN>SocialSecurityNo1008</nametest:SSN>
                </PersonId>
                <PersonIdType>A</PersonIdType>
                <FirstName>Empl</FirstName>
                <LastName>EmployeeLastName1006</LastName>
            </ns0:PersonInfo>
        </Demographics>
    </Transaction>
</ns0:testFile>

Это то, что мне нужно:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ SoapEnvelope.xsd">
    <soap:Header>
        <nametest:HeaderInfo xmlns:nametest="http://testxyz.com/nametest">
            <nametest:InterfaceTypeId>50031</nametest:InterfaceTypeId>
            <nametest:BusinessPartnerId>1234567890</nametest:BusinessPartnerId>
            <nametest:SchemaVersion>1.0</nametest:SchemaVersion>
            <nametest:DateTime>2018-11-13</nametest:DateTime>
            <nametest:ContactEmail>contact@email.com</nametest:ContactEmail>
        </nametest:HeaderInfo>
    </soap:Header>
    <soap:Body>
        <n1:testFile xsi:schemaLocation=""http://testxyz.com/nametest2 nametest2.xsd" xmlns:nametest="http://testxyz.com/nametest" xmlns:n1="http://testxyz.com/nametest2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <Transaction>
                <TransactionType>1</TransactionType>
                <Demographics>
                    <n1:PersonInfo>
                        <PersonId>
                            <nametest:SSN>SocialSecurityNo865</nametest:SSN>
                        </PersonId>
                        <PersonIdType>A</PersonIdType>
                        <FirstName>Empl</FirstName>
                        <LastName>EmployeeLastName863</LastName>
                    </n1:PersonInfo>
                </Demographics>
            </Transaction>
            <Transaction>
                <TransactionType>1</TransactionType>
                <Demographics>
                    <n1:PersonInfo>
                        <PersonId>
                            <nametest:SSN>SocialSecurityNo1008</nametest:SSN>
                        </PersonId>
                        <PersonIdType>A</PersonIdType>
                        <FirstName>Empl</FirstName>
                        <LastName>EmployeeLastName1006</LastName>
                    </n1:PersonInfo>
                </Demographics>
            </Transaction>
            
        </n1:testFile>
    </soap:Body>
</soap:Envelope>

Я искал уже несколько часов, но не смог найти много.

...