Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class NewOperation {
- public function NewOperation()
- {
- }
- }
- ini_set("soap.wsdl_cache_enabled", "0");
- $server = new SOAPServer('http://localhost:9080/soap-websiteservice- wsdl/CalculatorService.wsdl', array(
- 'soap_version' => SOAP_1_2,
- 'style' => SOAP_RPC,
- 'use' => SOAP_LITERAL
- ));
- $server->setClass('NewOperation');
- $server->handle();
- <?php
- // client.php
- $options = array(
- 'trace' => true
- );
- $client = new SOAPClient('http://localhost:9080/soap-websiteservice- wsdl/server.php?wsdl', $options);
- var_dump($client->NewOperation());
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost:9080/soap-websiteservice-wsdl/CalculatorService/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CalculatorService" targetNamespace="http://localhost:9080/soap-websiteservice- wsdl/CalculatorService/">
- <wsdl:types>
- <xsd:schema targetNamespace="http://localhost:9080/soap-websiteservice- wsdl/CalculatorService/">
- <xsd:element name="add" type="xsd:string">
- </xsd:element>
- <xsd:element name="addResponse">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="addResponse" type="tns:addResponseType" />
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:complexType name="addRequestType">
- <xsd:sequence>
- <xsd:element name="num1" type="xsd:int"></xsd:element>
- <xsd:element name="num2" type="xsd:int"></xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="addResponseType">
- <xsd:sequence>
- <xsd:element name="result" type="xsd:string"></xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="in" type="xsd:string"></xsd:element>
- <xsd:element name="NewOperationResponse">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="out" type="xsd:string"></xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:schema>
- </wsdl:types>
- <wsdl:message name="addRequest">
- <wsdl:part element="tns:add" name="parameters"/>
- </wsdl:message>
- <wsdl:message name="addResponse">
- <wsdl:part element="tns:addResponse" name="parameters"/>
- </wsdl:message>
- <wsdl:message name="NewOperationRequest">
- <wsdl:part name="NewOperationRequest" element="tns:in"></wsdl:part>
- </wsdl:message>
- <wsdl:message name="NewOperationResponse">
- <wsdl:part name="parameters" element="tns:NewOperationResponse"> </wsdl:part>
- </wsdl:message>
- <wsdl:portType name="CalculatorService">
- <wsdl:operation name="NewOperation">
- <wsdl:input message="tns:NewOperationRequest"></wsdl:input>
- <wsdl:output message="tns:NewOperationResponse"></wsdl:output>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="CalculatorServiceSOAP"
- type="tns:CalculatorService">
- <soap:binding style="document"
- transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="NewOperation">
- <soap:operation
- soapAction="http://localhost:9080/soap-websiteservice- wsdl/CalculatorService/NewOperation" />
- <wsdl:input>
- <soap:body use="literal" />
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal" />
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="CalculatorService">
- <wsdl:port binding="tns:CalculatorServiceSOAP" name="CalculatorServiceSOAP">
- <soap:address location="http://localhost:9080/soap-websiteservice-wsdl/"/>
- </wsdl:port>
- </wsdl:service>
- </wsdl:definitions>
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost:9080/soap-websiteservice-wsdl/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Calculator" targetNamespace="http://localhost:9080/soap-websiteservice-wsdl/Calculator">
- <wsdl:types>
- <xsd:schema targetNamespace="http://localhost:9080/soap-websiteservice-wsdl/Calculator">
- <xsd:element name="Average">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="num1" type="xsd:int" />
- <xsd:element name="num2" type="xsd:int"></xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="AverageResponse">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="Result" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:complexType name="AverageRequestType">
- <xsd:sequence>
- <xsd:element name="num1" type="xsd:int"></xsd:element>
- <xsd:element name="num2" type="xsd:int"></xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:schema>
- </wsdl:types>
- <wsdl:message name="AverageRequest">
- <wsdl:part element="tns:Average" name="parameters"/>
- </wsdl:message>
- <wsdl:message name="AverageResponse">
- <wsdl:part element="tns:AverageResponse" name="parameters"/>
- </wsdl:message>
- <wsdl:portType name="Calculator">
- <wsdl:operation name="Average">
- <wsdl:input message="tns:AverageRequest"/>
- <wsdl:output message="tns:AverageResponse"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="CalculatorSOAP" type="tns:Calculator">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="Average">
- <soap:operation soapAction="http://localhost:9080/soap-websiteservice-wsdl/Calculator/NewOperation"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="Calculator">
- <wsdl:port binding="tns:CalculatorSOAP" name="CalculatorSOAP">
- <soap:address location="http://localhost:9080/soap-websiteservice-wsdl/server.php"/>
- </wsdl:port>
- </wsdl:service>
- </wsdl:definitions>
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost:9080/soap-websiteservice-wsdl/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Calculator" targetNamespace="http://localhost:9080/soap-websiteservice-wsdl/Calculator">
- <wsdl:types>
- <xsd:schema targetNamespace="http://localhost:9080/soap-websiteservice-wsdl/Calculator">
- <xsd:element name="Average">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="num1" type="xsd:int" />
- <xsd:element name="num2" type="xsd:int"></xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="AverageResponse">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="Result" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:complexType name="AverageRequestType">
- <xsd:sequence>
- <xsd:element name="num1" type="xsd:int"></xsd:element>
- <xsd:element name="num2" type="xsd:int"></xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:schema>
- </wsdl:types>
- <wsdl:message name="AverageRequest">
- <wsdl:part element="tns:Average" name="parameters"/>
- </wsdl:message>
- <wsdl:message name="AverageResponse">
- <wsdl:part element="tns:AverageResponse" name="parameters"/>
- </wsdl:message>
- <wsdl:portType name="Calculator">
- <wsdl:operation name="Average">
- <wsdl:input message="tns:AverageRequest"/>
- <wsdl:output message="tns:AverageResponse"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="CalculatorSOAP" type="tns:Calculator">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="Average">
- <soap:operation soapAction="http://localhost:9080/soap-websiteservice-wsdl/Calculator/NewOperation"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="Calculator">
- <wsdl:port binding="tns:CalculatorSOAP" name="CalculatorSOAP">
- <soap:address location="http://localhost:9080/soap-websiteservice-wsdl/server.php"/>
- </wsdl:port>
- </wsdl:service>
- </wsdl:definitions>
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost:9080/soap-websiteservice-wsdl/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Calculator" targetNamespace="http://localhost:9080/soap-websiteservice-wsdl/Calculator">
- <wsdl:types>
- <xsd:schema targetNamespace="http://localhost:9080/soap-websiteservice-wsdl/Calculator">
- <xsd:element name="Average">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="num1" type="xsd:int" />
- <xsd:element name="num2" type="xsd:int"></xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="AverageResponse">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="Result" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:complexType name="AverageRequestType">
- <xsd:sequence>
- <xsd:element name="num1" type="xsd:int"></xsd:element>
- <xsd:element name="num2" type="xsd:int"></xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:schema>
- </wsdl:types>
- <wsdl:message name="AverageRequest">
- <wsdl:part element="tns:Average" name="parameters"/>
- </wsdl:message>
- <wsdl:message name="AverageResponse">
- <wsdl:part element="tns:AverageResponse" name="parameters"/>
- </wsdl:message>
- <wsdl:portType name="Calculator">
- <wsdl:operation name="Average">
- <wsdl:input message="tns:AverageRequest"/>
- <wsdl:output message="tns:AverageResponse"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="CalculatorSOAP" type="tns:Calculator">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="Average">
- <soap:operation soapAction="http://localhost:9080/soap-websiteservice-wsdl/Calculator/NewOperation"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="Calculator">
- <wsdl:port binding="tns:CalculatorSOAP" name="CalculatorSOAP">
- <soap:address location="http://localhost:9080/soap-websiteservice-wsdl/server.php"/>
- </wsdl:port>
- </wsdl:service>
- </wsdl:definitions>
- <?php
- ini_set("soap.wsdl_cache_enabled", "0");
- class Server{
- protected $class_name = '';
- public function __construct($class_name)
- {
- $this->class_name = $class_name;
- }
- public function AuthHeader($Header)
- {
- //if($Header->username == 'foo' && $Header->password == 'bar')
- // $this->authenticated = true;
- }
- public function log($method_name,$data)
- {
- $filename = 'log.txt';
- $handle = fopen($filename, 'a+');
- fwrite($handle, date("l dS of F Y h:i:s A").' - '.$_SERVER['REMOTE_ADDR']."rn".$method_name."rn".print_r($data,true));
- fclose($handle);
- }
- public function __call($method_name, $parameters)
- {
- $this->log($method_name,$parameters); // log
- //if($arguments[0]!=AUTH) return 'Authorization required'; // auth check
- if(!method_exists($this->class_name, $method_name )) return 'Method '.$method_name.' not found'; // methot exist check
- return call_user_func_array(array($this->class_name, $method_name ), $parameters); //call method
- }
- }
- class Calculator {
- public function Average ($parameters)
- {
- $num1 = $parameters->num1;
- $num2 = $parameters->num2;
- return self::AverageResponse(($num1 + $num2) / 2);
- }
- public function AverageResponse ($message)
- {
- return ['Result' => $message];
- }
- }
- class in {
- }
- $Service = new Server('Calculator');
- $classmap=[
- 'in' => 'in'
- ];
- $server = new SOAPServer('http://localhost:9080/soap-websiteservice-wsdl/Calculator.wsdl', array(
- 'soap_version' => SOAP_1_2,
- 'style' => SOAP_RPC,
- 'use' => SOAP_LITERAL,
- 'classmap'=>$classmap
- ));
- $server->setObject($Service);
- //$server->setClass('Calculator');
- $server->handle();
- <?php
- // client.php
- $options = array(
- 'trace' => true
- );
- $client = new SOAPClient('http://localhost:9080/soap-websiteservice-wsdl/server.php?wsdl', $options);
- var_dump($client->Average(['num1' => 10, 'num2' => 6])->Result);
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace WindowsFormsApplication1
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- localhost.Calculator client = new localhost.Calculator();
- string returnString;
- returnString = client.Average(10,8);
- label1.Text = returnString;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement