我在下面有一个传入的简单xml请求,需要将其转换为具有正确名称空间的SOAP消息。在传入的XML请求中,名称空间不会出现,因此在形成SOAP消息时,我们还需要注意名称空间。是否有任何XSLT代码段可以帮助我实现这一目标。注意-我们需要动态地执行此XSLT转换,就像传入请求可以是任何元素(如“ GetImageRequest”)一样,因此基于此元素需要构造名称空间。(可能我们可以将所有名称空间保留在一个xml文件中,并且需要构造SOAP消息)
传入的XML请求:
<request>
<payload>
<GetImageRequest>
<participantId>1191152220010</participantId>
<participantCode>131029</participantCode>
<groupCode>027198</groupCode>
<userType>EE</userType>
<clientName>Test</clientName>
<shoeboxID>123444</shoeboxID>
<imageID>45235</imageID>
</GetImageRequest>
</payload>
</request>
Run Code Online (Sandbox Code Playgroud)
==================需要在SOAP消息下面使用适当的名称空间进行构造。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
</soapenv:Header>
<soapenv:Body>
<get:GetShoeboxItemRequest xmlns:get="urn:webservice/server/mobile/shoebox/types/v1/GetShoeboxItem">
<get:participantId>1060687620010</get:participantId>
<get:participantCode>1060687620010</get:participantCode>
<get:groupCode>027198</get:groupCode>
<get:userType>EE</get:userType>
<get:clientName>Test</get:clientName>
<get:shoeboxID>123444</get:shoeboxID>
</get:GetShoeboxItemRequest>
</soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)
在这方面需要快速帮助。XSLT代码段将很有帮助。
xslt ×1