Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cum pot bloca transferul de date ...

Ce reprezinta in chimie abrevieri...

Google pay ma taxeaza in timp ce ...

Kia Picanto 2022 - Problema motor?
 Durere umar AC Joint

Care este cea mai sanatoasa paine?

Zgomot ritmic ce urmeaza rotirea ...

Merita Lumix FZ82 in 2024?
 Nu pot activa Memory Integrity

Supratensiuni accidentale

Cuțit/ briceag drumetie

Cum am acces la o parte dintr-un ...
 Mother's Day

Recomandare aparat de vidat alime...

Izolatie exterioara casa parter P...

Cuvinte si expresii neclare
 

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,058
  • Î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

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 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