This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include
, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | |||
3 | namespace Bludata\Soap; |
||
4 | |||
5 | use InvalidArgumentException; |
||
6 | use SoapClient as NativeSoapClient; |
||
7 | |||
8 | class SoapClient |
||
9 | { |
||
10 | /** |
||
11 | * @var string |
||
12 | */ |
||
13 | protected $host; |
||
14 | |||
15 | /** |
||
16 | * @var array |
||
17 | */ |
||
18 | protected $options; |
||
19 | |||
20 | /** |
||
21 | * @var SoapClient |
||
22 | */ |
||
23 | protected $client; |
||
24 | |||
25 | /** |
||
26 | * @var mixed |
||
27 | */ |
||
28 | protected $service; |
||
29 | |||
30 | /** |
||
31 | * @var mixed |
||
32 | */ |
||
33 | protected $request; |
||
34 | |||
35 | /** |
||
36 | * Cria um instancia para comunicação com WSDL utilizando SoapClient. |
||
37 | * |
||
38 | * @param string $host Parametro obrigatório, endereço do WSDL |
||
39 | * @param array $options Parametro opcional, referente aos options que serão utilizados |
||
0 ignored issues
–
show
|
|||
40 | */ |
||
41 | public function __construct($host, array $options = []) |
||
42 | { |
||
43 | $this->setHost($host) |
||
44 | ->setOptions($options); |
||
45 | } |
||
46 | |||
47 | /** |
||
48 | * Efetua a conexão inicial com o WSDL. |
||
49 | * |
||
50 | * @return self |
||
51 | */ |
||
52 | public function connect() |
||
53 | { |
||
54 | if (!$host = $this->getHost()) { |
||
55 | throw new InvalidArgumentException('Host não informado'); |
||
56 | } |
||
57 | |||
58 | if (!$this->client) { |
||
59 | $this->client = new NativeSoapClient($host, $this->getOptions()); |
||
0 ignored issues
–
show
It seems like
new \SoapClient($host, $this->getOptions()) of type object<SoapClient> is incompatible with the declared type object<Bludata\Soap\SoapClient> of property $client .
Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property. Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property.. ![]() |
|||
60 | } |
||
61 | |||
62 | return $this; |
||
63 | } |
||
64 | |||
65 | /** |
||
66 | * Faz a chamada para o WSDL, de acordo com os parametros pré-configurados para o serviço. |
||
0 ignored issues
–
show
|
|||
67 | * |
||
68 | * @return SoapClient::__soapCall |
||
0 ignored issues
–
show
The doc-type
SoapClient::__soapCall could not be parsed: Unknown type name "SoapClient::__soapCall" at position 0. (view supported doc-types)
This check marks PHPDoc comments that could not be parsed by our parser. To see which comment annotations we can parse, please refer to our documentation on supported doc-types. ![]() |
|||
69 | */ |
||
70 | public function call() |
||
0 ignored issues
–
show
The return type could not be reliably inferred; please add a
@return annotation.
Our type inference engine in quite powerful, but sometimes the code does not
provide enough clues to go by. In these cases we request you to add a ![]() |
|||
71 | { |
||
72 | $host = $this->getHost(); |
||
73 | if (!$host || empty($host)) { |
||
74 | throw new InvalidArgumentException('Host não informado'); |
||
75 | } |
||
76 | |||
77 | $service = $this->getService(); |
||
78 | if (!$service || empty($service)) { |
||
79 | throw new InvalidArgumentException('Serviço não informado'); |
||
80 | } |
||
81 | |||
82 | $request = $this->getRequest(); |
||
83 | if (!$request || empty($request)) { |
||
84 | throw new InvalidArgumentException('Request não informada'); |
||
85 | } |
||
86 | |||
87 | $this->connect(); |
||
88 | $client = $this->getClient(); |
||
89 | |||
90 | return $client->__soapCall($service, $request); |
||
0 ignored issues
–
show
The method
__soapCall() does not seem to exist on object<Bludata\Soap\SoapClient> .
This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces. This is most likely a typographical error or the method has been renamed. ![]() |
|||
91 | } |
||
92 | |||
93 | /** |
||
94 | * Retorna o host do WSDL. |
||
95 | * |
||
96 | * @return string |
||
97 | */ |
||
98 | public function getHost() |
||
99 | { |
||
100 | return $this->host; |
||
101 | } |
||
102 | |||
103 | /** |
||
104 | * Recebe o endereço do WSDL. |
||
105 | * |
||
106 | * @param string $host |
||
107 | * |
||
108 | * @return self |
||
109 | */ |
||
110 | public function setHost($host) |
||
111 | { |
||
112 | $this->host = $host; |
||
113 | |||
114 | return $this; |
||
115 | } |
||
116 | |||
117 | /** |
||
118 | * Retorna os options utilizados no SoapClient. |
||
119 | * |
||
120 | * @return array |
||
121 | */ |
||
122 | public function getOptions() |
||
123 | { |
||
124 | return $this->options; |
||
125 | } |
||
126 | |||
127 | /** |
||
128 | * Recebe os options que serão utilizados no SoapClient. |
||
129 | * |
||
130 | * @param array $options |
||
131 | * |
||
132 | * @return self |
||
133 | */ |
||
134 | public function setOptions(array $options) |
||
135 | { |
||
136 | $this->options = $options; |
||
137 | |||
138 | return $this; |
||
139 | } |
||
140 | |||
141 | /** |
||
142 | * Retorna dados da requisição. |
||
143 | * |
||
144 | * @return mixed |
||
145 | */ |
||
146 | public function getRequest() |
||
147 | { |
||
148 | return $this->request; |
||
149 | } |
||
150 | |||
151 | /** |
||
152 | * Recebe dados para montar o request. |
||
153 | * |
||
154 | * @param array |
||
155 | * |
||
156 | * @return self |
||
157 | */ |
||
158 | public function setRequest($request) |
||
159 | { |
||
160 | $this->request = $request; |
||
161 | |||
162 | return $this; |
||
163 | } |
||
164 | |||
165 | /** |
||
166 | * Retorna o serviço utilizado. |
||
167 | * |
||
168 | * @return mixed |
||
169 | */ |
||
170 | public function getService() |
||
171 | { |
||
172 | return $this->service; |
||
173 | } |
||
174 | |||
175 | /** |
||
176 | * Recebe o serviço que sera utilizado no WSDL. |
||
177 | * |
||
178 | * @param string $service |
||
179 | * |
||
180 | * @return self |
||
181 | */ |
||
182 | public function setService($service) |
||
183 | { |
||
184 | $this->service = $service; |
||
185 | |||
186 | return $this; |
||
187 | } |
||
188 | |||
189 | /** |
||
190 | * Retorna a instancia do SoapClient que foi incializada. |
||
191 | * |
||
192 | * @return mixed |
||
193 | */ |
||
194 | public function getClient() |
||
195 | { |
||
196 | return $this->client; |
||
197 | } |
||
198 | |||
199 | /** |
||
200 | * Recebe o SoapClient que sera utilizado. |
||
201 | * |
||
202 | * @param SoapClient $client |
||
0 ignored issues
–
show
Should the type for parameter
$client not be NativeSoapClient ?
This check looks for It makes a suggestion as to what type it considers more descriptive. Most often this is a case of a parameter that can be null in addition to its declared types. ![]() |
|||
203 | * |
||
204 | * @return self |
||
205 | */ |
||
206 | public function setClient(NativeSoapClient $client) |
||
207 | { |
||
208 | $this->client = $client; |
||
0 ignored issues
–
show
It seems like
$client of type object<SoapClient> is incompatible with the declared type object<Bludata\Soap\SoapClient> of property $client .
Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property. Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property.. ![]() |
|||
209 | |||
210 | return $this; |
||
211 | } |
||
212 | } |
||
213 |
Overly long lines are hard to read on any screen. Most code styles therefor impose a maximum limit on the number of characters in a line.