Я создаю службу SOAP, которая получает входные данные XML, как показано ниже.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:inv="http://bac.com/wsdl/cbl.WCC/InvolvedPartyMaintenanceServicingV001" xmlns:inf="http://bac.com/xmlschema/osa/InfrastructureV003" xmlns:bac="http://bac.com/xmlschema/cbl/bac024">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>*********</wsse:Username>
<wsse:Password>XXXXX</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<inv:combineInvolvedPartiesRequest>
<inv:osaRequestHeader>
<inf:providerService>
<inf:name>BCC</inf:name>
</inf:providerService>
</inv:osaRequestHeader>
<inv:involvedPartyRoleSummary xsi:type="bac:CustomerRoleSummary">
<bac:summarizedParty xsi:type="bac:IndividualSummary">
<bac:contactPreferences>
<bac:prefers xsi:type="bac:PostalAddress">
<bac:addressLine>TEST ADDRESS LINE ONE</bac:addressLine>
<bac:addressLine>TESTADDRESSTWO</bac:addressLine>
<bac:city>MMNAGAR</bac:city>
<bac:countryCode>US</bac:countryCode>
<bac:postalCode>68293-8000</bac:postalCode>
<bac:state>FL</bac:state>
</bac:prefers>
</bac:contactPreferences>
<bac:involvedPartyName xsi:type="bac:IndividualName">
<bac:firstName>KRISHNA</bac:firstName>
<bac:lastName>PRASAD</bac:lastName>
<bac:middleNames>M</bac:middleNames>
</bac:involvedPartyName>
<bac:birthDate>1981-08-28</bac:birthDate>
</bac:summarizedParty>
</inv:involvedPartyRoleSummary>
<inv:nonSurvivorPartyIdentifier xsi:type="bac:CustomerIdentifier">
<bac:identifier>34234234234</bac:identifier>
</inv:nonSurvivorPartyIdentifier>
<inv:survivorPartyIdentifier xsi:type="bac:CustomerIdentifier">
<bac:identifier>234234234234</bac:identifier>
<bac:subsystemIdentifier>BCC</bac:subsystemIdentifier>
<bac:systemIdentifier>0001</bac:systemIdentifier>
</inv:survivorPartyIdentifier>
</inv:combineInvolvedPartiesRequest>
</soapenv:Body>
</soapenv:Envelope>
Этот XML содержит множество элементов "xsi: type", которые представляют возможные подтипы.Когда я пытаюсь преобразовать этот xml в json, я не могу найти подтипы (дочерние классы) в компоненте преобразования данных.
Например: «почтовый адрес» является подклассом абстрактного класса «точка контакта».В компоненте сообщения преобразования отображаются поля из «контактной точки», но поля из «почтового адреса» не отображаются для отображения. Поэтому я не могу сопоставить поля в классе почтового адреса с json.
Пожалуйста, помогите мне, как сделать отображение для этого сценария?