Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Masina de spalat rufe Bosch

Aici sunt banii Dvs: tarife pentr...

Spatiu prea mare inainte de titlu

Recomandare banca pentru firma
 Prima World HD

Recomandare bicicleta MTB copil 1...

Cum pot reda niște inregistr...

Denon AVR 1804
 Texte și mesaje funny pe sit...

Recomandari carti non-fictiune

Cat costa un pui la rotisor?

cum leg firele de la o pompa subm...
 PC Voltage +3.3V Red!

Cum conectez la net o centrala Fe...

w11 nu mentine profil power proce...

DIGI se lanseaza in Belgia cu ser...
 

Conectare la un server WEB prin SOAP

- - - - -
  • Please log in to reply
7 replies to this topic

#1
Parameter

Parameter

    Junior Member

  • Grup: Members
  • Posts: 44
  • Înscris: 04.11.2005
Am deschis acest topic deoarece nu am gasit nici un raspuns la cautarea textului SOAP pe acest forum (sectiunea incepatori).
Am urmatoarea problema:
Trebuie sa verific periodic in ce stadiu se afla dosarele companiei pe Portalul instantelor de judecata (http://portal.just.ro)
In acest sens portalul pune gratuit la dispozitia utilizatorilor serviciul SOAP (descris la adresa http://portalquery.just.ro/query.asmx)
Am facut un script PHP care se conecteaza la server si solicita informatii despre un dosar identificat prin numar unic.
Iata scriptul:
<?php
echo date('d.m.Y H:i:s').'<br />';
function soapDebug($client)
{
$requestHeaders = $client->__getLastRequestHeaders();
$request = $client->__getLastRequest();
$responseHeaders = $client->__getLastResponseHeaders();
$response = $client->__getLastResponse();
echo '<br />RequestHeaders<code><br />' . nl2br(htmlspecialchars($requestHeaders, true)) . '</code>';
echo '<br />Request<br />'.highlight_string($request, true);
echo '<br />ResponseHeaders<code><br />' . nl2br(htmlspecialchars($responseHeaders, true)) . '</code>';
echo '<br />Response<br />'.highlight_string($response, true);
}
$requestul = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CautareDosare xmlns="portalquery.just.ro">
	 <numarDosar>36642/3/2010</numarDosar>
</CautareDosare>
</soap:Body>
</soap:Envelope>';
$client = new SoapClient(null, array( 'location' => 'http://portalquery.just.ro/Query.asmx', 'uri' => 'http://portalquery.just.ro/Query', 'encoding' => 'utf-8', 'trace' => 1,));
$client->__doRequest ( $requestul ,'http://portalquery.just.ro/Query.asmx' , 'portalquery.just.ro/CautareDosare', 1, 0 );
soapDebug($client);
?>


Problema este ca nu reusesc sa captez raspunsul. Iata cum arata rezultatul rularii sciptului:
23.10.2013 09:06:52

RequestHeaders
POST /Query.asmx HTTP/1.1
Host: portalquery.just.ro
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.4.16
Content-Type: text/xml; charset=utf-8
SOAPAction: "portalquery.just.ro/CautareDosare"
Content-Length: 367

Request

ResponseHeaders
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 9745
Date: Wed, 23 Oct 2013 09:06:53 GMT
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
Cache-Control: private, max-age=0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET

Response


Practic nu vad raspunsul la solicitare.
Presupun ca exista un Response pe undeva pentru ca am observat ca in ResponseHeaders la rubrica Content-Length: 9745  imi afiseaza alta lungime daca schimb numarul dosarului. Problema este ca nu stiu cum sa pun mana pe acel Response ca sa il prelucrez dupa pofta inimii.
Pana acum nu am mai lucrat cu SOAP asa ca ma vad nevoit sa apelez la acest forum pentru a rezolva problema.
Promit ca daca ii dau de capat sa public aici rezultatul astfel incat sa poata fi folosit de oricine.

#2
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,085
  • Înscris: 24.02.2006
$client->__doRequest() ar trebui sa-ti intoarca un string, in care sa gasesti fix ce-ti trebuie

#3
Parameter

Parameter

    Junior Member

  • Grup: Members
  • Posts: 44
  • Înscris: 04.11.2005
Bravo Smiley. Am reusit. Multumesc.
Iata forma simplificata care functioneaza.
<?php
$nr_dosar = '36642/3/2010';
echo 'Cautare dosar nr. '.$nr_dosar.' la data '.date('d.m.Y H:i:s').'<br /><br />';
$requestul = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
	<CautareDosare xmlns="portalquery.just.ro">
	  <numarDosar>'.$nr_dosar.'</numarDosar>
	</CautareDosare>
  </soap:Body>
</soap:Envelope>';
$client = new SoapClient(null, array( 'location' => 'http://portalquery.just.ro/Query.asmx', 'uri' => 'http://portalquery.just.ro/Query', 'encoding' => 'utf-8', 'trace' => 1,));
$raspuns = $client->__doRequest ( $requestul ,'http://portalquery.just.ro/Query.asmx' , 'portalquery.just.ro/CautareDosare', 1, 0 );
echo highlight_string($raspuns);
?>


Merci din nou.

#4
X-PAK

X-PAK

    New Member

  • Grup: Members
  • Posts: 12
  • Înscris: 12.10.2005
multumesc si eu pt postarea codului final ;)

#5
Smserver

Smserver

    New Member

  • Grup: Members
  • Posts: 18
  • Înscris: 15.07.2014
Buna ziua, am testat examplul dumneavoastra si merge foarte bine, as putea sa va intreb cum pot aduce dosarele dupa numele persoanei? sau societatii ?
Am incercat sa inlocuiesc numarDosar cu numeParte dar nu a functionat, sper sa ma puti ajuta, va m,ultumesc.

#6
Smserver

Smserver

    New Member

  • Grup: Members
  • Posts: 18
  • Înscris: 15.07.2014
Am reusit intre timp, va multumesc.

#7
carmenmarina

carmenmarina

    New Member

  • Grup: Junior Members
  • Posts: 2
  • Înscris: 23.09.2015
buna Parameter,

imi poti spune cum sa afisez informatiile unui anumit dosar in mod organizat, pe campuri într-o pagină web? ma interesesaza in mod special data urmatoarei sedinte si nu ma descurc....

multumeesc

#8
Parameter

Parameter

    Junior Member

  • Grup: Members
  • Posts: 44
  • Înscris: 04.11.2005
Eu m-am folosit de functia explode() din PHP si am obtinut astfel toate datele necesare pe care apoi le-am salvat intr-o baza de date.

Practic am luat continutul din variabila $raspuns si l-am impartit in bucati folosindu-ma de delimitatorii oferiti de codul XML.

Tu trebuie sa vezi (in rezultatul XML) care este delimitatorul de inceput si cel de sfarsit pentru data urmatoarei sedinte si sa izolezi data care te intereseaza.

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate