рдХрд╛рд░реНрдп
рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдРрд╕реА рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рднреЗрдЬ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрд▓рдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд╕реЗрд╡рд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдорд┐рддреНрд░реЛрдВ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рд╕реЗрд╡рд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдирд┐рд░реНрдгрдп
рдмрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
WSO2 рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рд╕рд░реНрд╡рд┐рд╕ рдмрд╕ , рдЬрд┐рд╕ рдкрд░ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реИред
рд╣рдо WSO2 ESB рд╕рдВрд╕реНрдХрд░рдг 4.7.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдиреАрддрд┐рдпрд╛рдВ рдмрдирд╛рдирд╛
рдЪреВрдВрдХрд┐ рдбрдмреНрд▓реНрдпреВрдПрд╕-рд╕реБрд░рдХреНрд╖рд╛ рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рдХреНрд╖реНрдп рд╕реЗрд╡рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдорд╛рдирдХ рдХреЗ рдкреВрд░реНрдг рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВрдЧреЗред
рдиреАрддрд┐рдпрд╛рдБ рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ: рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ - рд╕реЗрд╡рд╛ рдмрд╕ - рд╕реНрдерд╛рдиреАрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ - рд╕реНрдерд╛рдиреАрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ - рдЗрди-рд▓рд╛рдЗрди рдХрд┐рдП рдЧрдП XML рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝реЗрдВред
рдЖрдЙрдЯрдмрд╛рдЙрдВрдб рдиреАрддрд┐
рдпрд╣рд╛рдВ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдирд╛рдореЛрдВ рдХреЛ рдордирдорд╛рдирд╛ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдХрд▓рд╛рдХреГрддрд┐рдпрд╛рдВ рдПрдХ рд╕рд╛рде рд╣реЛрдВрдЧреА
рдПрдХ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
рд╕реЗрд╡рд╛-рдиреАрддрд┐рдиреАрддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UTOverTransport"> <wsp:ExactlyOne> <wsp:All> <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <wsp:Policy> <sp:TransportToken> <wsp:Policy> <sp:HttpsToken RequireClientCertificate="false"/> </wsp:Policy> </sp:TransportToken> <sp:AlgorithmSuite> <wsp:Policy> <sp:Basic128/> </wsp:Policy> </sp:AlgorithmSuite> <sp:Layout> <wsp:Policy> <sp:Lax/> </wsp:Policy> </sp:Layout> <sp:IncludeTimestamp/> </wsp:Policy> </sp:TransportBinding> <sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <wsp:Policy> <sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"/> </wsp:Policy> </sp:SignedSupportingTokens> <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> <ramp:user>MyUsername</ramp:user> <ramp:passwordCallbackClass>serPasswordCallbackHandler</ramp:passwordCallbackClass> </ramp:RampartConfig> </wsp:All> </wsp:ExactlyOne> </wsp:Policy>
рдЗрд╕ рдиреАрддрд┐ рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рд▓рдХреНрд╖реНрдп рд╕реЗрд╡рд╛ рдФрд░ рд╡рд░реНрдЧ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╕ рдЖрд╡рд╢реНрдпрдХ рдкрд╛рд╕рд╡рд░реНрдб,
serPasswordCallBackHandler рд╡рд░реНрдЧ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛:
package ser; import org.apache.ws.security.WSPasswordCallback; import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.callback.UnsupportedCallbackException; import java.io.IOException; public class PasswordCallBackHandler implements CallbackHandler { private static final String PASSWORD = "MyPassword"; @Override public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { for (Callback callback : callbacks) { if (callback instanceof WSPasswordCallback) { WSPasswordCallback pc = (WSPasswordCallback) callback; if (pc.getUsage() == WSPasswordCallback.USERNAME_TOKEN_UNKNOWN) { if (pc.getPassword().equals(PASSWORD)) return; throw new UnsupportedCallbackException(callback, "Check failed"); } pc.setPassword(PASSWORD); } else { throw new UnsupportedCallbackException(callback, "Unrecognized Callback"); } } } }
рд╣рдо рдЬрд╛рд░ рдореЗрдВ рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ WSO2_HOME / рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА / рдШрдЯрдХреЛрдВ / lib / рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВред
WSO2 рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред
рдЗрдирдмреЙрдХреНрд╕ рдиреАрддрд┐
рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
рд░рд┐рдХреНрдд-рдиреАрддрд┐ ред
рдиреАрддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UTOverTransport"> <wsp:ExactlyOne> <wsp:All> <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <wsp:Policy/> </sp:TransportBinding> <sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <wsp:Policy/> </sp:SignedSupportingTokens> </wsp:All> </wsp:ExactlyOne> </wsp:Policy>
рдПрдХ рдкрддрд╛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдмрдирд╛рдПрдБ
рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
my-endpoint ред
рд╕реЗрд╡рд╛ рдХрд╛ рдкрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред
рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ, рд╣рдо WS-Security рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдФрд░ рдЗрдирдХрдорд┐рдВрдЧ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдиреАрддрд┐рдпрд╛рдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред
рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╕реНрд░реЛрдд:
<endpoint name="my-endpoint"> <address uri="http://service/soap/"> <enableSec inboundPolicy="empty-policy" outboundPolicy="service-policy"/> </address> </endpoint>
рдПрдХ XSLT рд╕рдВрджреЗрд╢ рдкрд░рд┐рд╡рд░реНрддрди рдмрдирд╛рдПрдБ
XSLT рд░реВрдкрд╛рдВрддрд░рдг рд░рд╛рдЬрдиреЗрддрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ: рдкреНрд░рдмрдВрдзрд┐рдд - рд╕реЗрд╡рд╛ рдмрд╕ - рд╕реНрдерд╛рдиреАрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ - рд╕реНрдерд╛рдиреАрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ - рдЗрди-рд▓рд╛рдЗрди рдХрд┐рдП рдЧрдП XML рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝реЗрдВред
рдЗрдирдХрдорд┐рдВрдЧ рд╕рдВрджреЗрд╢ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ
рд╣рдореЗрдВ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдЙрд╕ рджреГрд╢реНрдп рдкрд░ рд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕реЗрд╡рд╛ рд╕рдордЭрддреА рд╣реИ:
рдирд╛рдо рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ:
рдореЗрдВ xsltрд░реВрдкрд╛рдВрддрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> </xsl:template> </xsl:stylesheet>
рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд╕рдВрджреЗрд╢ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ
рд╣рдореЗрдВ рд╕реЗрд╡рд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдХ рдРрд╕реЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдпрд╣ рдХрджрдо рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдЪрд░рдг рдХреЗ рд╕рдорд╛рди рд╣реИ, рдХреЗрд╡рд▓ рдирд╛рдо:
out-xslt ред
рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдБ
UI рдореЗрдВ: рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ - рд╕реЗрд╡рд╛ - рдЬреЛрдбрд╝реЗрдВ - рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрд╡рд╛ - рдХрд╕реНрдЯрдо рдкреНрд░реЙрдХреНрд╕реА
рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
рдмрд╛рд╣рд░реА-рд╕реЗрд╡рд╛ ред рдЗрд╕ рдирд╛рдо рд╕реЗ рдЖрдкрдХреА рд╕реЗрд╡рд╛ рдмрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ : 8280 / рд╕реЗрд╡рд╛ / рдмрд╛рд╣рд░реА-рд╕реЗрд╡рд╛ред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, https рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЕрдирдЪреЗрдХ рдХрд░реЗрдВред
рдЕрдЧрд▓рд╛, рд╕реНрд░реЛрдд рдореЛрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ (рд╕реНрд░реЛрдд рджреГрд╢реНрдп рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ) рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд▓рд╛рдПрдВ:
<?xml version="1.0" encoding="UTF-8"?> <proxy xmlns="http://ws.apache.org/ns/synapse" name="external-service" transports="http" statistics="disable" trace="disable" startOnLoad="true"> <target faultSequence="fault" endpoint="my-endpoint"> <inSequence> <xslt key="in-xslt"/> <send> <endpoint key="my-endpoint"/> </send> </inSequence> <outSequence> <xslt key="out-xslt"/> <send/> </outSequence> </target> <description/> </proxy>
рдЗрдирдХрдорд┐рдВрдЧ рдФрд░ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рджреЛ рдХреНрд░рдо рд╣реИрдВ, рджреЛрдиреЛрдВ рдЙрдкрдпреБрдХреНрдд рд░реВрдкрд╛рдВрддрд░рдг рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рднреЗрдЬрддреЗ рд╣реИрдВред
рд╣реЛ рдЧрдпрд╛!
рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА
рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкреНрд░реЙрдХреНрд╕реА рд╕рдВрджреЗрд╢ рдХрд┐рд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЕрдВрддрд┐рдо рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ рдХрд╣рд╛рдВ рджреЗрдЦреЗрдВред
рдлрд╝рд┐рдбрд▓рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА:
рдкреНрд░реЙрдХреНрд╕реА, рдПрдХреНрд╢рди рд╣реЗрдбрд░ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдЖрдпрд╛ рд╣реИ, рдФрд░ рд╕реЗрд╡рд╛ рдХреА рд╢рдкрде рд▓реЗрддрд╛ рд╣реИ?
рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрд╡рд╛ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдордзреНрдпрд╕реНрде рдЬреЛрдбрд╝реЗрдВ, рдПрдХреНрд╢рди рд╣реЗрдбрд░ рд╣рдЯрд╛рдПрдВ:
<inSequence> <xslt key="in-xslt"/> <header name="Action" value=""/> <property name="SOAPAction" value="" scope="transport"/> <send> <endpoint key="my-endpoint"/> </send> </inSequence>
рдХреНрдпрд╛ рдкреНрд░реЙрдХреНрд╕реА рдЧрд▓рдд рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ?
рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рд╕рдВрджреЗрд╢ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ:
<outSequence> <xslt key="out-xslt"/> <property name="messageType" value="text/xml;charset=windows-1251" scope="axis2" type="STRING"/> <send/> </outSequence>
рд╕реЗрд╡рд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрдИ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ?
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
<soapenv:Envelope> <soapenv:Body> <part1/> <part2/> </soapenv:Body> </soapenv:Envelope>
WSO2, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЙрддреНрддрд░ рдореЗрдВ рдПрдХ рднрд╛рдЧ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рд╡реЗ рд░реВрдкрд╛рдВрддрд░рдг рдкрд░ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ рдХрд┐ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ: s11: рд╢рд░реАрд░ / рдмрдЪреНрдЪрд╛ :: * [рд╕реНрдерд┐рддрд┐ () = 1] | s12: рд╢рд░реАрд░ / рдмрдЪреНрдЪреЗ :: * [рд╕реНрдерд┐рддрд┐ () = 1], рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдо рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рд╕реЗрд╡рд╛ рдореЗрдВ рдХрдирд╡рд░реНрдЯрд░ рдХреА рдХреЙрд▓ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ:
<outSequence> <xslt xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" key="stav-out-xslt" source="SOAP-ENV:Body"/> <send/> </outSequence>
... рдФрд░ рдЗрд╕реЗ рдХрдирд╡рд░реНрдЯрд░ рдореЗрдВ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдВ:
<xsl:stylesheet> <xsl:template match="."> <xsl:apply-templates select="/part1"/> <xsl:apply-templates select="/part2"/> </xsl:template> <xsl:template match="part1"/> <xsl:template match="part2"> <forbody> </forbody> </xsl:template> </xsl:stylesheet>
рдЕрдирд╛рд░рдХреНрд╖рд┐рдд рдореБрджреНрджреЗ
рдореБрдЭреЗ рджреЛ рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛
рдПрдХ рднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдХреЗрд▓реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдПрдХрд▓ рдиреАрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рддреНрд░реБрдЯрд┐ рдереА рдХрд┐ рд╕реЗрд╡рд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рд╣реЗрдбрд░ рдирд╣реАрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдПрдХ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рдиреАрддрд┐ рд▓рд┐рдЦрдиреА рдкрдбрд╝реАред
рддреГрддреАрдп-рдкрдХреНрд╖ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛
рдкрд╛рд╕рд╡рд░реНрдб рднрдВрдбрд╛рд░рдг рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдирд╛рдбрд╝реА рд╕рдорд╛рдзрд╛рди рдПрдХ рд╕реНрдкрд╖реНрдЯ рдмреИрд╕рд╛рдЦреА рд╣реИ рдЬрд┐рд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рддреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдпрд╛ рдПрдХ рд╕рд╛рдЗрдХрд┐рд▓ред
рдкрд░рд┐рдгрд╛рдо
- рд░реВрдкрд╛рдВрддрд░рдг рднрд╛рдЧ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рд╣реБрдИрдВ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди UI рдкрд░ рдмрд╣реБрдд рдлреИрд▓рд╛ рд╣реБрдЖ рд╣реИред рдмреЗрд╢рдХ, рдЖрдк рдПрдХ рд╣реА рдпреВрдЖрдИ рдореЗрдВ рдПрдХрд▓ xml рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди xml рдкрд░ рдлреИрд▓ рдЬрд╛рдПрдЧрд╛ред
- рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╡реЗрд╢ рд╕реАрдорд╛ред
- рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ!