$(function () { pageContext.i18n.modTalk = 'moderation talk'; pageContext.i18n.replyToComment = 'Reply'; pageContext.i18n.modTalkEmpty = 'moderation talk is empty'; pageContext.url.getModTalk = "/comments/%25ID%25/listModTalk.json"; pageContext.url.possibleCommentRecipients = "/comments/%ID%/possibleRecipients.json"; pageContext.url.commentEdit = '/comments/%25ID%25/edit.html'; pageContext.url.commentView = '/comments/%ID%/view.html'; pageContext.i18n.commentVisibility = { 'full': 'Viewable by all users', 'op': 'Viewable by the original poster', 'mod': 'Viewable by moderators', 'opAndMod': 'Viewable by moderators and the original poster', 'other': 'Advanced visibility', 'dialogTitle': 'Comment visibility', 'selectGroups': 'Visible to groups', 'selectOther': 'Other recipients', 'selectOriginalPoster': 'Original poster', 'selectModerators': 'Moderators', 'selectAssignees': 'Asked to answer users' }; pageContext.i18n.commentMenuLabels = { 'comment-edit': 'comments.menu.edit', 'comment-delete': 'comments.menu.delete', 'comment-convert': 'comments.menu.convert' };pageContext.i18n.answer= { bestAnswer: 'Best Answer', controlBar : { accept: 'Accept', unaccept: 'Unaccept', acceptCommand: 'Accept this answer as correct', cancelAcceptedCommand: 'Remove this answers accepted status' } }; window.croles = { u: false, op: false, m: false, og: false, as: false, ag: false, dc: false, doc: false, eo: false, ea: false }; tools.init({ q: { e: false, ew: false, eo: false, r: false, ro: false, d: false, dow: false, fv: false, c: false, co: false, p: false, tm: false , ms: false, mos: false }, n: { f: false, vf: false, vfo: false, vr: false, vro: false, c: false, co: false, vu: false, vd: false, w: false, wo: false, l: false }, c: { e: false, eo: false, d: false, dow: false, ta: false, tao: false, l: false }, a: { e: false, ew: false, eo: false, d: false, dow: false, a: false, aoq: false, ao: false, tc: false, tco: false, p: false, tm: false }, pc: croles }, { tc: true, nsc: true }); commandUtils.initializeLabels(); }); Skip to Content
0

PROXY-2-SOAP - SOAP Multipart

Mar 09, 2017 at 01:11 PM

74

avatar image

Hello experts,

I have a source XSD which looks like this:

            <xs:element name="CreateAUserRequestMessage">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" ref="tns:TaskContext"/>
                        <xs:element minOccurs="0" ref="tns:CreateAUser"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>

...


    <message name="CreateAUserRequestMessage">
        <part element="tns:CreateAUserRequestMessage" name="CreateAUserRequestMessagePart"/>
    </message>


And a target XSD which looks like this:

    <message name="CreateAUserRequestMessage">
        <part element="tns:TaskContext" name="TaskContextPart"/>
        <part element="tns:CreateAUser" name="CreateAUserPart"/>
    </message>


TaskContext & CreateAUser are structures which are identical in the source and target XSDs

How do I convert the source to the target with XSLT mapping?

Regards.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Stefan Grube Mar 11, 2017 at 09:42 PM
0

There is nothing to do, as you have two different variants of describing the same structure.

Read here:

https://www.w3.org/TR/wsdl#_message

Share
10 |10000 characters needed characters left characters exceeded
Efraim Olivkovitch Mar 22, 2017 at 08:08 AM
0

Hello Stefan,

Thanks for your response.

The target XSD is from an external system.

Unfortunately, PI is unable to parse it in ESR (also it is not possible to generate proxy client in ECC from it) so I had to change it as described by the source XSD.

I opened an OSS message about this and got a response that it is a limitation in ESR which cannot parse a multipart message .

They suggested using XSLT mapping to construct the target message. This is the reason I requested assistance from the SDN experts.

Regards.

Share
10 |10000 characters needed characters left characters exceeded