Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  WSDL -> klient Rubys või mujal märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Psych0
HV veteran
Psych0

liitunud: 21.11.2004



Autoriseeritud ID-kaardiga

sõnum 16.12.2012 15:17:00 WSDL -> klient Rubys või mujal vasta tsitaadiga

Tere,

Lühidalt kirjutades jookseb mul Javas server, kus on 'To Do List'. Pean genereerima WSDL failist kliendid teistes programmeerimiskeeltes, meetodiks on getToDoListAsString(). Informatsioon võiks tulla järgmisel kujul:
tsitaat:
What: Hajussüsteemide 2. koduülesanne
When: 30.10.2012
Importance: Väga tähtis

What: Multimeedia veebileht
When: 31.10.2012
Importance: Keskmiselt tähtis

What: Arvutikäsitusõpetuse 13. koduülesanne
When: 30.10.2012
Importance: Vähe tähtis


Ruby tundus mõistlik valik ühe keelena ning sain juba midagi tehtud, kuid ei jaga seda keelt peaaegu üldse. Hetkel on kirjutatud selline klient:

# package for SOAP-based services
require 'soap/wsdlDriver'
wsdl_url = 'http://localhost:9999/ws/todo?wsdl'

service = SOAP::WSDLDriverFactory.new(wsdl_url).create_rpc_driver

# Invoke service operations.
data1 = service.getToDoListAsString()

# Output results.
puts "getToDoListAsString : #{data1}"

Informatsioon tuleb aga sellisel kujul:



Kas saaks lihtsalt midagi mõistlikku Rubyga teha, et see informatsioon mulle sobilikul kujul tuleks või võtaks see liiga palju aega?
Samuti huvitab, mida võtta teise kliendi keeleks? Pythonit oskan natukene, kuid kas oleks mingi muu hea ja lihtne variant?


viimati muutis Psych0 17.12.2012 00:08:53, muudetud 1 kord
Kommentaarid: 61 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 57
tagasi üles
vaata kasutaja infot saada privaatsõnum
YberCyrus
HV vaatleja

liitunud: 27.02.2010




sõnum 16.12.2012 20:09:22 vasta tsitaadiga

Kui sa juba Javas serveriga hakkama said siis kirjuta klient ehk C#s? Kuna keeled on üsna sarnased siis ei tohiks erilist probleemi tekkida. Pealegi on C#s proxy klasside genereerimine Visual Studioga imelihtne. Teed uue WCF projecti ja projekti peal parem click > Add Service Reference ja genereerib sulle kõik vajaliku ära.
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Psych0
HV veteran
Psych0

liitunud: 21.11.2004



Autoriseeritud ID-kaardiga

sõnum 17.12.2012 00:40:44 vasta tsitaadiga

Serveri tegin selle tutoriali järgi: http://www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example/. Visual Studios jõudsin täpselt nii palju teha, mida sa kirjutasid, kuid edasi ei oska. icon_redface.gif
Edit: Okei, jagasin isegi matsu ära, C# oli tõesti lihtne klient teha. Oleks pidanud lihtsalt alustama New Project - Console Application. icon_wink.gif Aga nüüd vaja endiselt üks klient veel teha, kas keegi oskaks Rubys aidata või mõne muu sobiva keele pakkuda?
Edit2: Sain Rubys ka vea teada: millegipärast on see data1 ühe elemendiga järjend.
Kommentaarid: 61 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 57
tagasi üles
vaata kasutaja infot saada privaatsõnum
ref
Kreisi kasutaja

liitunud: 10.08.2003




sõnum 17.12.2012 15:51:21 vasta tsitaadiga

Psych0, uuri veidi oma WSDLi, kahtlustan, et too teenus tagastab sul array-d...

Lisaks - soap4r on võrdlemisi vana ning uuemates ruby versioonides on see deprecated.
Viimane SOAPi klient sai tehtud Savoniga (http://savonrb.com/), debugimine on tsipa kergem, kui otse soap4r-i kasutades.
Kui videotutorialid meeldivad, siis Savoni osas - http://railscasts.com/episodes/290-soap-with-savon (tõsi, see on nüüd Railsi frameworki silmas pidades koostatud).

Sinu klient võiks olla midagi stiilis:
#!/usr/bin/env ruby
require 'rubygems'
require 'savon'

client = Savon.client("http://localhost:9999/ws/todo?wsdl")

response = client.request "getToDoListAsString"

#response objekt:
puts response.inspect

#vastuse envelope osa, hashina
puts response.body
Kommentaarid: 17 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 15
tagasi üles
vaata kasutaja infot saada privaatsõnum
Psych0
HV veteran
Psych0

liitunud: 21.11.2004



Autoriseeritud ID-kaardiga

sõnum 17.12.2012 16:00:03 vasta tsitaadiga

Suured tänud vastamast, kuid ma juba eile leidsin oma bugi üles (ning muutsin ka viimast postitust selgitamaks icon_biggrin.gif). Arrays oligi viga ning ei pannud seda lihtsalt tähele, kuna ei ole harjunud nii elementaarsete vigadega. icon_biggrin.gif
Kommentaarid: 61 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 57
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  WSDL -> klient Rubys või mujal
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.