Veel parameters doorgeven tussen webapplicaties

Pagina: 1
Acties:
  • 120 views sinds 30-01-2008
  • Reageer

  • Goldme
  • Registratie: September 2000
  • Laatst online: 13-05 15:26
Ik heb hier een webapplicatie die een pagina heeft die als invoer 17 waarden nodig heeft.

De gebruikers worden naar deze pagina geleid via andere applicaties op andere machines.Die 17 waarden zijn een interface van de pagina dus degen die naar de pagina linkt moet die parameters meesturen.

Nu kom ik voor de dilemma dat 17 parameters(allemaal strings, niet al te groot) best wel veel zijn om in de URL mee te geven. Het zijn er veel en het werkt wel maar ik ben bang dat er maar 1 van die velden iets te lang hoeft te zijn of de maximum van de url-lengte is overschreden.

Het gebruik van session en application is uiteraard niet te doen.

Van cookies weet ik het niet zeker maar volgens mij mogen die ook al niet te groot zijn en zijn ze wel beschikbaar over verschillende sites, ze horen toch bij 1 site?

Hoe kan ik die parameters op een normale elegante manier bij de doel webform krijgen? We zitten nog in de ontwikkelfase dus de interface van de pagina kan gewijzigd worden.

Bij voorbaat bedankt.

[ Voor 5% gewijzigd door Goldme op 05-01-2005 16:26 ]


  • ThunderNet
  • Registratie: Juni 2004
  • Laatst online: 14:51

ThunderNet

Flits!

doormiddel van POST, je gebruikt nu waarschijnlijk een GET methode
met POST kun je dus forms opsturen naar je webserver (zonder dat dit in de url komt te staan)

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

POST in plaats van GET gebruiken, of cookies/sessions.
/spuit11 8)7

[ Voor 19% gewijzigd door NMe op 05-01-2005 16:31 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Je kunt die parameters gewoon in de HTTP request header stoppen door via een form en post naar de pagina te linken. Voor de ontvangende URL maakt het meestal niks uit. Het zou kunnen uitmaken als het een J2EE servlet is, die expliciet de get parameters opvraagt (dit is zeldzaam).

  • Goldme
  • Registratie: September 2000
  • Laatst online: 13-05 15:26
Ja, maar het probleem is dat de pagina waarvandaan gelinkt wordt geen formulier bevat maar een link naar deze pagina.

Degene die gaat linken is een extern partij en van hem kan ik niet eisen dat hij complete formulieren moet opbouwen(die ik in de code ga uitlezen) om die data bij mij te krijgen. Dan zou dat gevolgen hebben voor zijn gebruikersinterface. Is het mogelijk voor die externe partij om de data onder water bij mij te krijgen? hidden fields in forms?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Wat voor gegevens stuur je door dan? Ik kan me niet voorstellen dat je voor een normale link, zonder formulieren zoveel data kan hebben.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Goldme schreef op woensdag 05 januari 2005 @ 16:37:
Ja, maar het probleem is dat de pagina waarvandaan gelinkt wordt geen formulier bevat maar een link naar deze pagina.

Degene die gaat linken is een extern partij en van hem kan ik niet eisen dat hij complete formulieren moet opbouwen(die ik in de code ga uitlezen) om die data bij mij te krijgen. Dan zou dat gevolgen hebben voor zijn gebruikersinterface. Is het mogelijk voor die externe partij om de data onder water bij mij te krijgen? hidden fields in forms?
Wat je hier zegt is niet consistent ...

  • blender
  • Registratie: Juni 2001
  • Niet online
SOAP anyone?

  • ludo
  • Registratie: Oktober 2000
  • Laatst online: 01-03 18:17
Goldme schreef op woensdag 05 januari 2005 @ 16:37:
Ja, maar het probleem is dat de pagina waarvandaan gelinkt wordt geen formulier bevat maar een link naar deze pagina.

Degene die gaat linken is een extern partij en van hem kan ik niet eisen dat hij complete formulieren moet opbouwen(die ik in de code ga uitlezen) om die data bij mij te krijgen. Dan zou dat gevolgen hebben voor zijn gebruikersinterface. Is het mogelijk voor die externe partij om de data onder water bij mij te krijgen? hidden fields in forms?
Is er bij de externe partij de beschikking over een scripttaal? Of moet het met pure HTML opgelost worden?

Een mogelijkheid zou inderdaad kunnen zijn om een form met hidden fields te maken. Maar misschien is het ook wat eleganter op te lossen met JavaScript indien dit wel tot de mogelijkheden behoort. Van JS heb ik verder niet veel verstand dus dat zou je zelf even moeten zoeken...

  • tombo_inc
  • Registratie: December 2004
  • Laatst online: 10-03 13:21

tombo_inc

uhuh

idd gewoon post gebruiken. daarmee kan je wel hele grote waardes doorsturen.

edit: srry iets te laat gepost.
is het niet mogelijk om de waardes van die derde af te vangen en dan zelf weer goed te versturen? is mssn wel omslachtig maar als het werkt

[ Voor 55% gewijzigd door tombo_inc op 05-01-2005 16:51 ]

Microsoft Windows: A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Zijn de parameters text/strings of voornamelijk getallen? Grote getallen kan je met bv Base64 encoding omzetten naar een compactere tekstuele vorm.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Orphix schreef op woensdag 05 januari 2005 @ 17:27:
Zijn de parameters text/strings of voornamelijk getallen? Grote getallen kan je met bv Base64 encoding omzetten naar een compactere tekstuele vorm.
offtopic:
Sinds wanneer is base64 compacter dan het origineel :? Base64 is geen compressie methode, maar een encoding.

Voorbeeld:

1234567890(10 bytes) >> BASE64 >> MTIzNDU2Nzg5MA== (6 bytes)
123(3 bytes) >> BASE64 >> MTIz (4 bytes)
1(1 byte) >> BASE64 >> MQ== (4 bytes)

Of bedoel je de "Int"/"Long" etc om te zetten naar Base64? Want dan heb je gelijk (bedenk ik me nu). Dus zeg maar de "binaire representatie" van 1234567890 = 4 bytes i.p.v. 10 bytes ASCII.

[ Voor 65% gewijzigd door RobIII op 05-01-2005 17:42 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

je kunt ook met een link, dmv javascript, deze waarden via post meegeven!

of je stuurt met get een requist id mee, en je 2de webapplication vraagd waardes aan de eerste webapplication met xml soap enzo

edit, lees net over externe partij,

hidden form met hidden fields, de je submit met een link is goed mogelijk!

[ Voor 23% gewijzigd door Verwijderd op 05-01-2005 18:00 ]


  • Orphix
  • Registratie: Februari 2000
  • Niet online
RobIII schreef op woensdag 05 januari 2005 @ 17:33:
[...]

offtopic:
Of bedoel je de "Int"/"Long" etc om te zetten naar Base64? Want dan heb je gelijk (bedenk ik me nu). Dus zeg maar de "binaire representatie" van 1234567890 = 4 bytes i.p.v. 10 bytes ASCII.
Ja het werkt ook voornamelijk bij grote getallen. Het idee erachter is natuurlijk dat je per teken nu niet 10 (0-9), maar meer (a-z,A-Z,0-9,+ en / lees ik net) waardes hebt.

Nog even voor de duidelijkheid voor de TS: als je dus voornamelijk teksten als parameters hebt dan is dit idee niet echt effectief :)

Verwijderd

Waarom niet:

Eerst http://nl3.php.net/manual/en/function.gzencode.php
En dan http://nl3.php.net/manual/en/function.base64-encode.php

Dan zit je nog wel een tijdje onder de URL limiet...

Verwijderd

kan je niet gewoon een knopje maken ala
<form action=post method=bla?a?a?aaaaaaaaaaa>
<input type=submit value="sumbit">
</form>

Verwijderd

Verwijderd schreef op woensdag 05 januari 2005 @ 22:44:
kan je niet gewoon een knopje maken ala
<form action=post method=bla?a?a?aaaaaaaaaaa>
<input type=submit value="sumbit">
</form>
als het een link is staan de waarden reeds op voorhand vast, dus kan je net zo goed
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form id="myLinkForm" method="post" action="http://jouwserver.be/" target="_blank">
  <input type="hidden" name="param1" value="valueForParam1" />
  <....... />
</form>

<script>
  function goToMyLink(){
    
    var form = document.getElementById('myLinkForm');
   //misschien nog wat extra parameters? specifiek per link? gooi ze maar in deze methode...
   //zo dus:
   //form.param1= andereValueDieHierAlsParameterWordtGegeven;//dus deze parameter in je form als hidden input stoppen
     form.submit();
  }
</script>

<a href="javascript:goToMyLink();">en GAAN!!</a>

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Kan je iets meer informatie geven omtrent de link van de externe partij en je webpagina die 19 parameters verwacht? Het lijkt me dat je webpagina te generiek is met respect to de externe partij en dat je beter een specifiek laagje bovenop je generieke webpagina kunt bouwen die veel minder parameters verwacht.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • Creepy
  • Registratie: Juni 2001
  • Nu online

Creepy

Tactical Espionage Splatterer

Als de externe partij een GET kan doen (=url aanroepen) dan kunnen ze in code ook wel een POST doen zonder dat ze daarvoor een echt form nodig hebben ;)

En ja, dit kan je best van een externe partij eisen als je "veel" data hebt om door te sturen.

Anders ga je op een XML / SOAP achtige koppeling uitkomen, en dat is nagenoeg altijd iets complexer dan een GET of POST aanroep.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Goldme
  • Registratie: September 2000
  • Laatst online: 13-05 15:26
De situatie is als volgend:

Ik heb een pagina. De externe partij zal zijn gebruikers in staat stellen om op een link te klikken om de gebruikers te leiden naar mijn pagina(dus de gebruikers van de externe komen gewoon op mijn pagina). De externe partij kan 17 parameters meegeven. Deze parameters bevatten data die aan de gebruiker getoond wordt op mijn pagina zodat hij zeker weet dat hij met de goede data op mijn pagina is gekomen. Vervolgens voert de gebruiker een waarde in in een veld en wordt hij terug herleid naar de pagina waar hij oorspronkelijk vandaan kwam. Hij moet dus op mijn pagina komen zodat hij weet dat hij via mijn pagina bezig is, dit is een vereiste, de gebruiker moet weten dat hij buiten de externe partij bezig is en wel op mijn pagina.

POST is inderdaad de beste manier hiervoor. Ik moet echter een interface aanleveren voor die externe partij zodat hij weet hoe hij mijn pagina kan aanroepen. Wat hij kan doen is dus een form aanmaken met de velden die ik nodig heb en deze submitten(via POST) naar mijn pagina (de gebruiker gaat dan op mijn pagina verder enz.).

Is dit de enige manier waarop de externe partij mijn pagina aan kan roepen om de gegevens door te geven? Stel dat hij al een form heeft op zijn pagina, kan er een tweede form(met de hidden fields) op dezelfde pagina staan?

Verwijderd

Goldme schreef op vrijdag 07 januari 2005 @ 10:05:
Stel dat hij al een form heeft op zijn pagina, kan er een tweede form(met de hidden fields) op dezelfde pagina staan?
tuurlijk...
Pagina: 1