Shen
Shen

Reputation: 27

how to convert the pure soap php to laravel 5

I am new in laravel 5. This code is ok in pure php. But I don't know how to convert this to laravel 5. Can you tell me how to transfer this code to laravel 5.

client.php:

<?php class client {
public function __construct()
{
    $params = array('location' => 'http://localhost:8888/csoap/server.php',
                    'uri' => 'urn://localhost:8888/csoap/server.php');

    /* Initialize webservice */
    $this->instance = new SoapClient(NULL, $params);
}

public function getString($id)
{
    return $this->instance->__soapCall('getOutputString', $id);
}
}

$client = new client();
$id = array('id' => '1');

echo $client->getString($id);
?>

csoap/server.php:

<?php class server {
public function getOutputString($id)
{
    $str = 'Youre ID is ' . $id . '.';
    return $str;
}
}

$params = array('uri' => 'http://localhost:8888/csoap/server.php');
$server =  new SoapServer(NULL, $params);
$server->setClass('server');
$server->handle();

?>

This is how I performed my installation in laravel 5.1

"require": {
        "artisaninweb/laravel-soap": "0.2.*"
    }

run: composer install or composer update

Add the service in config/app.php.

'providers' => [ 
...
...
Artisaninweb\SoapWrapper\ServiceProvider', 
]

'aliases' => [
...
...
'SoapWrapper' => 'Artisaninweb\SoapWrapper\Facades\SoapWrapper'
]

This is my client soap:

use Artisaninweb\SoapWrapper\Facades\SoapWrapper;

class DataSoap {

public function demo()
{
    // Add a new service to the wrapper
    SoapWrapper::add(function ($service) {
        $service
            ->name('mydata')
            ->wsdl('http://localhost:8888/csoap/Server.php')
            ->trace(true)
    });

    $data = [
        'str' => 'Hello World',
    ];

    // Using the added service
    SoapWrapper::service('mydata', function ($service) use ($data) {
        var_dump($service->getFunctions());
        var_dump($service->call('getString', [$data])->getSringResult);
    });
}
}

When I run the this code, I get an error

Class 'Artisaninweb\SoapWrapper\ServiceProvider' not found

Upvotes: 1

Views: 1129

Answers (1)

LARRY MOSES
LARRY MOSES

Reputation: 11

You should change:

Artisaninweb\SoapWrapper\ServiceProvider

to:

Artisaninweb\SoapWrapper\ServiceProvider::class

and also:

SoapWrapper' => 'Artisaninweb\SoapWrapper\Facades\SoapWrapper

to:

SoapWrapper' => Artisaninweb\SoapWrapper\Facades\SoapWrapper::class

Upvotes: 1

Related Questions