Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $this->setClass('WebSvcSoapFunctions');
- $this->setPersistence(SOAP_PERSISTENCE_SESSION);
- <?xml version="1.0" encoding="UTF-8"?>
- <wsdl:types>
- <schema xmlns:rns="http://soap.jrimer-amp64/" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soap.jrimer-amp64/" version="1.0.0" elementFormDefault="unqualified" attributeFormDefault="unqualified">
- <complexType name="versionRequest">
- </complexType>
- <complexType name="versionResponse">
- <sequence>
- <element name="result" type="string" minOccurs="1"/>
- </sequence>
- </complexType>
- <complexType name="loginRequest">
- <sequence>
- <element name="username" type="string" use="required"/>
- <element name="password" type="string" use="required"/>
- </sequence>
- </complexType>
- <complexType name="loginResponse">
- <sequence>
- <element name="result" type="string" minOccurs="1"/>
- </sequence>
- </complexType>
- <complexType name="logoutRequest">
- </complexType>
- <complexType name="logoutResponse">
- <sequence>
- <element name="result" type="string" minOccurs="1"/>
- </sequence>
- </complexType>
- </schema>
- </wsdl:types>
- <wsdl:service name="XxxxxxSvc">
- <wsdl:port name="XxxxxxSvc-Endpoint0" binding="tns:XxxxxxSvc-Endpoint0Binding">
- <soap:address location="http://soap.jrimer-amp64/"/>
- </wsdl:port>
- </wsdl:service>
- <wsdl:portType name="portType">
- <wsdl:operation name="version">
- <wsdl:input message="tns:versionRequest"/>
- <wsdl:output message="tns:versionResponse"/>
- </wsdl:operation>
- <wsdl:operation name="login">
- <wsdl:input message="tns:loginRequest"/>
- <wsdl:output message="tns:loginResponse"/>
- </wsdl:operation>
- <wsdl:operation name="logout">
- <wsdl:input message="tns:logoutRequest"/>
- <wsdl:output message="tns:logoutResponse"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="XxxxxxSvc-Endpoint0Binding" type="tns:portType">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="version">
- <soap:operation style="document" soapAction="http://soap.jrimer-amp64/"/>
- <wsdl:input>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="login">
- <soap:operation style="document" soapAction="http://soap.jrimer-amp64/"/>
- <wsdl:input>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="logout">
- <soap:operation style="document" soapAction="http://soap.jrimer-amp64/"/>
- <wsdl:input>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:message name="versionRequest">
- <wsdl:part name="parameters" element="ns0:versionRequest"/>
- </wsdl:message>
- <wsdl:message name="versionResponse">
- <wsdl:part name="parameters" element="ns0:versionResponse"/>
- </wsdl:message>
- <wsdl:message name="loginRequest">
- <wsdl:part name="parameters" element="ns0:loginRequest"/>
- </wsdl:message>
- <wsdl:message name="loginResponse">
- <wsdl:part name="parameters" element="ns0:loginResponse"/>
- </wsdl:message>
- <wsdl:message name="logoutRequest">
- <wsdl:part name="parameters" element="ns0:logoutRequest"/>
- </wsdl:message>
- <wsdl:message name="logoutResponse">
- <wsdl:part name="parameters" element="ns0:logoutResponse"/>
- </wsdl:message>
- class WebSvcSoapFunctions
- {
- private $username = ''; // username provided by the client during login() request
- private $password = ''; // password provided by the client during login() request
- /**
- * Handle a login request
- *
- * @param string $user - Client's Username
- * @param string $pass - Client's Password
- */
- public function login($user,$pass)
- {
- $this->username = $user;
- $this->password = $pass;
- // should check for validity here, but for testing, return true.
- return 'Successful Login. Welcome, '.$user;
- }
- /**
- * Logs the client out.
- *
- */
- public function logout()
- {
- $this->username = '';
- $this->password = '';
- $_SESSION = array();
- session_destroy();
- return 'Logged Out Successfully.';
- }
- /**
- * checks if the client has logged in successfully
- *
- * @return bool - true=logged in, false = unauthenticated
- */
- private function isAuthenticated()
- {
- if (isset($this->username) && $this->username != '')
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- /**
- * Returns the version of the SOAP Server to the requesting client
- *
- */
- public function version()
- {
- if ($this->isAuthenticated())
- {
- return 'Affinegy Service v1.0.0';
- }
- else
- {
- return 'NOT AUTHORIZED.';
- }
- }
- }
- ini_set("soap.wsdl_cache_enabled", "0");
- define('WSDL_URL','http://soap.jrimer-amp64/?wsdl');
- try
- {
- $client = new SoapClient(WSDL_URL, array('trace'=>true));
- $request = 'version';
- $args = array();
- $SOAPResult = $client->$request($args); // call the SOAP Server's "version" function
- OutputLastRequestResponse($client, $request, $args, $SOAPResult);
- $request = 'login';
- $args['username'] = 'testuser';
- $args['password'] = '1234';
- $SOAPResult = $client->$request($args); // call the SOAP Server's "login" function
- OutputLastRequestResponse($client, $request, $args, $SOAPResult);
- $request = 'version';
- $args = array();
- $SOAPResult = $client->$request($args); // call the SOAP Server's "version" function
- OutputLastRequestResponse($client, $request, $args, $SOAPResult);
- $request = 'logout';
- $args = array();
- $SOAPResult = $client->$request($args); // call the SOAP Server's "logout" function
- OutputLastRequestResponse($client, $request, $args, $SOAPResult);
- $request = 'version';
- $SOAPResult = $client->$request($args); // call the SOAP Server's "version" function
- OutputLastRequestResponse($client, $request, $args, $SOAPResult);
- }
- catch (Exception $e)
- {
- echo '<pre>FAILED: '.print_r($e,1).'</pre>'; // dump the client exception to screen
- OutputLastRequestResponse($client);
- }
- /**
- * Displays the request and response of the test service call
- *
- * @param SoapServer $client - Object of type SoapClient that does the request
- * @param string $requested - name of the SOAP function called
- * @param array $args - Arguments sent to the SOAP function
- * @param string $returned - PHP readable value returned by the client calling the provided SOAP function
- */
- function OutputLastRequestResponse($client, $requested = '', $args=array(), $returned='')
- {
- echo '<h1>XXXXXXXX SERVICE SOAP SERVER TEST</h1>';
- echo 'Request: <pre>'.$requested.'</pre>';
- echo 'Request Arguments: <pre>'.print_r($args,1).'</pre>';
- echo 'Returned: <pre>'.$returned.'</pre>';
- echo 'Raw Request: <pre>'.htmlspecialchars($client->__getLastRequestHeaders());
- echo htmlspecialchars($client->__getLastRequest()).'</pre>';
- echo 'Raw Response: <pre>'.htmlspecialchars($client->__getLastResponseHeaders())."n";
- echo htmlspecialchars($client->__getLastResponse()).'</pre>';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement