рдбрдмреНрд▓реВрдПрд╕рдПрдл / рдкреАрдПрдЪрдкреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╡реЗрдм рд╕реЗрд╡рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдпреВрдЬрд░рдиреЗрдо рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдФрд░ рдПрдЪрдЯреАрдЯреАрдкреАрдПрд╕ рдХреЗ рд╕рд╛рде

рдореБрдЭреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рд╡реЗрдм рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдФрд░ PHP рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ (рдПрдХ рд╕реЗрд╡рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдирд╣реАрдВ) рд▓рд┐рдЦрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕реЗ WS рдФрд░ WS- рд╕реБрд░рдХреНрд╖рд╛ рдорд╛рдирдХреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, .NET рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, WCF рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдкрд░реНрдпрд╛рдкреНрдд рдерд╛)ред

рдереЛрдбрд╝реЗ рд╕реЗ Google рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рди рддреЛ рдорд╛рдирдХ PHP SOAP рдкреБрд╕реНрддрдХрд╛рд▓рдп, рди рд╣реА Zend рдлреНрд░реЗрдорд╡рд░реНрдХ, рдФрд░ рди рд╣реА WSF / PHP рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд┐рдирд╛ WS- рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЬрд▓реНрджрдмрд╛рдЬреА рдореЗрдВ рдорд┐рд▓реА рдлрд╛рдЗрд▓реЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреА рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, UserToken рдПрдХ рд╕рд╛рджреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рд╣рд╕реНрддрд╛рдХреНрд╖рд░, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, рдкреНрд░рдорд╛рдг рдкрддреНрд░, рдФрд░ рдЗрд╕реА рддрд░рд╣ рдФрд░ рдЖрдЧреЗ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпрд╣ рд╕рдорд╛рдзрд╛рди WSFL рдкреАрдврд╝реА рдЬреИрд╕реЗ WSF / PHP рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдм рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рдЧреИрд░-рддреБрдЪреНрдЫ рдкреНрд░рд▓реЗрдЦрди рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 2.1.0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред


рдЯреНрд░реЗрдирд┐рдВрдЧ

рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред рдореЗрд░реА рд╕реЗрд╡рд╛ рдЙрдмрдВрдЯреВ 11.04 рдкрд░ рдЪрд╛рд▓реВ рд╣реБрдИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди C # (рдиреАрдЪреЗ рджреА рдЧрдИ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдореИрдВ рдЗрд╕рдХрд╛ рдХреЛрдб рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреВрдВрдЧрд╛) рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред WSF / PHP рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

рд╕рднреА рдШрдЯрдХреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрдИ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ (рдкрд░рд┐рдЪрдп рдореЗрдВ рд▓рд┐рдВрдХ рджреЗрдЦреЗрдВ)ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ PHP рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╕рдордп, wsf.home рд╡рд┐рдХрд▓реНрдк рдЙрд╕ рдкрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рд╣реИ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ /opt/wso2/wsf_c )ред

рд╕реЗрд╡рд╛

рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдПрдХрдорд╛рддреНрд░ рдСрдкрд░реЗрд╢рди рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рддрд░реНрдХ рдХреЛ рдЪреБрдХрддрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдХреЛрдб рдХреА рд╕рд╛рдордЧреНрд░реА: findSquare рдлрд╝рдВрдХреНрд╢рди, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ; рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо рдХреЛ рдСрдкрд░реЗрд╢рди рдирд╛рдо рдмрд╛рдВрдзрдирд╛, рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдФрд░ рдПрдХ рдЯреЛрдХрди рдмрдирд╛рдирд╛ (рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди WSSecurityToken рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ ( API рджреЗрдЦреЗрдВ) рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдбрдХреЙрд▓рдмреИрдХ рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рд▓реЙрдЧрд┐рди рд╕реЗ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд╛рд╕рд╡рд░реНрдб, рдФрд░ рдЖрдЧреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ); рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЙрд▓ рдХреЗ рд╕рд╛рде WSService рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдирд╛ред

рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╕реЗрд╡рд╛ рдХреЛ index.php рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

 <?php function findSquare($integer) { $result = pow($integer, 2); return array("result"=>$result); } $operations = array( "squareInt" => "findSquare" ); // operations mapping $securityPolicy = new WSPolicy(file_get_contents('spolicy.xml')); // security policy $securityToken = new WSSecurityToken(array( "user"=>"god", "password"=>"iddqd", "passwordType"=>"PlainText", "ttl" => 100)); // security token $service = new WSService(array( "wsdl"=>"index.wsdl", "operations" => $operations, "serviceName" => "TestService", "policy"=>$securityPolicy, "securityToken"=>$securityToken )); // service instance $service->reply(); ?> 


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ: spolicy.xml рдФрд░ index.wsdl ред WSDL рдХреЛ рдорд╛рдирдХ WSF / PHP рдЯреВрд▓ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рд╕реЗрд╡рд╛ URL рдореЗрдВ ?wsdl рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░ (рд╕рд╣реА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде WSDL рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ, рдЖрджрд┐ рдкрд░, рдлрд┐рд░ рд╕реЗ, рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝реЗрдВ: рдЗрд╕ рдмрд┐рдВрджреБ рдХреЛ рдХрд╛рдлреА рд╕рдордЭрджрд╛рд░реА рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред

рдЕрдм spolicy.xml рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирд╛ред рдпрд╣ рдПрдХ XML рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕реЗ WS-SecurityPolicy рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред WSPolicy рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рддрд░реНрдХреЛрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕рдордп рдмрд╛рдж UsernameToken рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдп рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рддрд░реНрдХ WS-SecurityPolicy рдХреА рдХреЗрд╡рд▓ рдореВрд▓ рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдореЗрдВ рдпрд╣ рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджреЗ рдкрд░рд┐рд╡рд╣рди, рдпрд╛ HTTPS рдкрд░ рд╣реИрдВред

 <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"> <wsp:ExactlyOne> <wsp:All> <sp:TransportBinding> <wsp:Policy> <sp:IncludeTimestamp/> </wsp:Policy> </sp:TransportBinding> <sp:SignedSupportingTokens> <wsp:Policy> <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"> <wsp:Policy> <sp:WssUsernameToken10 /> </wsp:Policy> </sp:UsernameToken> <sp:IncludeTimestamp/> </wsp:Policy> </sp:SignedSupportingTokens> </wsp:All> </wsp:ExactlyOne> </wsp:Policy> 


рдореИрдВ рднреА index.wsdl рдХрд░реЗрдЧрд╛ ( domain.tld рдХреЛ рдбреЛрдореЗрди рдпрд╛ рд╕реЗрд╡рд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЖрдИрдкреА рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП):
 <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.wso2.org/php" xmlns:tnx="http://www.wso2.org/php/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:http="http://www.w3.org/2003/05/soap/bindings/HTTP/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" targetNamespace="http://www.wso2.org/php"> <types> <xsd:schema elementFormDefault="qualified" targetNamespace="http://www.wso2.org/php/xsd"> <xsd:element name="squareInt"> <xsd:complexType> <xsd:sequence> <xsd:element name="integer" type="xsd:int"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="squareIntResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="result" type="xsd:int"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </types> <message name="squareInt"> <part name="parameters" element="tnx:squareInt"/> </message> <message name="squareIntResponse"> <part name="parameters" element="tnx:squareIntResponse"/> </message> <portType name="TestServicePortType"> <operation name="squareInt"> <input message="tns:squareInt"/> <output message="tns:squareIntResponse"/> </operation> </portType> <binding name="TestServiceSOAPBinding" type="tns:TestServicePortType"> <soap:binding xmlns="http://schemas.xmlsoap.org/wsdl/soap/" transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <operation xmlns:default="http://schemas.xmlsoap.org/wsdl/soap/" name="squareInt"> <soap:operation xmlns="http://schemas.xmlsoap.org/wsdl/soap/" soapAction="https://domain.tld:443/index.php/squareInt" style="document"/> <input xmlns:default="http://schemas.xmlsoap.org/wsdl/soap/"> <soap:body xmlns="http://schemas.xmlsoap.org/wsdl/soap/" use="literal"/> </input> <output xmlns:default="http://schemas.xmlsoap.org/wsdl/soap/"> <soap:body xmlns="http://schemas.xmlsoap.org/wsdl/soap/" use="literal"/> </output> </operation> </binding> <service name="TestService"> <port xmlns:default="http://schemas.xmlsoap.org/wsdl/soap/" name="TestServiceSOAPPort_Http" binding="tns:TestServiceSOAPBinding"> <soap:address xmlns="http://schemas.xmlsoap.org/wsdl/soap/" location="https://domain.tld:443/index.php"/> </port> </service> </definitions> 


рдпрд╣ рд╕реЗрд╡рд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрджрд┐ рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реЗрд╡рд╛ рдХрд╛ рдкрддрд╛ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рддреИрдирд╛рдд рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рдФрд░ рдЙрдирдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдПрдХ рд╕реВрдЪреА рдЦреБрд▓ рдЬрд╛рдПрдЧреАред

рдЧреНрд░рд╛рд╣рдХ

рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдХ C # рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрддреЗ рдкрд░ рджрд╕реНрддрдХ рджреЗрддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рд▓реЙрдЧрд┐рди, рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдкреНрд░реЗрд╖рд┐рдд рдореВрд▓реНрдп рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдЖрдкрдХреЛ рдЗрд╕ рдЪреВрдХ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

 internal class Program { // Methods private static void Main() { try { ServicePointManager.ServerCertificateValidationCallback = delegate (object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors errors) { return true; }; TestServicePortTypeClient client = new TestServicePortTypeClient(); client.ClientCredentials.UserName.UserName = "god"; client.ClientCredentials.UserName.Password = "iddqd"; Console.WriteLine(client.squareInt(5)); } catch (Exception exception) { Console.WriteLine(exception); } finally { Console.ReadKey(); } } } 


рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ ( domain.tld рдХреЛ рдбреЛрдореЗрди рдпрд╛ рд╕реЗрд╡рд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЖрдИрдкреА рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП):
 <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <bindings> <basicHttpBinding> <binding name="TestServiceSOAPBinding"> <security mode="TransportWithMessageCredential"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> </basicHttpBinding> </bindings> <client> <endpoint address="https://domain.tld/index.php" binding="basicHttpBinding" bindingConfiguration="TestServiceSOAPBinding" contract="MyServiceReference.TestServicePortType" name="TestServiceSOAPPort_Http" /> </client> </system.serviceModel> </configuration> 


рдкрд░рд┐рдгрд╛рдо

рдирддреАрдЬрддрди, 25 рдХреЛ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛, рдпрджрд┐ рдЖрдкрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдХреЛ рд╕рд╣реА рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ, рдЕрдкрдиреЗ рдирдВрдмрд░ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рджрд░реНрдЬ рдХрд░реЗрдВред

Source: https://habr.com/ru/post/In132353/


All Articles