/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
SOAP og Java - underlig fejl
Fra : A. Hagstrøm


Dato : 19-01-05 09:52

Hej NG.

Jeg har lavet en Java klient, der kontakter en .NET webservice og modtager
en PDF fil (som Byte array). Til at håndtere SOAP i Java, anvendes Apaches
pakke, Axis.

Det virker helt fint - på mine computere, og på visse andre computere, men
ikke på alle - og det er det underlige. Jeg har prøvet på i alt 11
computere, og det virker på ca. halvdelen. Det er ikke sådan, at klienten
bare "virker nogengange"; når det virker på en pc virker det altid, og
omvendt når det ikke virker.

Når det ikke virker, får jeg forskellige exceptions (men altid samme
exception på samme computer). Indtil videre har jeg set:

- en Socket Exception- "Connection reset by peer"
- NullPointerException
- nogle andre "Time Outs"

Ting jeg har udelukket som værende årsagen (da de er det samme på visse
virkende og ikke-virkende computere):

- SP2 (alle computere bruger WinXP Pro)
- AntiVirus software og personlige firewalls
- Java versioner
- Internetforbindelse

Jeg kan simpelthen ikke finde et mønster, så jeg kan regne ud, hvad der kan
være problemet.

Jeg prøvede at udskifte Axis med Apaches SOAP-pakke, men bortset fra at det
blev langsommere, er fejlene de samme.

Har nogen mon en ide til, hvad problemet kan være?


/Anders



 
 
Nikolaj Hansen (19-01-2005)
Kommentar
Fra : Nikolaj Hansen


Dato : 19-01-05 10:18

A. Hagstrøm wrote:
> Jeg har lavet en Java klient, der kontakter en .NET webservice og modtager
> en PDF fil (som Byte array). Til at håndtere SOAP i Java, anvendes Apaches
> pakke, Axis.

Der findes masser af muligheder for at oversætte fra pdf til xml og
tilbage igen via xslt. Måske i burde overveje, at sende data som XML i
stedet for PDF? Webservices er nok ikke det bedste til store mængder af
binære data.

> - en Socket Exception- "Connection reset by peer"
> - NullPointerException
> - nogle andre "Time Outs"

Når du sender noget over webservices skal det hele serialiseres derefter
sendes og deserialiseres igen. Det kan bruge en masse mem og cpu på både
client og server. Kig evt. i serverens log, og se, om der er nogle
exceptions ang. memory forbrug der.

Timeouts er hvor clienten opgiver at høre fra serveren. Du kan styre tid
til en timeout på clientens Request.

Hvis jeg var dig ville jeg se, om det ikke var muligt at hente filen på
en anden led end en web service eks. en ganske alm. http / ftp download.
Det er meget mere egnet til exchange af binære data (ingen
serializering) - webservices er tænkt til små transaktions baserede XML
document udvekslinger.

mvh

Nikolaj Hansen

A. Hagstrøm (19-01-2005)
Kommentar
Fra : A. Hagstrøm


Dato : 19-01-05 10:42

"Nikolaj Hansen" skrev

> Der findes masser af muligheder for at oversætte fra pdf til xml og
> tilbage igen via xslt. Måske i burde overveje, at sende data som XML i
> stedet for PDF? Webservices er nok ikke det bedste til store mængder af
> binære data.

Det er desværre ikke vores valg.

> Når du sender noget over webservices skal det hele serialiseres derefter
> sendes og deserialiseres igen. Det kan bruge en masse mem og cpu på både
> client og server. Kig evt. i serverens log, og se, om der er nogle
> exceptions ang. memory forbrug der.

Jeg kan ikke forestille mig at serveren har problemer, for som sagt så
virker det glimrende på nogle af vores computere. Desuden har jeg ikke
adgang til serverens log.

> Hvis jeg var dig ville jeg se, om det ikke var muligt at hente filen på
> en anden led end en web service eks. en ganske alm. http / ftp download.
> Det er meget mere egnet til exchange af binære data (ingen
> serializering) - webservices er tænkt til små transaktions baserede XML
> document udvekslinger.

Det kan vi godt blive enige om, men som sagt er det ikke noget vi selv
bestemmer.
Problem burde dog ikke ligge i de store mængder data, for vi har prøvet selv
at lave en Webservice og kontakte den, og vi kunne ikke engang modtage en
streng. Altså fra de computere, hvor vi heller ikke kunne kontakte den anden
webservice.

/Anders



Thorbjoern Ravn Ande~ (19-01-2005)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 19-01-05 10:56

"A. Hagstrøm" <hFJERN@gstrom.dk> writes:

> Problem burde dog ikke ligge i de store mængder data, for vi har prøvet selv
> at lave en Webservice og kontakte den, og vi kunne ikke engang modtage en
> streng. Altså fra de computere, hvor vi heller ikke kunne kontakte den anden
> webservice.

Kører I over https? Det kunen være et certifikatproblem.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

A. Hagstrøm (19-01-2005)
Kommentar
Fra : A. Hagstrøm


Dato : 19-01-05 11:03

"Thorbjoern Ravn Andersen" skrev

> Kører I over https? Det kunen være et certifikatproblem.

Nej det gør vi ikke.

/Anders



A. Hagstrøm (19-01-2005)
Kommentar
Fra : A. Hagstrøm


Dato : 19-01-05 11:07

"A. Hagstrøm" skrev

> > Kører I over https? Det kunen være et certifikatproblem.
>
> Nej det gør vi ikke.

Men jeg kan nu se, at fra de computere, hvor det ikke virker, kan vi slet
ikke skabe socket-forbindelse til vores egen computer (den som også kører
vores version af Webservicen).

/Anders



Thorbjoern Ravn Ande~ (19-01-2005)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 19-01-05 10:30

"A. Hagstrøm" <hFJERN@gstrom.dk> writes:

> - en Socket Exception- "Connection reset by peer"
> - NullPointerException
> - nogle andre "Time Outs"

Det lyder for mig som om senderen bliver træt af at vente på klienten,
og lukker forbindelsen. Din nullpointerexception kan være fordi du
ikke checker for om dette er sket.

Hvor meget data bliver flyttet inden fejlene sker.


--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Jonathan Stein (19-01-2005)
Kommentar
Fra : Jonathan Stein


Dato : 19-01-05 22:38

A. Hagstrøm wrote:

> Ting jeg har udelukket som værende årsagen (da de er det samme på visse
> virkende og ikke-virkende computere):
>
> - SP2 (alle computere bruger WinXP Pro)
> - AntiVirus software og personlige firewalls

Jeg ville nu nok kigge en ekstra gang på firewall-indstillinger, dels
SP2's firewall, andre personlige firewalls og evt. stand-alone firewalls.

M.v.h.

Jonathan

--
Er din e-mail vigtig? Er du træt af virus og spam i mailen?
Virus-scanning og spam-filtrering på alle mail-konti. På redundant
mail-setup med daglig backup.
http://www.jsp-hotel.dk/

A. Hagstrøm (19-01-2005)
Kommentar
Fra : A. Hagstrøm


Dato : 19-01-05 22:41

"Jonathan Stein" skrev

> Jeg ville nu nok kigge en ekstra gang på firewall-indstillinger, dels
> SP2's firewall, andre personlige firewalls og evt. stand-alone firewalls.

Ja, det er vel en eller anden form for sikkerhedsindstilling.
Som skrevet andetsteds i tråden, kan vi ikke kontakte vor egen server
"socket-til-socket" fra de computere, der heller ikke kan køre
Java-klienten. Man kan sige, at det viser at vores klient ikke er problemet,
men på den anden side ville jeg gerne finde ud af præcist, hvad det er, der
blokerer.

Under alle omstændigheder skal I have tak for jeres input.

/Anders



Henrik (01-04-2006)
Kommentar
Fra : Henrik


Dato : 01-04-06 13:43

Enig, - personlig firewall give problemer...

Jonathan Stein wrote:
> A. Hagstrøm wrote:
>
>> Ting jeg har udelukket som værende årsagen (da de er det samme på visse
>> virkende og ikke-virkende computere):
>>
>> - SP2 (alle computere bruger WinXP Pro)
>> - AntiVirus software og personlige firewalls
>
> Jeg ville nu nok kigge en ekstra gang på firewall-indstillinger, dels
> SP2's firewall, andre personlige firewalls og evt. stand-alone firewalls.
>
> M.v.h.
>
> Jonathan
>

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste