1212
1313namespace Crphp \Webservice ;
1414
15+ use \SoapVar ;
1516use \Exception ;
1617use \SoapClient ;
1718use \DOMDocument ;
@@ -21,7 +22,7 @@ class Soap
2122 /**
2223 * Armazena uma instância de SoapClient
2324 *
24- * @var string
25+ * @var SoapClient
2526 */
2627 private $ client ;
2728
@@ -30,7 +31,7 @@ class Soap
3031 *
3132 * @param string $wsdl
3233 * @param array $opcoes
33- * @return void|string null = sucesso, string = erro
34+ * @return void|string void = sucesso, string = erro
3435 */
3536 public function setWsdl ($ wsdl , array $ opcoes = null )
3637 {
@@ -55,23 +56,37 @@ public function setWsdl($wsdl, array $opcoes = null)
5556 /**
5657 * Dispara a consulta contra o serviço informado
5758 *
58- * @param string $servico
59- * @param array $argumentos
60- * @return void|string null = sucesso, string = erro
59+ * @param string $servico
60+ * @param string| array $argumentos
61+ * @return void|string null = sucesso, string = erro
6162 */
62- public function consult ($ servico , array $ argumentos = null )
63+ public function doRequest ($ servico , $ argumentos )
6364 {
6465 try {
6566 if (!$ this ->client ) {
6667 throw new Exception ("Ocorreu um erro ao tentar chamar o serviço <b> {$ servico }</b>. " );
6768 }
6869
70+ if (is_string ($ argumentos )) {
71+ $ argumentos = [new SoapVar ($ argumentos , XSD_ANYXML )];
72+ }
73+
6974 $ this ->client ->__soapCall ($ servico , $ argumentos );
7075 } catch (Exception $ e ) {
7176 return $ e ->getMessage ();
7277 }
7378 }
7479
80+ /**
81+ * Retorna o cabeçalho HTTP da resposta enviada pelo webservice
82+ *
83+ * @return null|string
84+ */
85+ public function getResponseHeader ()
86+ {
87+ return ($ this ->client ) ? $ this ->client ->__getLastResponseHeaders () : null ;
88+ }
89+
7590 /**
7691 * Retorna os métodos expostos pelo WSDL
7792 *
@@ -84,14 +99,15 @@ public function getMethods()
8499 $ array = explode (' ' , substr ($ metodo , 0 , strpos ($ metodo , '( ' )));
85100 $ metodos [] = end ($ array );
86101 }
102+
87103 return $ metodos ;
88104 }
89105 }
90106
91107 /**
92108 * Retorna o XML enviado
93109 *
94- * @return string|null em caso de sucesso retorna string, para erro retorna null
110+ * @return string|null em caso de sucesso retorna string, para erro retorna null
95111 */
96112 public function getRequest ()
97113 {
@@ -101,7 +117,7 @@ public function getRequest()
101117 /**
102118 * Retorna o XML recebido
103119 *
104- * @return string|null em caso de sucesso retorna string, para erro retorna null
120+ * @return string|null em caso de sucesso retorna string, para erro retorna null
105121 */
106122 public function getResponse ()
107123 {
@@ -112,7 +128,7 @@ public function getResponse()
112128 * Converte string para o formato XML
113129 *
114130 * @param string $soap
115- * @return null|string se não tiver dado para transformação retorna null
131+ * @return null|string se não tiver dado para transformação retorna null
116132 */
117133 public function formatXML ($ soap )
118134 {
0 commit comments