» »

Pomoč pri enem SOAPu

Pomoč pri enem SOAPu

Jure14 ::

Rabim pomoč pri klicu enega servisa s curl.exe
Bolj ko gledam, manj vidim težavo.
Mora biti nekaj zelo očitnega :-)

Torej rad bi klical servis
https://portal-sola.evs.gov.si/ws/vsz/1...
Za začetek funkcijo "ping"

ping_request.xml:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:vsz="https://evs.gov.si/ws/vsz/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <vsz:ping/>
   </soapenv:Body>
</soapenv:Envelope>


klic CURL-a:
curl.exe -X POST -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction: \"http://evs.gov.si/ws/vsz/1.0/ping\"" --cert c:\evs\certificate.crt --key c:\evs\private.key --cacert c:\evs\certificate.pem -d @c:\evs\ping_request.xml -o c:\evs\response.xml https://portal-sola.evs.gov.si:443/ws/v...

Pa obračam parametre okoli, pa vedno dobim
"Cannot find the declaration of element 'vsz:ping'"

Česa ne vidim?

Cleon ::

Probaj
Ping
, namesto
ping
, glede na wsdl je Ping uppercase (XML je case sensitive).

MH0 ::

Ej vsa leta sem imel pri web servisih probleme samo zaradi takih, ki so requeste na roke skup packali. Oni, ki wsdl uvozijo in vse prepustijo avtomatiki, rešijo zadevo v dveh minutah. Poskusi ne delati na roke.

Jure14 ::

@Cleon: Na žalost ni to :-(
@MH0: na še večjo žalost moram to s CURLom naredit.

Cleon ::

Tole mi zgenerira postman glede na WSDL. Certifikate moras dodat sam.

curl --location 'https://portal-sola.evs.gov.si:443/ws/vsz/1.0' \
--header 'Content-Type: text/xml; charset=utf-8' \
--header 'SOAPAction: https://evs.gov.si/ws/vsz/ping' \
--data '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <Ping xmlns="https://evs.gov.si/ws/vsz/1.0"/>
  </soap:Body>
</soap:Envelope>
'


Zgornji request vrne response:

<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope
	xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
	<env:Header/>
	<S:Body>
		<ns0:PingResponse
			xmlns:ns0="https://evs.gov.si/ws/vsz/1.0">
			<je_uspelo>D</je_uspelo>
		</ns0:PingResponse>
	</S:Body>
</S:Envelope>


Ping ni zasciten.

EVS dela in na https in http, tako da je irelevantno, razen ce imas tezave s certi (pac uporabi http).

Zgodovina sprememb…

  • spremenilo: Cleon ()

misek ::

V ping_request.xml imaš tudi http namesto https.

EDIT: Pardon, moj typo :)

Tole meni deluje:

curl -k -X POST -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction: https://evs.gov.si/ws/vsz/1.0/ping" -d @ping_request.xml -o ping_response.xml https://portal-sola.evs.gov.si:443/ws/vsz/1.0

Zgodovina sprememb…

  • spremenil: misek ()

Jure14 ::

Super, hvala!
Tisti 1.0 je bil preveč.

Za certifikate že imam pac, crt in key datoteke.

Zgodovina sprememb…

  • spremenilo: Jure14 ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Davčne blagajne (strani: 1 2 3 424 25 26 27 )

Oddelek: Programiranje
1344330683 (70686) Macketina
»

FURS in davčni računi

Oddelek: Programiranje
101387 (758) Jure14
»

PHP davčna blagajna

Oddelek: Programiranje
188013 (6037) brble
»

[JAVA] HTTPS client

Oddelek: Programiranje
173160 (1890) peterv6i
»

Subvencija za študentski dom

Oddelek: Šola
162791 (2406) xardas

Več podobnih tem