You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by Francesco Munari <fm...@gmail.com> on 2005/05/28 10:57:54 UTC

SOAP-over-UDP

Hi, I'm desperate!
I'm trying to find out how to send a broadcast SOAP request to a UDDI
registry in a LAN, but I'm not able to do this. I've looked for some
example but I've not found anithing.

Please...could anybody help me?
I'm making a thesis for the University of Florence (Italy) and I have
to discovery dinamically web service published in some UDDI registry
somewhere in a LAN. I have to send a broadcast SOAP request to these
UDDI registry (as I wrote few lines above).
Of course I'm using Java language.

Thank you very much for your help...I'm in a great hurry...thanks very
very much to everyone could help me!

Best reguards,

Francesco

two-dimensional array

Posted by Omar Bennani <ba...@yahoo.fr>.
I'm trying to use WSDL with SOAP when i use java2wsdl
to generate a java file my two-dimensional array of an
complex type was not generated in my wsdl file
so how I should express two-dimensional array in a
wsdl file?
someone has an example?
thanx 


	

	
		
_____________________________________________________________________________ 
Découvrez le nouveau Yahoo! Mail : 1 Go d'espace de stockage pour vos mails, photos et vidéos ! 
Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com

Re: SOAP-over-UDP

Posted by Eric VERGNAUD <er...@jlynx.com>.
Unlike TCP, UDP does not provide any contract. Therefore, sending  
data that doesn't fit in a single packet is not guaranteed to be  
received in the correct order, and no acknowledgement is returned to  
the sender.
UDP is great in broadcasting atomic information, but unreliable for  
exchanging consistent pieces of data, such as a SOAP message.



Le 1 juin 05 à 10:48, Francesco Munari a écrit :

> Mark,
>
>
>>
>> Yes, that's seems to be great idea, I would even say elegant.
>>
>>
>
> ...and it seems to work very very well!! ;)
>
> It all works! It seems very efficient.
> Saving the URLs send as a reply by the servers in a hash eliminates
> also possible duplicates because the add(Object o), if it finds an
> equal Object inside the hash, replace the old one with the new one.
> So, if erroneously some service was published into more tha one UDDI
> registry present in the LAN, the result hash, at the end of the
> "request round", will have only one WSDL URL representing that
> service.
>
> Wow! It has been very cool solving my problem with you all! A parte of
> my thesis is your merit!
>
> But now the very last question (^_^): why (apart the difficult that I
> had in implementing it) the use of SOAP or XML-RPC broadcast message
> over UDP are so unsuitable?
>
> Thank you very much!
>
> Francesco
> 2005/5/31, mdonaghue <md...@mzeal.com>:
>
>> Francesco,
>>
>>
>>
>>> In this way the
>>> proxy receives the message, ask its UDDI registry for that  
>>> service and
>>> reply with a byte[] containing the URL of the service's WSDL  
>>> file. Uh?
>>>
>>
>> Yes, that's seems to be great idea, I would even say elegant.
>>
>> Regards,
>> Mark
>>
>>
>> -----Original Message-----
>> From: Francesco Munari [mailto:fmunari@gmail.com]
>> Sent: Tuesday, May 31, 2005 4:54 PM
>> To: soap-user@ws.apache.org
>> Subject: Re: SOAP-over-UDP
>>
>> Great Mark!
>>
>> You have explained your point of view as well as you could.
>> So the point is to give a proxy to every server that has an UDDI
>> registry. This proxy, written in Java, waits for UDP datagrams. Maybe
>> the broadcast UDP message sent by the client could also contains the
>> key of the service that the client is searching for. In this way the
>> proxy receives the message, ask its UDDI registry for that service  
>> and
>> reply with a byte[] containing the URL of the service's WSDL file.  
>> Uh?
>>
>> Should be a good idea instead of retreiving the IP address and having
>> also to ask the registry for the service?
>>
>> Thank's again to you all!! You're help me more than you think!  
>> Thank's.
>>
>> Cheers
>>
>> Francesco
>>
>> 2005/5/31, mdonaghue <md...@mzeal.com>:
>>
>>> Hi Francesco,
>>>
>>> My original suggestion was to use DNS to identify the URL of the  
>>> UDDI
>>>
>> server
>>
>>> in the local subnet. The advantage to this is that no broadcast  
>>> message is
>>> needed and it's using a common solution. The disadvantage is it  
>>> requires
>>>
>> an
>>
>>> entry in the DNS server database, some knowledge of how to  
>>> administrate
>>>
>> it,
>>
>>> and isn't automated.
>>>
>>> So, I tend to agree with Eric's solution (except for the last  
>>> step which I
>>> believe should be unicast, not broadcast).  The basic idea is to  
>>> have the
>>> client broadcast a "who has a UDDI Server" message when it comes  
>>> online.
>>>
>> XML
>>
>>> will be ok, because since the broadcast only happens once,  
>>> verbosity is
>>>
>> not
>>
>>> an issue. However, a simple text message would also do the trick and
>>> eliminates the need to parse XML. In either case, a simple UDP  
>>> server
>>> process listening on over a known port on the UDDI server machine  
>>> will
>>> respond, identifying itself to the client. At that point the IP  
>>> address of
>>> the UDDI server is available to the client and the UDDI request  
>>> can be
>>> unicast to it.
>>>
>>> This message sequence is identical the ARP protocol, which allows an
>>> end-host to determine the MAC address of system with a known IP  
>>> address.
>>>
>> The
>>
>>> end-host broadcasts a "who has this IP address?" message to the  
>>> subnet. If
>>>
>> a
>>
>>> host with that IP address receives the message, it unicasts an "I  
>>> have it"
>>> message, enclosing its MAC address along with it. From then on, all
>>> communication for that flow can be unicast.
>>>
>>> The actual messaging discussed above should be handled outside of  
>>> SOAP,
>>> since SOAP is not intended for this kind of functionality. It  
>>> could be
>>> easily implemented as with Java using UDP datagram sockets.
>>>
>>> This approach handles the potential problem of multiple servers  
>>> on the
>>>
>> same
>>
>>> subnet, since the client can just choose one. It also solves the  
>>> problem
>>>
>> of
>>
>>> the UDDI server not being architected around a possible broadcast
>>>
>> scenario,
>>
>>> typically running over TCP.  You won't need SOAP over UDP. It  
>>> minimizes
>>> network overhead since only a single broadcast is made, when the  
>>> client
>>> comes online.
>>>
>>> Regards,
>>> Mark
>>>
>>>
>>> -----Original Message-----
>>> From: Eric VERGNAUD [mailto:eric.vergnaud@jlynx.com]
>>> Sent: Tuesday, May 31, 2005 7:58 AM
>>> To: soap-user@ws.apache.org
>>> Subject: Re: SOAP-over-UDP
>>>
>>> It depends on what you mean by continuous. a 16 bytes packet every 5
>>> seconds certainly won't.
>>>
>>> If you need a higher reactivity, you can do the following:
>>>  - have the client broadcast a message on a port
>>>  - have the server listen on that port
>>>  - when the server receives a connection, have it broadcast as
>>> suggested in my previous email
>>>
>>> Le 31 mai 05 à 13:17, Francesco Munari a écrit :
>>>
>>>
>>>> But there isn't the risk of flooding the LAN with these continuous
>>>> broadcast messages?
>>>>
>>>> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
>>>>
>>>>
>>>>> Have your server regularly broadcast its address on a port.
>>>>> Have your client act as a server on startup and listen on the same
>>>>> port.
>>>>> When the real server broadcasts its address, the client will  
>>>>> receive
>>>>> a connection request.
>>>>> One you have the server address, ask the server for the  
>>>>> information
>>>>> you need (what you call the context).
>>>>>
>>>>> Le 31 mai 05 à 11:41, Francesco Munari a écrit :
>>>>>
>>>>>
>>>>>
>>>>>> Hi, Eric.
>>>>>>
>>>>>> Ok, but how can I do this? I think I'm a newbie in this kind of
>>>>>> operation, sorry. How can I look to a port of servers in a LAN
>>>>>> without
>>>>>> knowing their IP? And in this way may I keep the context-
>>>>>> awareness of
>>>>>> the communication?
>>>>>>
>>>>>> thank you for you reply
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> francesco
>>>>>>
>>>>>> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> I'm afraid that is a very verbose way of doing things. The  
>>>>>>> typical
>>>>>>> way to do this is determine a port, have your server broadcast
>>>>>>> its IP
>>>>>>> address on that port, and your clients look on that port to grab
>>>>>>> the
>>>>>>> address.
>>>>>>>
>>>>>>> Once the address is found, you can safely interact with the  
>>>>>>> server
>>>>>>> using SOAP over HTTP.
>>>>>>>
>>>>>>> Le 30 mai 05 à 22:19, Francesco Munari a écrit :
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> I'm alredy using UDDI4j. The idea is that I don't know where  
>>>>>>>> the
>>>>>>>> UDDI
>>>>>>>> registry can be in the LAN.
>>>>>>>> I assume that the client knows only two things:
>>>>>>>> 1) the network (of course)
>>>>>>>> 2) a "search key" for a particular tipe of service
>>>>>>>>
>>>>>>>> and that's all.
>>>>>>>> The client should send a broadcast SOAP (or XML-RPC) request
>>>>>>>> containing the search method to call on the server with the  
>>>>>>>> "key"
>>>>>>>> passed as a parameter and somewhere into the LAN should be a
>>>>>>>> server
>>>>>>>> (or more) with its private UDDI registry that should reply  
>>>>>>>> with a
>>>>>>>> response containing the result of the invoking of the method
>>>>>>>> contained
>>>>>>>> in the sender's RPC request. The response should contain  
>>>>>>>> just the
>>>>>>>> URL
>>>>>>>> of the WSDL file related to the service found.
>>>>>>>>
>>>>>>>> The need of the broadcast message is that the client don't know
>>>>>>>> where
>>>>>>>> (or if) there could be any UDDI registry in the network.  
>>>>>>>> With this
>>>>>>>> framework a client can change network configuration (for  
>>>>>>>> example,
>>>>>>>> going from a floor to another with a Palm in a wireless LAN)  
>>>>>>>> and,
>>>>>>>> after leaving the service provided in the first network, find
>>>>>>>> anothe
>>>>>>>> one similar on the other network only by pressing the button
>>>>>>>> "Refresh"
>>>>>>>> :)
>>>>>>>>
>>>>>>>> Francesco
>>>>>>>>
>>>>>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> The side effect of a broadcast without authentication is
>>>>>>>>> flooding the
>>>>>>>>> network with unwanted disovery packets
>>>>>>>>> I guess this is OK if you're utilising a high datarate
>>>>>>>>> transmission i guess
>>>>>>>>>
>>>>>>>>> In your case your SOAP Request should look like
>>>>>>>>>
>>>>>>>>> <?xml version="1.0"?>
>>>>>>>>> <SOAP-ENV:Envelope
>>>>>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
>>>>>>>>>  <SOAP-ENV:Body>
>>>>>>>>>    <getTest>
>>>>>>>>>      <Test>Test</Test>
>>>>>>>>>    </getTest>
>>>>>>>>>  </SOAP-ENV:Body>
>>>>>>>>> </SOAP-ENV:Envelope>
>>>>>>>>>
>>>>>>>>> If you want to discover a "SOAP based" web-service based on  
>>>>>>>>> some
>>>>>>>>> characteristic such as Business Service Category why not use
>>>>>>>>> UDDI4J?
>>>>>>>>> Take a look at
>>>>>>>>> http://sourceforge.net/projects/uddi4j
>>>>>>>>>
>>>>>>>>> Martin-
>>>>>>>>>
>>>>>>>>> ----- Original Message -----
>>>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>>>>>>> To: "Martin Gainty" <mg...@hotmail.com>
>>>>>>>>> Cc: <so...@ws.apache.org>
>>>>>>>>> Sent: Monday, May 30, 2005 12:44 PM
>>>>>>>>> Subject: Re: SOAP-over-UDP
>>>>>>>>>
>>>>>>>>> Martins,
>>>>>>>>>
>>>>>>>>> It is for this reason that I'd like to broadcast a SOAP  
>>>>>>>>> request
>>>>>>>>> instead of a simple XML-RPC message. The goal of my framework
>>>>>>>>> is to
>>>>>>>>> keep the "context awareness" offered by XML language.
>>>>>>>>> If you are sure that there is no way to send a broadcast SOAP
>>>>>>>>> request,
>>>>>>>>> the last solution, I think, it could be XML-RPC.
>>>>>>>>>
>>>>>>>>> So, two questions:
>>>>>>>>>
>>>>>>>>> 1) are you sure ther's no way to send a broadcast SOAP  
>>>>>>>>> request?
>>>>>>>>> 2) In order to send a broadcast XML-RPC message I've to  
>>>>>>>>> cerate a
>>>>>>>>> StringWriter like this (for example)?
>>>>>>>>>
>>>>>>>>> <?xml version="1.0" ?>
>>>>>>>>>   <methodCall>
>>>>>>>>>       <methodName>getTest</methodName>
>>>>>>>>>       <params>
>>>>>>>>>           <param>
>>>>>>>>>               <value>
>>>>>>>>>                  <string>Test</string>
>>>>>>>>>               </value>
>>>>>>>>>           </param>
>>>>>>>>>       </params>
>>>>>>>>> </methodCall>
>>>>>>>>>
>>>>>>>>> Thank's Martin.
>>>>>>>>>
>>>>>>>>> Francesco
>>>>>>>>>
>>>>>>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Francesco-
>>>>>>>>>> You can Broadcast XML-RPC assuming you dont mind flooding  
>>>>>>>>>> your
>>>>>>>>>> network
>>>>>>>>>> The question is can you confine your application to using the
>>>>>>>>>> more basic
>>>>>>>>>> datatypes supported by XML-RPC
>>>>>>>>>> vs implementing SOAP features (user-defined datatypes,  
>>>>>>>>>> namespace
>>>>>>>>>> URI)?
>>>>>>>>>> Anyone else?
>>>>>>>>>> Martin-
>>>>>>>>>> ----- Original Message -----
>>>>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>>>>>>>> To: "Martin Gainty" <mg...@hotmail.com>
>>>>>>>>>> Cc: <so...@ws.apache.org>
>>>>>>>>>> Sent: Monday, May 30, 2005 6:45 AM
>>>>>>>>>> Subject: Re: SOAP-over-UDP
>>>>>>>>>>
>>>>>>>>>> Grazie! :)
>>>>>>>>>>
>>>>>>>>>> Could someone tell me if a simple XML-RPC message may be sent
>>>>>>>>>> to a
>>>>>>>>>> broadcast address? A simple message with the medthod to be
>>>>>>>>>> invoked. In
>>>>>>>>>> this way I should be able to send a broadcast XML-RPC request
>>>>>>>>>> with the
>>>>>>>>>> appropriate UDDI inquiry method; a server (containing a UDDI
>>>>>>>>>> registry)
>>>>>>>>>> should receive it, invoke that method and send a reply in XML
>>>>>>>>>> format
>>>>>>>>>> to the sender.
>>>>>>>>>>
>>>>>>>>>> It could be a good idea?
>>>>>>>>>>
>>>>>>>>>> thank you again!
>>>>>>>>>>
>>>>>>>>>> Francesco
>>>>>>>>>>
>>>>>>>>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> benvenuto!
>>>>>>>>>>> Martin-
>>>>>>>>>>>
>>>>>>>>>>> ----- Original Message -----
>>>>>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>>>>>>>>> To: <so...@ws.apache.org>
>>>>>>>>>>> Sent: Saturday, May 28, 2005 5:41 PM
>>>>>>>>>>> Subject: Re: SOAP-over-UDP
>>>>>>>>>>>
>>>>>>>>>>> Thank you all for your very quick reply!
>>>>>>>>>>>
>>>>>>>>>>> I've heard about this SOAP-over-UDP spec
>>>>>>>>>>> (http://msdn.microsoft.com/library/default.asp?url=/ 
>>>>>>>>>>> library/en-
>>>>>>>>>>> us/dnglobspec/html/soap-over-udp.asp).
>>>>>>>>>>> So, Martin, you say that it could not be a solution?  
>>>>>>>>>>> Perhaps it
>>>>>>>>>>> should
>>>>>>>>>>> be an idea using Mark's solution (with DNS).
>>>>>>>>>>>
>>>>>>>>>>> I thought to resolve the problem putting a SOAP envelope  
>>>>>>>>>>> into
>>>>>>>>>>> a UDP
>>>>>>>>>>> datagram, send the datagram to a broadcast ip and that's all
>>>>>>>>>>> folks...but I don't know how and, as you, Martins, wrote, I
>>>>>>>>>>> was not
>>>>>>>>>>> able to find anybody who has implemented this yet.
>>>>>>>>>>>
>>>>>>>>>>> Can you suggest me another solutions?
>>>>>>>>>>>
>>>>>>>>>>> Thank you very much again!!
>>>>>>>>>>>
>>>>>>>>>>> Cheers,
>>>>>>>>>>>
>>>>>>>>>>> Francesco
>>>>>>>>>>>
>>>>>>>>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> Mark/Francesco
>>>>>>>>>>>> I would caution on use of UDP as the SOAP Portocols (e.g.
>>>>>>>>>>>> HTTP)
>>>>>>>>>>>> is/are
>>>>>>>>>>>> decidely not UDP but instead a connection-oriented TCP
>>>>>>>>>>>> To date I have not seen UDP Ports used for SOAP  
>>>>>>>>>>>> transmission
>>>>>>>>>>>> although
>>>>>>>>>>>> since
>>>>>>>>>>>> there is no requirement for verifiable connection and or
>>>>>>>>>>>> handshakes
>>>>>>>>>>>> I would venture to guess UDP is available as the  
>>>>>>>>>>>> transmission
>>>>>>>>>>>> medium
>>>>>>>>>>>> but
>>>>>>>>>>>> I
>>>>>>>>>>>> have not seen any UDP Ports used for SOAP thus far
>>>>>>>>>>>> Anyone else ???
>>>>>>>>>>>> Ciao-
>>>>>>>>>>>> Martin-
>>>>>>>>>>>>
>>>>>>>>>>>> ----- Original Message -----
>>>>>>>>>>>> From: "mdonaghue" <md...@mZeal.com>
>>>>>>>>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
>>>>>>>>>>>> <fm...@gmail.com>
>>>>>>>>>>>> Sent: Saturday, May 28, 2005 3:14 PM
>>>>>>>>>>>> Subject: RE: SOAP-over-UDP
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Franceso,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I've worked briefly with the apache soap api, not that
>>>>>>>>>>>>> familiar with
>>>>>>>>>>>>> it.
>>>>>>>>>>>>> Typically a soap message is sent to a single soap server
>>>>>>>>>>>>> address,
>>>>>>>>>>>>> which
>>>>>>>>>>>>> is
>>>>>>>>>>>>> specified by a url or an ip address, as well as a port. So
>>>>>>>>>>>>> your
>>>>>>>>>>>>> server
>>>>>>>>>>>>> address on the LAN might be something like
>>>>>>>>>>>>> 192.168.100.2:8080.
>>>>>>>>>>>>> (I'm
>>>>>>>>>>>>> not
>>>>>>>>>>>>> sure
>>>>>>>>>>>>> what the port is for UDDI, so just using standard  
>>>>>>>>>>>>> TomCat Web
>>>>>>>>>>>>> Server
>>>>>>>>>>>>> port).
>>>>>>>>>>>>>
>>>>>>>>>>>>> IIRC, you there's a point at which you specify that
>>>>>>>>>>>>> address in
>>>>>>>>>>>>> the
>>>>>>>>>>>>> setup
>>>>>>>>>>>>> for
>>>>>>>>>>>>> your soap call. One thing you could try is to change the
>>>>>>>>>>>>> address to
>>>>>>>>>>>>> the
>>>>>>>>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
>>>>>>>>>>>>> class c
>>>>>>>>>>>>> network
>>>>>>>>>>>>> where the first 3 quads specify the network portion of the
>>>>>>>>>>>>> submask.
>>>>>>>>>>>>>
>>>>>>>>>>>>> However, this may not a scalable solution, since the
>>>>>>>>>>>>> broadcast
>>>>>>>>>>>>> wouldn't
>>>>>>>>>>>>> carry beyond the physical subnet on which you are located.
>>>>>>>>>>>>> Using
>>>>>>>>>>>>> UDDI
>>>>>>>>>>>>> to
>>>>>>>>>>>>> discover services is one thing, but dynamically  
>>>>>>>>>>>>> discovering
>>>>>>>>>>>>> UDDI
>>>>>>>>>>>>> servers
>>>>>>>>>>>>> is
>>>>>>>>>>>>> obviously a different problem. It also doesn't address the
>>>>>>>>>>>>> issue of
>>>>>>>>>>>>> more
>>>>>>>>>>>>> than one UDDI server running on the same subnet.
>>>>>>>>>>>>>
>>>>>>>>>>>>> A more generalized solution might involve a distributed ip
>>>>>>>>>>>>> lookup
>>>>>>>>>>>>> service,
>>>>>>>>>>>>> namely DNS. For example when DNS looks up the ip  
>>>>>>>>>>>>> address of
>>>>>>>>>>>>> Yahoo.com,
>>>>>>>>>>>>> at
>>>>>>>>>>>>> some point the actual ip address that serves the  
>>>>>>>>>>>>> request is
>>>>>>>>>>>>> dynamically
>>>>>>>>>>>>> assigned to one of dozens (or hundreds) of servers  
>>>>>>>>>>>>> based on a
>>>>>>>>>>>>> scheduling
>>>>>>>>>>>>> scheme.  You could locally enable DNS lookup, and  
>>>>>>>>>>>>> create an
>>>>>>>>>>>>> entry
>>>>>>>>>>>>> based
>>>>>>>>>>>>> on
>>>>>>>>>>>>> some url like "myuddpsever.com", and give it your local  
>>>>>>>>>>>>> UDDI
>>>>>>>>>>>>> server's
>>>>>>>>>>>>> ip
>>>>>>>>>>>>> address, and the rest would be handled within the network.
>>>>>>>>>>>>> The
>>>>>>>>>>>>> advantage
>>>>>>>>>>>>> to
>>>>>>>>>>>>> this is your UDDP server could be anywhere and your  
>>>>>>>>>>>>> message
>>>>>>>>>>>>> would
>>>>>>>>>>>>> still
>>>>>>>>>>>>> reach it.
>>>>>>>>>>>>>
>>>>>>>>>>>>> hth,
>>>>>>>>>>>>> Mark
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
>>>>>>>>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
>>>>>>>>>>>>> To: soap-user@ws.apache.org
>>>>>>>>>>>>> Subject: SOAP-over-UDP
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi, I'm desperate!
>>>>>>>>>>>>> I'm trying to find out how to send a broadcast SOAP  
>>>>>>>>>>>>> request
>>>>>>>>>>>>> to a
>>>>>>>>>>>>> UDDI
>>>>>>>>>>>>> registry in a LAN, but I'm not able to do this. I've  
>>>>>>>>>>>>> looked
>>>>>>>>>>>>> for some
>>>>>>>>>>>>> example but I've not found anithing.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Please...could anybody help me?
>>>>>>>>>>>>> I'm making a thesis for the University of Florence (Italy)
>>>>>>>>>>>>> and I
>>>>>>>>>>>>> have
>>>>>>>>>>>>> to discovery dinamically web service published in some  
>>>>>>>>>>>>> UDDI
>>>>>>>>>>>>> registry
>>>>>>>>>>>>> somewhere in a LAN. I have to send a broadcast SOAP
>>>>>>>>>>>>> request to
>>>>>>>>>>>>> these
>>>>>>>>>>>>> UDDI registry (as I wrote few lines above).
>>>>>>>>>>>>> Of course I'm using Java language.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thank you very much for your help...I'm in a great
>>>>>>>>>>>>> hurry...thanks
>>>>>>>>>>>>> very
>>>>>>>>>>>>> very much to everyone could help me!
>>>>>>>>>>>>>
>>>>>>>>>>>>> Best reguards,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Francesco
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>



Re: SOAP-over-UDP

Posted by Francesco Munari <fm...@gmail.com>.
Uh, Rodrigo, i forgot to mention that the WSDL URLs are managed with a
HashSet only inside the server, not in the client.
So, the duplicates are eliminated only if they are inside ONE UDDI
registry. On the other hand, on the client, the WSDL URLs are managed
with a List. So, if I've got two equal WSDL URLs inside one UDDI
registry, then I consider it an error and eliminate duplicates using
the features of the HashSet, otherwise, if I receive the same WSDL URL
from different UDDI registries, than I may think that it has been done
as a precaution.
Sorry, I haven't understood perfectly what you ment ;)

Cheers,

Francesco

> Another place I do not agree:
> Publishing equivalent services in more than one UDDI registries is not
> necessarily an error. If you are searching a service just by a key word,
> more than one service could be valid, even in the same registry. You can
> also have services that can be down at some hours in a day in some
> computers, so they are replicated among different servers.


2005/6/1, Rodrigo Ruiz <rr...@gridsystems.com>:
> Great thread, guys!
> 
> Just my grain of salt :-)
> 
> With respect to the UDP vs. TCP question: UDP is not a reliable
> protocol. You cannot send a message and be sure it will reach the other
> side at all. And if the message is larger than the packet size, it can
> be received in an altered order. This makes UDP a hard choice for SOAP,
> because it would require a lot of code for implementing the packet
> reordering and retransmition.
> 
> Related to this, it is technically possible to have URLs larger than a
> single packet size, so I would advice you to send the UDDI request via TCP.
> 
> Another place I do not agree:
> Publishing equivalent services in more than one UDDI registries is not
> necessarily an error. If you are searching a service just by a key word,
> more than one service could be valid, even in the same registry. You can
> also have services that can be down at some hours in a day in some
> computers, so they are replicated among different servers.
> 
> You could complicate this schema just a little bit, and collect all
> matching services in your client as a List. I even would firstly collect
> all UDDI registries in a list and query all of them. This way, if you
> just need one, you can use any of the items in the list (the first, for
> example), and if it is down, you can try the next one in the list.
> 
> Later, you could extend the client and make it maintain a history of
> recently failed services, for faster execution; or let the user select
> one of the found services through a GUI, etc.
> 
> Hope this helps you,
> Rodrigo Ruiz
> 
> 
> Francesco Munari wrote:
> 
> >Mark,
> >
> >
> >
> >>Yes, that's seems to be great idea, I would even say elegant.
> >>
> >>
> >>
> >
> >...and it seems to work very very well!! ;)
> >
> >It all works! It seems very efficient.
> >Saving the URLs send as a reply by the servers in a hash eliminates
> >also possible duplicates because the add(Object o), if it finds an
> >equal Object inside the hash, replace the old one with the new one.
> >So, if erroneously some service was published into more tha one UDDI
> >registry present in the LAN, the result hash, at the end of the
> >"request round", will have only one WSDL URL representing that
> >service.
> >
> >Wow! It has been very cool solving my problem with you all! A parte of
> >my thesis is your merit!
> >
> >But now the very last question (^_^): why (apart the difficult that I
> >had in implementing it) the use of SOAP or XML-RPC broadcast message
> >over UDP are so unsuitable?
> >
> >Thank you very much!
> >
> >Francesco
> >2005/5/31, mdonaghue <md...@mzeal.com>:
> >
> >
> >>Francesco,
> >>
> >>
> >>
> >>
> >>>In this way the
> >>>proxy receives the message, ask its UDDI registry for that service and
> >>>reply with a byte[] containing the URL of the service's WSDL file. Uh?
> >>>
> >>>
> >>Yes, that's seems to be great idea, I would even say elegant.
> >>
> >>Regards,
> >>Mark
> >>
> >>
> >>-----Original Message-----
> >>From: Francesco Munari [mailto:fmunari@gmail.com]
> >>Sent: Tuesday, May 31, 2005 4:54 PM
> >>To: soap-user@ws.apache.org
> >>Subject: Re: SOAP-over-UDP
> >>
> >>Great Mark!
> >>
> >>You have explained your point of view as well as you could.
> >>So the point is to give a proxy to every server that has an UDDI
> >>registry. This proxy, written in Java, waits for UDP datagrams. Maybe
> >>the broadcast UDP message sent by the client could also contains the
> >>key of the service that the client is searching for. In this way the
> >>proxy receives the message, ask its UDDI registry for that service and
> >>reply with a byte[] containing the URL of the service's WSDL file. Uh?
> >>
> >>Should be a good idea instead of retreiving the IP address and having
> >>also to ask the registry for the service?
> >>
> >>Thank's again to you all!! You're help me more than you think! Thank's.
> >>
> >>Cheers
> >>
> >>Francesco
> >>
> >>2005/5/31, mdonaghue <md...@mzeal.com>:
> >>
> >>
> >>>Hi Francesco,
> >>>
> >>>My original suggestion was to use DNS to identify the URL of the UDDI
> >>>
> >>>
> >>server
> >>
> >>
> >>>in the local subnet. The advantage to this is that no broadcast message is
> >>>needed and it's using a common solution. The disadvantage is it requires
> >>>
> >>>
> >>an
> >>
> >>
> >>>entry in the DNS server database, some knowledge of how to administrate
> >>>
> >>>
> >>it,
> >>
> >>
> >>>and isn't automated.
> >>>
> >>>So, I tend to agree with Eric's solution (except for the last step which I
> >>>believe should be unicast, not broadcast).  The basic idea is to have the
> >>>client broadcast a "who has a UDDI Server" message when it comes online.
> >>>
> >>>
> >>XML
> >>
> >>
> >>>will be ok, because since the broadcast only happens once, verbosity is
> >>>
> >>>
> >>not
> >>
> >>
> >>>an issue. However, a simple text message would also do the trick and
> >>>eliminates the need to parse XML. In either case, a simple UDP server
> >>>process listening on over a known port on the UDDI server machine will
> >>>respond, identifying itself to the client. At that point the IP address of
> >>>the UDDI server is available to the client and the UDDI request can be
> >>>unicast to it.
> >>>
> >>>This message sequence is identical the ARP protocol, which allows an
> >>>end-host to determine the MAC address of system with a known IP address.
> >>>
> >>>
> >>The
> >>
> >>
> >>>end-host broadcasts a "who has this IP address?" message to the subnet. If
> >>>
> >>>
> >>a
> >>
> >>
> >>>host with that IP address receives the message, it unicasts an "I have it"
> >>>message, enclosing its MAC address along with it. From then on, all
> >>>communication for that flow can be unicast.
> >>>
> >>>The actual messaging discussed above should be handled outside of SOAP,
> >>>since SOAP is not intended for this kind of functionality. It could be
> >>>easily implemented as with Java using UDP datagram sockets.
> >>>
> >>>This approach handles the potential problem of multiple servers on the
> >>>
> >>>
> >>same
> >>
> >>
> >>>subnet, since the client can just choose one. It also solves the problem
> >>>
> >>>
> >>of
> >>
> >>
> >>>the UDDI server not being architected around a possible broadcast
> >>>
> >>>
> >>scenario,
> >>
> >>
> >>>typically running over TCP.  You won't need SOAP over UDP. It minimizes
> >>>network overhead since only a single broadcast is made, when the client
> >>>comes online.
> >>>
> >>>Regards,
> >>>Mark
> >>>
> >>>
> >>>-----Original Message-----
> >>>From: Eric VERGNAUD [mailto:eric.vergnaud@jlynx.com]
> >>>Sent: Tuesday, May 31, 2005 7:58 AM
> >>>To: soap-user@ws.apache.org
> >>>Subject: Re: SOAP-over-UDP
> >>>
> >>>It depends on what you mean by continuous. a 16 bytes packet every 5
> >>>seconds certainly won't.
> >>>
> >>>If you need a higher reactivity, you can do the following:
> >>> - have the client broadcast a message on a port
> >>> - have the server listen on that port
> >>> - when the server receives a connection, have it broadcast as
> >>>suggested in my previous email
> >>>
> >>>Le 31 mai 05 à 13:17, Francesco Munari a écrit :
> >>>
> >>>
> >>>
> >>>>But there isn't the risk of flooding the LAN with these continuous
> >>>>broadcast messages?
> >>>>
> >>>>2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> >>>>
> >>>>
> >>>>
> >>>>>Have your server regularly broadcast its address on a port.
> >>>>>Have your client act as a server on startup and listen on the same
> >>>>>port.
> >>>>>When the real server broadcasts its address, the client will receive
> >>>>>a connection request.
> >>>>>One you have the server address, ask the server for the information
> >>>>>you need (what you call the context).
> >>>>>
> >>>>>Le 31 mai 05 à 11:41, Francesco Munari a écrit :
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>Hi, Eric.
> >>>>>>
> >>>>>>Ok, but how can I do this? I think I'm a newbie in this kind of
> >>>>>>operation, sorry. How can I look to a port of servers in a LAN
> >>>>>>without
> >>>>>>knowing their IP? And in this way may I keep the context-
> >>>>>>awareness of
> >>>>>>the communication?
> >>>>>>
> >>>>>>thank you for you reply
> >>>>>>
> >>>>>>Cheers
> >>>>>>
> >>>>>>francesco
> >>>>>>
> >>>>>>2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>>I'm afraid that is a very verbose way of doing things. The typical
> >>>>>>>way to do this is determine a port, have your server broadcast
> >>>>>>>its IP
> >>>>>>>address on that port, and your clients look on that port to grab
> >>>>>>>the
> >>>>>>>address.
> >>>>>>>
> >>>>>>>Once the address is found, you can safely interact with the server
> >>>>>>>using SOAP over HTTP.
> >>>>>>>
> >>>>>>>Le 30 mai 05 à 22:19, Francesco Munari a écrit :
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>>I'm alredy using UDDI4j. The idea is that I don't know where the
> >>>>>>>>UDDI
> >>>>>>>>registry can be in the LAN.
> >>>>>>>>I assume that the client knows only two things:
> >>>>>>>>1) the network (of course)
> >>>>>>>>2) a "search key" for a particular tipe of service
> >>>>>>>>
> >>>>>>>>and that's all.
> >>>>>>>>The client should send a broadcast SOAP (or XML-RPC) request
> >>>>>>>>containing the search method to call on the server with the "key"
> >>>>>>>>passed as a parameter and somewhere into the LAN should be a
> >>>>>>>>server
> >>>>>>>>(or more) with its private UDDI registry that should reply with a
> >>>>>>>>response containing the result of the invoking of the method
> >>>>>>>>contained
> >>>>>>>>in the sender's RPC request. The response should contain just the
> >>>>>>>>URL
> >>>>>>>>of the WSDL file related to the service found.
> >>>>>>>>
> >>>>>>>>The need of the broadcast message is that the client don't know
> >>>>>>>>where
> >>>>>>>>(or if) there could be any UDDI registry in the network. With this
> >>>>>>>>framework a client can change network configuration (for example,
> >>>>>>>>going from a floor to another with a Palm in a wireless LAN) and,
> >>>>>>>>after leaving the service provided in the first network, find
> >>>>>>>>anothe
> >>>>>>>>one similar on the other network only by pressing the button
> >>>>>>>>"Refresh"
> >>>>>>>>:)
> >>>>>>>>
> >>>>>>>>Francesco
> >>>>>>>>
> >>>>>>>>2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>The side effect of a broadcast without authentication is
> >>>>>>>>>flooding the
> >>>>>>>>>network with unwanted disovery packets
> >>>>>>>>>I guess this is OK if you're utilising a high datarate
> >>>>>>>>>transmission i guess
> >>>>>>>>>
> >>>>>>>>>In your case your SOAP Request should look like
> >>>>>>>>>
> >>>>>>>>><?xml version="1.0"?>
> >>>>>>>>><SOAP-ENV:Envelope
> >>>>>>>>>xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
> >>>>>>>>> <SOAP-ENV:Body>
> >>>>>>>>>   <getTest>
> >>>>>>>>>     <Test>Test</Test>
> >>>>>>>>>   </getTest>
> >>>>>>>>> </SOAP-ENV:Body>
> >>>>>>>>></SOAP-ENV:Envelope>
> >>>>>>>>>
> >>>>>>>>>If you want to discover a "SOAP based" web-service based on some
> >>>>>>>>>characteristic such as Business Service Category why not use
> >>>>>>>>>UDDI4J?
> >>>>>>>>>Take a look at
> >>>>>>>>>http://sourceforge.net/projects/uddi4j
> >>>>>>>>>
> >>>>>>>>>Martin-
> >>>>>>>>>
> >>>>>>>>>----- Original Message -----
> >>>>>>>>>From: "Francesco Munari" <fm...@gmail.com>
> >>>>>>>>>To: "Martin Gainty" <mg...@hotmail.com>
> >>>>>>>>>Cc: <so...@ws.apache.org>
> >>>>>>>>>Sent: Monday, May 30, 2005 12:44 PM
> >>>>>>>>>Subject: Re: SOAP-over-UDP
> >>>>>>>>>
> >>>>>>>>>Martins,
> >>>>>>>>>
> >>>>>>>>>It is for this reason that I'd like to broadcast a SOAP request
> >>>>>>>>>instead of a simple XML-RPC message. The goal of my framework
> >>>>>>>>>is to
> >>>>>>>>>keep the "context awareness" offered by XML language.
> >>>>>>>>>If you are sure that there is no way to send a broadcast SOAP
> >>>>>>>>>request,
> >>>>>>>>>the last solution, I think, it could be XML-RPC.
> >>>>>>>>>
> >>>>>>>>>So, two questions:
> >>>>>>>>>
> >>>>>>>>>1) are you sure ther's no way to send a broadcast SOAP request?
> >>>>>>>>>2) In order to send a broadcast XML-RPC message I've to cerate a
> >>>>>>>>>StringWriter like this (for example)?
> >>>>>>>>>
> >>>>>>>>><?xml version="1.0" ?>
> >>>>>>>>>  <methodCall>
> >>>>>>>>>      <methodName>getTest</methodName>
> >>>>>>>>>      <params>
> >>>>>>>>>          <param>
> >>>>>>>>>              <value>
> >>>>>>>>>                 <string>Test</string>
> >>>>>>>>>              </value>
> >>>>>>>>>          </param>
> >>>>>>>>>      </params>
> >>>>>>>>></methodCall>
> >>>>>>>>>
> >>>>>>>>>Thank's Martin.
> >>>>>>>>>
> >>>>>>>>>Francesco
> >>>>>>>>>
> >>>>>>>>>2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>>Francesco-
> >>>>>>>>>>You can Broadcast XML-RPC assuming you dont mind flooding your
> >>>>>>>>>>network
> >>>>>>>>>>The question is can you confine your application to using the
> >>>>>>>>>>more basic
> >>>>>>>>>>datatypes supported by XML-RPC
> >>>>>>>>>>vs implementing SOAP features (user-defined datatypes, namespace
> >>>>>>>>>>URI)?
> >>>>>>>>>>Anyone else?
> >>>>>>>>>>Martin-
> >>>>>>>>>>----- Original Message -----
> >>>>>>>>>>From: "Francesco Munari" <fm...@gmail.com>
> >>>>>>>>>>To: "Martin Gainty" <mg...@hotmail.com>
> >>>>>>>>>>Cc: <so...@ws.apache.org>
> >>>>>>>>>>Sent: Monday, May 30, 2005 6:45 AM
> >>>>>>>>>>Subject: Re: SOAP-over-UDP
> >>>>>>>>>>
> >>>>>>>>>>Grazie! :)
> >>>>>>>>>>
> >>>>>>>>>>Could someone tell me if a simple XML-RPC message may be sent
> >>>>>>>>>>to a
> >>>>>>>>>>broadcast address? A simple message with the medthod to be
> >>>>>>>>>>invoked. In
> >>>>>>>>>>this way I should be able to send a broadcast XML-RPC request
> >>>>>>>>>>with the
> >>>>>>>>>>appropriate UDDI inquiry method; a server (containing a UDDI
> >>>>>>>>>>registry)
> >>>>>>>>>>should receive it, invoke that method and send a reply in XML
> >>>>>>>>>>format
> >>>>>>>>>>to the sender.
> >>>>>>>>>>
> >>>>>>>>>>It could be a good idea?
> >>>>>>>>>>
> >>>>>>>>>>thank you again!
> >>>>>>>>>>
> >>>>>>>>>>Francesco
> >>>>>>>>>>
> >>>>>>>>>>2005/5/29, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>>benvenuto!
> >>>>>>>>>>>Martin-
> >>>>>>>>>>>
> >>>>>>>>>>>----- Original Message -----
> >>>>>>>>>>>From: "Francesco Munari" <fm...@gmail.com>
> >>>>>>>>>>>To: <so...@ws.apache.org>
> >>>>>>>>>>>Sent: Saturday, May 28, 2005 5:41 PM
> >>>>>>>>>>>Subject: Re: SOAP-over-UDP
> >>>>>>>>>>>
> >>>>>>>>>>>Thank you all for your very quick reply!
> >>>>>>>>>>>
> >>>>>>>>>>>I've heard about this SOAP-over-UDP spec
> >>>>>>>>>>>(http://msdn.microsoft.com/library/default.asp?url=/library/en-
> >>>>>>>>>>>us/dnglobspec/html/soap-over-udp.asp).
> >>>>>>>>>>>So, Martin, you say that it could not be a solution? Perhaps it
> >>>>>>>>>>>should
> >>>>>>>>>>>be an idea using Mark's solution (with DNS).
> >>>>>>>>>>>
> >>>>>>>>>>>I thought to resolve the problem putting a SOAP envelope into
> >>>>>>>>>>>a UDP
> >>>>>>>>>>>datagram, send the datagram to a broadcast ip and that's all
> >>>>>>>>>>>folks...but I don't know how and, as you, Martins, wrote, I
> >>>>>>>>>>>was not
> >>>>>>>>>>>able to find anybody who has implemented this yet.
> >>>>>>>>>>>
> >>>>>>>>>>>Can you suggest me another solutions?
> >>>>>>>>>>>
> >>>>>>>>>>>Thank you very much again!!
> >>>>>>>>>>>
> >>>>>>>>>>>Cheers,
> >>>>>>>>>>>
> >>>>>>>>>>>Francesco
> >>>>>>>>>>>
> >>>>>>>>>>>2005/5/28, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>>Mark/Francesco
> >>>>>>>>>>>>I would caution on use of UDP as the SOAP Portocols (e.g.
> >>>>>>>>>>>>HTTP)
> >>>>>>>>>>>>is/are
> >>>>>>>>>>>>decidely not UDP but instead a connection-oriented TCP
> >>>>>>>>>>>>To date I have not seen UDP Ports used for SOAP transmission
> >>>>>>>>>>>>although
> >>>>>>>>>>>>since
> >>>>>>>>>>>>there is no requirement for verifiable connection and or
> >>>>>>>>>>>>handshakes
> >>>>>>>>>>>>I would venture to guess UDP is available as the transmission
> >>>>>>>>>>>>medium
> >>>>>>>>>>>>but
> >>>>>>>>>>>>I
> >>>>>>>>>>>>have not seen any UDP Ports used for SOAP thus far
> >>>>>>>>>>>>Anyone else ???
> >>>>>>>>>>>>Ciao-
> >>>>>>>>>>>>Martin-
> >>>>>>>>>>>>
> >>>>>>>>>>>>----- Original Message -----
> >>>>>>>>>>>>From: "mdonaghue" <md...@mZeal.com>
> >>>>>>>>>>>>To: <so...@ws.apache.org>; "'Francesco Munari'"
> >>>>>>>>>>>><fm...@gmail.com>
> >>>>>>>>>>>>Sent: Saturday, May 28, 2005 3:14 PM
> >>>>>>>>>>>>Subject: RE: SOAP-over-UDP
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>>Hi Franceso,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>I've worked briefly with the apache soap api, not that
> >>>>>>>>>>>>>familiar with
> >>>>>>>>>>>>>it.
> >>>>>>>>>>>>>Typically a soap message is sent to a single soap server
> >>>>>>>>>>>>>address,
> >>>>>>>>>>>>>which
> >>>>>>>>>>>>>is
> >>>>>>>>>>>>>specified by a url or an ip address, as well as a port. So
> >>>>>>>>>>>>>your
> >>>>>>>>>>>>>server
> >>>>>>>>>>>>>address on the LAN might be something like
> >>>>>>>>>>>>>192.168.100.2:8080.
> >>>>>>>>>>>>>(I'm
> >>>>>>>>>>>>>not
> >>>>>>>>>>>>>sure
> >>>>>>>>>>>>>what the port is for UDDI, so just using standard TomCat Web
> >>>>>>>>>>>>>Server
> >>>>>>>>>>>>>port).
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>IIRC, you there's a point at which you specify that
> >>>>>>>>>>>>>address in
> >>>>>>>>>>>>>the
> >>>>>>>>>>>>>setup
> >>>>>>>>>>>>>for
> >>>>>>>>>>>>>your soap call. One thing you could try is to change the
> >>>>>>>>>>>>>address to
> >>>>>>>>>>>>>the
> >>>>>>>>>>>>>subnet's broadcast address, 255.255.255.0:8080, assuming a
> >>>>>>>>>>>>>class c
> >>>>>>>>>>>>>network
> >>>>>>>>>>>>>where the first 3 quads specify the network portion of the
> >>>>>>>>>>>>>submask.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>However, this may not a scalable solution, since the
> >>>>>>>>>>>>>broadcast
> >>>>>>>>>>>>>wouldn't
> >>>>>>>>>>>>>carry beyond the physical subnet on which you are located.
> >>>>>>>>>>>>>Using
> >>>>>>>>>>>>>UDDI
> >>>>>>>>>>>>>to
> >>>>>>>>>>>>>discover services is one thing, but dynamically discovering
> >>>>>>>>>>>>>UDDI
> >>>>>>>>>>>>>servers
> >>>>>>>>>>>>>is
> >>>>>>>>>>>>>obviously a different problem. It also doesn't address the
> >>>>>>>>>>>>>issue of
> >>>>>>>>>>>>>more
> >>>>>>>>>>>>>than one UDDI server running on the same subnet.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>A more generalized solution might involve a distributed ip
> >>>>>>>>>>>>>lookup
> >>>>>>>>>>>>>service,
> >>>>>>>>>>>>>namely DNS. For example when DNS looks up the ip address of
> >>>>>>>>>>>>>Yahoo.com,
> >>>>>>>>>>>>>at
> >>>>>>>>>>>>>some point the actual ip address that serves the request is
> >>>>>>>>>>>>>dynamically
> >>>>>>>>>>>>>assigned to one of dozens (or hundreds) of servers based on a
> >>>>>>>>>>>>>scheduling
> >>>>>>>>>>>>>scheme.  You could locally enable DNS lookup, and create an
> >>>>>>>>>>>>>entry
> >>>>>>>>>>>>>based
> >>>>>>>>>>>>>on
> >>>>>>>>>>>>>some url like "myuddpsever.com", and give it your local UDDI
> >>>>>>>>>>>>>server's
> >>>>>>>>>>>>>ip
> >>>>>>>>>>>>>address, and the rest would be handled within the network.
> >>>>>>>>>>>>>The
> >>>>>>>>>>>>>advantage
> >>>>>>>>>>>>>to
> >>>>>>>>>>>>>this is your UDDP server could be anywhere and your message
> >>>>>>>>>>>>>would
> >>>>>>>>>>>>>still
> >>>>>>>>>>>>>reach it.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>hth,
> >>>>>>>>>>>>>Mark
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>-----Original Message-----
> >>>>>>>>>>>>>From: Francesco Munari [mailto:fmunari@gmail.com]
> >>>>>>>>>>>>>Sent: Saturday, May 28, 2005 4:58 AM
> >>>>>>>>>>>>>To: soap-user@ws.apache.org
> >>>>>>>>>>>>>Subject: SOAP-over-UDP
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Hi, I'm desperate!
> >>>>>>>>>>>>>I'm trying to find out how to send a broadcast SOAP request
> >>>>>>>>>>>>>to a
> >>>>>>>>>>>>>UDDI
> >>>>>>>>>>>>>registry in a LAN, but I'm not able to do this. I've looked
> >>>>>>>>>>>>>for some
> >>>>>>>>>>>>>example but I've not found anithing.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Please...could anybody help me?
> >>>>>>>>>>>>>I'm making a thesis for the University of Florence (Italy)
> >>>>>>>>>>>>>and I
> >>>>>>>>>>>>>have
> >>>>>>>>>>>>>to discovery dinamically web service published in some UDDI
> >>>>>>>>>>>>>registry
> >>>>>>>>>>>>>somewhere in a LAN. I have to send a broadcast SOAP
> >>>>>>>>>>>>>request to
> >>>>>>>>>>>>>these
> >>>>>>>>>>>>>UDDI registry (as I wrote few lines above).
> >>>>>>>>>>>>>Of course I'm using Java language.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Thank you very much for your help...I'm in a great
> >>>>>>>>>>>>>hurry...thanks
> >>>>>>>>>>>>>very
> >>>>>>>>>>>>>very much to everyone could help me!
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Best reguards,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Francesco
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>
> >>>
> >>
> >>
> >
> >
> >
> >
> >
>

Re: SOAP-over-UDP

Posted by Francesco Munari <fm...@gmail.com>.
Hi, Rodrigo :)

The duplicates are about the WSDL URLs, not the "key name" of the services.
My findService method return an HashSet of Strings: the WSDL URLs
related to the services tha match the "key".
If I've got two equal WSDL URLs, if the service bound by the first is
down, it will be the other too. Btw, I can have more than one result
matching the "key": services with different WSDL URLs. At this moment
there is the choice, not before. Am I right? If I publish a service in
a UDDI registry and, at a certain point, i realize the the server
where my ws is is down, I can publish a new entry on the same UDDI
registry with the same name but with another WSDL URL. So, at the next
broadcast request of a client, it will find two (or more if there are
another) ws with different URL. Trying to connect to them, the client
will realize that one is down, while the other is up.

Btw, I've just kept in mind your idea to create a simple GUI in order
to let the client to make the right choice. I'll certainly do it...if
I'll have time ;)

Also the ideas of keeping a history of recently failed service, or
caches the results of a request in order to saves network overhead are
very good!

Yes! A very great thread!

And what do you think about the "Dinamic Menagement of Methods"? :)
Yes, I'm just trying to implement such a solution: when I get a WSDL
URL, I take the WSDL file, parse it and get all the methods contained
in the WSDL with their parameters (with types...for now only if base
types) and return types.
Now...the idea is: make a simple GUI with:
- a little frame as a GoogleBar (where to type the text of the "key"
and a button "Search")
- a frame where will appear the search results
- a frame when will appear the methods allowed by a service after
having clicked selected it
- a frame with the info about a method after having clicked on it.
- a button "Call" next to each method that execute the call of that
method on that service.
- After having pressed the button "Call" next to a selected method, it
appears a window that gives the user the possibility of insert all the
needed parameters.

I'm trying to menage the types without a brutal "switch case" or
cascade if statements...bleah...but I think it should be very hard.

I'm keeping on in this way...if I'll find something interesting I'll
certainly post it!

Cheers, great men (and wemen ^_^).

Francesco

2005/6/1, Rodrigo Ruiz <rr...@gridsystems.com>:
> Great thread, guys!
> 
> Just my grain of salt :-)
> 
> With respect to the UDP vs. TCP question: UDP is not a reliable
> protocol. You cannot send a message and be sure it will reach the other
> side at all. And if the message is larger than the packet size, it can
> be received in an altered order. This makes UDP a hard choice for SOAP,
> because it would require a lot of code for implementing the packet
> reordering and retransmition.
> 
> Related to this, it is technically possible to have URLs larger than a
> single packet size, so I would advice you to send the UDDI request via TCP.
> 
> Another place I do not agree:
> Publishing equivalent services in more than one UDDI registries is not
> necessarily an error. If you are searching a service just by a key word,
> more than one service could be valid, even in the same registry. You can
> also have services that can be down at some hours in a day in some
> computers, so they are replicated among different servers.
> 
> You could complicate this schema just a little bit, and collect all
> matching services in your client as a List. I even would firstly collect
> all UDDI registries in a list and query all of them. This way, if you
> just need one, you can use any of the items in the list (the first, for
> example), and if it is down, you can try the next one in the list.
> 
> Later, you could extend the client and make it maintain a history of
> recently failed services, for faster execution; or let the user select
> one of the found services through a GUI, etc.
> 
> Hope this helps you,
> Rodrigo Ruiz
> 
> 
> Francesco Munari wrote:
> 
> >Mark,
> >
> >
> >
> >>Yes, that's seems to be great idea, I would even say elegant.
> >>
> >>
> >>
> >
> >...and it seems to work very very well!! ;)
> >
> >It all works! It seems very efficient.
> >Saving the URLs send as a reply by the servers in a hash eliminates
> >also possible duplicates because the add(Object o), if it finds an
> >equal Object inside the hash, replace the old one with the new one.
> >So, if erroneously some service was published into more tha one UDDI
> >registry present in the LAN, the result hash, at the end of the
> >"request round", will have only one WSDL URL representing that
> >service.
> >
> >Wow! It has been very cool solving my problem with you all! A parte of
> >my thesis is your merit!
> >
> >But now the very last question (^_^): why (apart the difficult that I
> >had in implementing it) the use of SOAP or XML-RPC broadcast message
> >over UDP are so unsuitable?
> >
> >Thank you very much!
> >
> >Francesco
> >2005/5/31, mdonaghue <md...@mzeal.com>:
> >
> >
> >>Francesco,
> >>
> >>
> >>
> >>
> >>>In this way the
> >>>proxy receives the message, ask its UDDI registry for that service and
> >>>reply with a byte[] containing the URL of the service's WSDL file. Uh?
> >>>
> >>>
> >>Yes, that's seems to be great idea, I would even say elegant.
> >>
> >>Regards,
> >>Mark
> >>
> >>
> >>-----Original Message-----
> >>From: Francesco Munari [mailto:fmunari@gmail.com]
> >>Sent: Tuesday, May 31, 2005 4:54 PM
> >>To: soap-user@ws.apache.org
> >>Subject: Re: SOAP-over-UDP
> >>
> >>Great Mark!
> >>
> >>You have explained your point of view as well as you could.
> >>So the point is to give a proxy to every server that has an UDDI
> >>registry. This proxy, written in Java, waits for UDP datagrams. Maybe
> >>the broadcast UDP message sent by the client could also contains the
> >>key of the service that the client is searching for. In this way the
> >>proxy receives the message, ask its UDDI registry for that service and
> >>reply with a byte[] containing the URL of the service's WSDL file. Uh?
> >>
> >>Should be a good idea instead of retreiving the IP address and having
> >>also to ask the registry for the service?
> >>
> >>Thank's again to you all!! You're help me more than you think! Thank's.
> >>
> >>Cheers
> >>
> >>Francesco
> >>
> >>2005/5/31, mdonaghue <md...@mzeal.com>:
> >>
> >>
> >>>Hi Francesco,
> >>>
> >>>My original suggestion was to use DNS to identify the URL of the UDDI
> >>>
> >>>
> >>server
> >>
> >>
> >>>in the local subnet. The advantage to this is that no broadcast message is
> >>>needed and it's using a common solution. The disadvantage is it requires
> >>>
> >>>
> >>an
> >>
> >>
> >>>entry in the DNS server database, some knowledge of how to administrate
> >>>
> >>>
> >>it,
> >>
> >>
> >>>and isn't automated.
> >>>
> >>>So, I tend to agree with Eric's solution (except for the last step which I
> >>>believe should be unicast, not broadcast).  The basic idea is to have the
> >>>client broadcast a "who has a UDDI Server" message when it comes online.
> >>>
> >>>
> >>XML
> >>
> >>
> >>>will be ok, because since the broadcast only happens once, verbosity is
> >>>
> >>>
> >>not
> >>
> >>
> >>>an issue. However, a simple text message would also do the trick and
> >>>eliminates the need to parse XML. In either case, a simple UDP server
> >>>process listening on over a known port on the UDDI server machine will
> >>>respond, identifying itself to the client. At that point the IP address of
> >>>the UDDI server is available to the client and the UDDI request can be
> >>>unicast to it.
> >>>
> >>>This message sequence is identical the ARP protocol, which allows an
> >>>end-host to determine the MAC address of system with a known IP address.
> >>>
> >>>
> >>The
> >>
> >>
> >>>end-host broadcasts a "who has this IP address?" message to the subnet. If
> >>>
> >>>
> >>a
> >>
> >>
> >>>host with that IP address receives the message, it unicasts an "I have it"
> >>>message, enclosing its MAC address along with it. From then on, all
> >>>communication for that flow can be unicast.
> >>>
> >>>The actual messaging discussed above should be handled outside of SOAP,
> >>>since SOAP is not intended for this kind of functionality. It could be
> >>>easily implemented as with Java using UDP datagram sockets.
> >>>
> >>>This approach handles the potential problem of multiple servers on the
> >>>
> >>>
> >>same
> >>
> >>
> >>>subnet, since the client can just choose one. It also solves the problem
> >>>
> >>>
> >>of
> >>
> >>
> >>>the UDDI server not being architected around a possible broadcast
> >>>
> >>>
> >>scenario,
> >>
> >>
> >>>typically running over TCP.  You won't need SOAP over UDP. It minimizes
> >>>network overhead since only a single broadcast is made, when the client
> >>>comes online.
> >>>
> >>>Regards,
> >>>Mark
> >>>
> >>>
> >>>-----Original Message-----
> >>>From: Eric VERGNAUD [mailto:eric.vergnaud@jlynx.com]
> >>>Sent: Tuesday, May 31, 2005 7:58 AM
> >>>To: soap-user@ws.apache.org
> >>>Subject: Re: SOAP-over-UDP
> >>>
> >>>It depends on what you mean by continuous. a 16 bytes packet every 5
> >>>seconds certainly won't.
> >>>
> >>>If you need a higher reactivity, you can do the following:
> >>> - have the client broadcast a message on a port
> >>> - have the server listen on that port
> >>> - when the server receives a connection, have it broadcast as
> >>>suggested in my previous email
> >>>
> >>>Le 31 mai 05 à 13:17, Francesco Munari a écrit :
> >>>
> >>>
> >>>
> >>>>But there isn't the risk of flooding the LAN with these continuous
> >>>>broadcast messages?
> >>>>
> >>>>2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> >>>>
> >>>>
> >>>>
> >>>>>Have your server regularly broadcast its address on a port.
> >>>>>Have your client act as a server on startup and listen on the same
> >>>>>port.
> >>>>>When the real server broadcasts its address, the client will receive
> >>>>>a connection request.
> >>>>>One you have the server address, ask the server for the information
> >>>>>you need (what you call the context).
> >>>>>
> >>>>>Le 31 mai 05 à 11:41, Francesco Munari a écrit :
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>Hi, Eric.
> >>>>>>
> >>>>>>Ok, but how can I do this? I think I'm a newbie in this kind of
> >>>>>>operation, sorry. How can I look to a port of servers in a LAN
> >>>>>>without
> >>>>>>knowing their IP? And in this way may I keep the context-
> >>>>>>awareness of
> >>>>>>the communication?
> >>>>>>
> >>>>>>thank you for you reply
> >>>>>>
> >>>>>>Cheers
> >>>>>>
> >>>>>>francesco
> >>>>>>
> >>>>>>2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>>I'm afraid that is a very verbose way of doing things. The typical
> >>>>>>>way to do this is determine a port, have your server broadcast
> >>>>>>>its IP
> >>>>>>>address on that port, and your clients look on that port to grab
> >>>>>>>the
> >>>>>>>address.
> >>>>>>>
> >>>>>>>Once the address is found, you can safely interact with the server
> >>>>>>>using SOAP over HTTP.
> >>>>>>>
> >>>>>>>Le 30 mai 05 à 22:19, Francesco Munari a écrit :
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>>I'm alredy using UDDI4j. The idea is that I don't know where the
> >>>>>>>>UDDI
> >>>>>>>>registry can be in the LAN.
> >>>>>>>>I assume that the client knows only two things:
> >>>>>>>>1) the network (of course)
> >>>>>>>>2) a "search key" for a particular tipe of service
> >>>>>>>>
> >>>>>>>>and that's all.
> >>>>>>>>The client should send a broadcast SOAP (or XML-RPC) request
> >>>>>>>>containing the search method to call on the server with the "key"
> >>>>>>>>passed as a parameter and somewhere into the LAN should be a
> >>>>>>>>server
> >>>>>>>>(or more) with its private UDDI registry that should reply with a
> >>>>>>>>response containing the result of the invoking of the method
> >>>>>>>>contained
> >>>>>>>>in the sender's RPC request. The response should contain just the
> >>>>>>>>URL
> >>>>>>>>of the WSDL file related to the service found.
> >>>>>>>>
> >>>>>>>>The need of the broadcast message is that the client don't know
> >>>>>>>>where
> >>>>>>>>(or if) there could be any UDDI registry in the network. With this
> >>>>>>>>framework a client can change network configuration (for example,
> >>>>>>>>going from a floor to another with a Palm in a wireless LAN) and,
> >>>>>>>>after leaving the service provided in the first network, find
> >>>>>>>>anothe
> >>>>>>>>one similar on the other network only by pressing the button
> >>>>>>>>"Refresh"
> >>>>>>>>:)
> >>>>>>>>
> >>>>>>>>Francesco
> >>>>>>>>
> >>>>>>>>2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>The side effect of a broadcast without authentication is
> >>>>>>>>>flooding the
> >>>>>>>>>network with unwanted disovery packets
> >>>>>>>>>I guess this is OK if you're utilising a high datarate
> >>>>>>>>>transmission i guess
> >>>>>>>>>
> >>>>>>>>>In your case your SOAP Request should look like
> >>>>>>>>>
> >>>>>>>>><?xml version="1.0"?>
> >>>>>>>>><SOAP-ENV:Envelope
> >>>>>>>>>xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
> >>>>>>>>> <SOAP-ENV:Body>
> >>>>>>>>>   <getTest>
> >>>>>>>>>     <Test>Test</Test>
> >>>>>>>>>   </getTest>
> >>>>>>>>> </SOAP-ENV:Body>
> >>>>>>>>></SOAP-ENV:Envelope>
> >>>>>>>>>
> >>>>>>>>>If you want to discover a "SOAP based" web-service based on some
> >>>>>>>>>characteristic such as Business Service Category why not use
> >>>>>>>>>UDDI4J?
> >>>>>>>>>Take a look at
> >>>>>>>>>http://sourceforge.net/projects/uddi4j
> >>>>>>>>>
> >>>>>>>>>Martin-
> >>>>>>>>>
> >>>>>>>>>----- Original Message -----
> >>>>>>>>>From: "Francesco Munari" <fm...@gmail.com>
> >>>>>>>>>To: "Martin Gainty" <mg...@hotmail.com>
> >>>>>>>>>Cc: <so...@ws.apache.org>
> >>>>>>>>>Sent: Monday, May 30, 2005 12:44 PM
> >>>>>>>>>Subject: Re: SOAP-over-UDP
> >>>>>>>>>
> >>>>>>>>>Martins,
> >>>>>>>>>
> >>>>>>>>>It is for this reason that I'd like to broadcast a SOAP request
> >>>>>>>>>instead of a simple XML-RPC message. The goal of my framework
> >>>>>>>>>is to
> >>>>>>>>>keep the "context awareness" offered by XML language.
> >>>>>>>>>If you are sure that there is no way to send a broadcast SOAP
> >>>>>>>>>request,
> >>>>>>>>>the last solution, I think, it could be XML-RPC.
> >>>>>>>>>
> >>>>>>>>>So, two questions:
> >>>>>>>>>
> >>>>>>>>>1) are you sure ther's no way to send a broadcast SOAP request?
> >>>>>>>>>2) In order to send a broadcast XML-RPC message I've to cerate a
> >>>>>>>>>StringWriter like this (for example)?
> >>>>>>>>>
> >>>>>>>>><?xml version="1.0" ?>
> >>>>>>>>>  <methodCall>
> >>>>>>>>>      <methodName>getTest</methodName>
> >>>>>>>>>      <params>
> >>>>>>>>>          <param>
> >>>>>>>>>              <value>
> >>>>>>>>>                 <string>Test</string>
> >>>>>>>>>              </value>
> >>>>>>>>>          </param>
> >>>>>>>>>      </params>
> >>>>>>>>></methodCall>
> >>>>>>>>>
> >>>>>>>>>Thank's Martin.
> >>>>>>>>>
> >>>>>>>>>Francesco
> >>>>>>>>>
> >>>>>>>>>2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>>Francesco-
> >>>>>>>>>>You can Broadcast XML-RPC assuming you dont mind flooding your
> >>>>>>>>>>network
> >>>>>>>>>>The question is can you confine your application to using the
> >>>>>>>>>>more basic
> >>>>>>>>>>datatypes supported by XML-RPC
> >>>>>>>>>>vs implementing SOAP features (user-defined datatypes, namespace
> >>>>>>>>>>URI)?
> >>>>>>>>>>Anyone else?
> >>>>>>>>>>Martin-
> >>>>>>>>>>----- Original Message -----
> >>>>>>>>>>From: "Francesco Munari" <fm...@gmail.com>
> >>>>>>>>>>To: "Martin Gainty" <mg...@hotmail.com>
> >>>>>>>>>>Cc: <so...@ws.apache.org>
> >>>>>>>>>>Sent: Monday, May 30, 2005 6:45 AM
> >>>>>>>>>>Subject: Re: SOAP-over-UDP
> >>>>>>>>>>
> >>>>>>>>>>Grazie! :)
> >>>>>>>>>>
> >>>>>>>>>>Could someone tell me if a simple XML-RPC message may be sent
> >>>>>>>>>>to a
> >>>>>>>>>>broadcast address? A simple message with the medthod to be
> >>>>>>>>>>invoked. In
> >>>>>>>>>>this way I should be able to send a broadcast XML-RPC request
> >>>>>>>>>>with the
> >>>>>>>>>>appropriate UDDI inquiry method; a server (containing a UDDI
> >>>>>>>>>>registry)
> >>>>>>>>>>should receive it, invoke that method and send a reply in XML
> >>>>>>>>>>format
> >>>>>>>>>>to the sender.
> >>>>>>>>>>
> >>>>>>>>>>It could be a good idea?
> >>>>>>>>>>
> >>>>>>>>>>thank you again!
> >>>>>>>>>>
> >>>>>>>>>>Francesco
> >>>>>>>>>>
> >>>>>>>>>>2005/5/29, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>>benvenuto!
> >>>>>>>>>>>Martin-
> >>>>>>>>>>>
> >>>>>>>>>>>----- Original Message -----
> >>>>>>>>>>>From: "Francesco Munari" <fm...@gmail.com>
> >>>>>>>>>>>To: <so...@ws.apache.org>
> >>>>>>>>>>>Sent: Saturday, May 28, 2005 5:41 PM
> >>>>>>>>>>>Subject: Re: SOAP-over-UDP
> >>>>>>>>>>>
> >>>>>>>>>>>Thank you all for your very quick reply!
> >>>>>>>>>>>
> >>>>>>>>>>>I've heard about this SOAP-over-UDP spec
> >>>>>>>>>>>(http://msdn.microsoft.com/library/default.asp?url=/library/en-
> >>>>>>>>>>>us/dnglobspec/html/soap-over-udp.asp).
> >>>>>>>>>>>So, Martin, you say that it could not be a solution? Perhaps it
> >>>>>>>>>>>should
> >>>>>>>>>>>be an idea using Mark's solution (with DNS).
> >>>>>>>>>>>
> >>>>>>>>>>>I thought to resolve the problem putting a SOAP envelope into
> >>>>>>>>>>>a UDP
> >>>>>>>>>>>datagram, send the datagram to a broadcast ip and that's all
> >>>>>>>>>>>folks...but I don't know how and, as you, Martins, wrote, I
> >>>>>>>>>>>was not
> >>>>>>>>>>>able to find anybody who has implemented this yet.
> >>>>>>>>>>>
> >>>>>>>>>>>Can you suggest me another solutions?
> >>>>>>>>>>>
> >>>>>>>>>>>Thank you very much again!!
> >>>>>>>>>>>
> >>>>>>>>>>>Cheers,
> >>>>>>>>>>>
> >>>>>>>>>>>Francesco
> >>>>>>>>>>>
> >>>>>>>>>>>2005/5/28, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>>Mark/Francesco
> >>>>>>>>>>>>I would caution on use of UDP as the SOAP Portocols (e.g.
> >>>>>>>>>>>>HTTP)
> >>>>>>>>>>>>is/are
> >>>>>>>>>>>>decidely not UDP but instead a connection-oriented TCP
> >>>>>>>>>>>>To date I have not seen UDP Ports used for SOAP transmission
> >>>>>>>>>>>>although
> >>>>>>>>>>>>since
> >>>>>>>>>>>>there is no requirement for verifiable connection and or
> >>>>>>>>>>>>handshakes
> >>>>>>>>>>>>I would venture to guess UDP is available as the transmission
> >>>>>>>>>>>>medium
> >>>>>>>>>>>>but
> >>>>>>>>>>>>I
> >>>>>>>>>>>>have not seen any UDP Ports used for SOAP thus far
> >>>>>>>>>>>>Anyone else ???
> >>>>>>>>>>>>Ciao-
> >>>>>>>>>>>>Martin-
> >>>>>>>>>>>>
> >>>>>>>>>>>>----- Original Message -----
> >>>>>>>>>>>>From: "mdonaghue" <md...@mZeal.com>
> >>>>>>>>>>>>To: <so...@ws.apache.org>; "'Francesco Munari'"
> >>>>>>>>>>>><fm...@gmail.com>
> >>>>>>>>>>>>Sent: Saturday, May 28, 2005 3:14 PM
> >>>>>>>>>>>>Subject: RE: SOAP-over-UDP
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>>Hi Franceso,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>I've worked briefly with the apache soap api, not that
> >>>>>>>>>>>>>familiar with
> >>>>>>>>>>>>>it.
> >>>>>>>>>>>>>Typically a soap message is sent to a single soap server
> >>>>>>>>>>>>>address,
> >>>>>>>>>>>>>which
> >>>>>>>>>>>>>is
> >>>>>>>>>>>>>specified by a url or an ip address, as well as a port. So
> >>>>>>>>>>>>>your
> >>>>>>>>>>>>>server
> >>>>>>>>>>>>>address on the LAN might be something like
> >>>>>>>>>>>>>192.168.100.2:8080.
> >>>>>>>>>>>>>(I'm
> >>>>>>>>>>>>>not
> >>>>>>>>>>>>>sure
> >>>>>>>>>>>>>what the port is for UDDI, so just using standard TomCat Web
> >>>>>>>>>>>>>Server
> >>>>>>>>>>>>>port).
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>IIRC, you there's a point at which you specify that
> >>>>>>>>>>>>>address in
> >>>>>>>>>>>>>the
> >>>>>>>>>>>>>setup
> >>>>>>>>>>>>>for
> >>>>>>>>>>>>>your soap call. One thing you could try is to change the
> >>>>>>>>>>>>>address to
> >>>>>>>>>>>>>the
> >>>>>>>>>>>>>subnet's broadcast address, 255.255.255.0:8080, assuming a
> >>>>>>>>>>>>>class c
> >>>>>>>>>>>>>network
> >>>>>>>>>>>>>where the first 3 quads specify the network portion of the
> >>>>>>>>>>>>>submask.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>However, this may not a scalable solution, since the
> >>>>>>>>>>>>>broadcast
> >>>>>>>>>>>>>wouldn't
> >>>>>>>>>>>>>carry beyond the physical subnet on which you are located.
> >>>>>>>>>>>>>Using
> >>>>>>>>>>>>>UDDI
> >>>>>>>>>>>>>to
> >>>>>>>>>>>>>discover services is one thing, but dynamically discovering
> >>>>>>>>>>>>>UDDI
> >>>>>>>>>>>>>servers
> >>>>>>>>>>>>>is
> >>>>>>>>>>>>>obviously a different problem. It also doesn't address the
> >>>>>>>>>>>>>issue of
> >>>>>>>>>>>>>more
> >>>>>>>>>>>>>than one UDDI server running on the same subnet.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>A more generalized solution might involve a distributed ip
> >>>>>>>>>>>>>lookup
> >>>>>>>>>>>>>service,
> >>>>>>>>>>>>>namely DNS. For example when DNS looks up the ip address of
> >>>>>>>>>>>>>Yahoo.com,
> >>>>>>>>>>>>>at
> >>>>>>>>>>>>>some point the actual ip address that serves the request is
> >>>>>>>>>>>>>dynamically
> >>>>>>>>>>>>>assigned to one of dozens (or hundreds) of servers based on a
> >>>>>>>>>>>>>scheduling
> >>>>>>>>>>>>>scheme.  You could locally enable DNS lookup, and create an
> >>>>>>>>>>>>>entry
> >>>>>>>>>>>>>based
> >>>>>>>>>>>>>on
> >>>>>>>>>>>>>some url like "myuddpsever.com", and give it your local UDDI
> >>>>>>>>>>>>>server's
> >>>>>>>>>>>>>ip
> >>>>>>>>>>>>>address, and the rest would be handled within the network.
> >>>>>>>>>>>>>The
> >>>>>>>>>>>>>advantage
> >>>>>>>>>>>>>to
> >>>>>>>>>>>>>this is your UDDP server could be anywhere and your message
> >>>>>>>>>>>>>would
> >>>>>>>>>>>>>still
> >>>>>>>>>>>>>reach it.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>hth,
> >>>>>>>>>>>>>Mark
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>-----Original Message-----
> >>>>>>>>>>>>>From: Francesco Munari [mailto:fmunari@gmail.com]
> >>>>>>>>>>>>>Sent: Saturday, May 28, 2005 4:58 AM
> >>>>>>>>>>>>>To: soap-user@ws.apache.org
> >>>>>>>>>>>>>Subject: SOAP-over-UDP
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Hi, I'm desperate!
> >>>>>>>>>>>>>I'm trying to find out how to send a broadcast SOAP request
> >>>>>>>>>>>>>to a
> >>>>>>>>>>>>>UDDI
> >>>>>>>>>>>>>registry in a LAN, but I'm not able to do this. I've looked
> >>>>>>>>>>>>>for some
> >>>>>>>>>>>>>example but I've not found anithing.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Please...could anybody help me?
> >>>>>>>>>>>>>I'm making a thesis for the University of Florence (Italy)
> >>>>>>>>>>>>>and I
> >>>>>>>>>>>>>have
> >>>>>>>>>>>>>to discovery dinamically web service published in some UDDI
> >>>>>>>>>>>>>registry
> >>>>>>>>>>>>>somewhere in a LAN. I have to send a broadcast SOAP
> >>>>>>>>>>>>>request to
> >>>>>>>>>>>>>these
> >>>>>>>>>>>>>UDDI registry (as I wrote few lines above).
> >>>>>>>>>>>>>Of course I'm using Java language.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Thank you very much for your help...I'm in a great
> >>>>>>>>>>>>>hurry...thanks
> >>>>>>>>>>>>>very
> >>>>>>>>>>>>>very much to everyone could help me!
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Best reguards,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Francesco
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>
> >>>
> >>
> >>
> >
> >
> >
> >
> >
>

Re: SOAP-over-UDP

Posted by Rodrigo Ruiz <rr...@gridsystems.com>.
Great thread, guys!

Just my grain of salt :-)

With respect to the UDP vs. TCP question: UDP is not a reliable 
protocol. You cannot send a message and be sure it will reach the other 
side at all. And if the message is larger than the packet size, it can 
be received in an altered order. This makes UDP a hard choice for SOAP, 
because it would require a lot of code for implementing the packet 
reordering and retransmition.

Related to this, it is technically possible to have URLs larger than a 
single packet size, so I would advice you to send the UDDI request via TCP.

Another place I do not agree:
Publishing equivalent services in more than one UDDI registries is not 
necessarily an error. If you are searching a service just by a key word, 
more than one service could be valid, even in the same registry. You can 
also have services that can be down at some hours in a day in some 
computers, so they are replicated among different servers.

You could complicate this schema just a little bit, and collect all 
matching services in your client as a List. I even would firstly collect 
all UDDI registries in a list and query all of them. This way, if you 
just need one, you can use any of the items in the list (the first, for 
example), and if it is down, you can try the next one in the list.

Later, you could extend the client and make it maintain a history of 
recently failed services, for faster execution; or let the user select 
one of the found services through a GUI, etc.

Hope this helps you,
Rodrigo Ruiz


Francesco Munari wrote:

>Mark, 
>
>  
>
>>Yes, that's seems to be great idea, I would even say elegant.
>>
>>    
>>
>
>...and it seems to work very very well!! ;)
>
>It all works! It seems very efficient.
>Saving the URLs send as a reply by the servers in a hash eliminates
>also possible duplicates because the add(Object o), if it finds an
>equal Object inside the hash, replace the old one with the new one.
>So, if erroneously some service was published into more tha one UDDI
>registry present in the LAN, the result hash, at the end of the
>"request round", will have only one WSDL URL representing that
>service.
>
>Wow! It has been very cool solving my problem with you all! A parte of
>my thesis is your merit!
>
>But now the very last question (^_^): why (apart the difficult that I
>had in implementing it) the use of SOAP or XML-RPC broadcast message
>over UDP are so unsuitable?
>
>Thank you very much!
>
>Francesco
>2005/5/31, mdonaghue <md...@mzeal.com>:
>  
>
>>Francesco,
>>
>>
>>    
>>
>>>In this way the
>>>proxy receives the message, ask its UDDI registry for that service and
>>>reply with a byte[] containing the URL of the service's WSDL file. Uh?
>>>      
>>>
>>Yes, that's seems to be great idea, I would even say elegant.
>>
>>Regards,
>>Mark
>>
>>
>>-----Original Message-----
>>From: Francesco Munari [mailto:fmunari@gmail.com]
>>Sent: Tuesday, May 31, 2005 4:54 PM
>>To: soap-user@ws.apache.org
>>Subject: Re: SOAP-over-UDP
>>
>>Great Mark!
>>
>>You have explained your point of view as well as you could.
>>So the point is to give a proxy to every server that has an UDDI
>>registry. This proxy, written in Java, waits for UDP datagrams. Maybe
>>the broadcast UDP message sent by the client could also contains the
>>key of the service that the client is searching for. In this way the
>>proxy receives the message, ask its UDDI registry for that service and
>>reply with a byte[] containing the URL of the service's WSDL file. Uh?
>>
>>Should be a good idea instead of retreiving the IP address and having
>>also to ask the registry for the service?
>>
>>Thank's again to you all!! You're help me more than you think! Thank's.
>>
>>Cheers
>>
>>Francesco
>>
>>2005/5/31, mdonaghue <md...@mzeal.com>:
>>    
>>
>>>Hi Francesco,
>>>
>>>My original suggestion was to use DNS to identify the URL of the UDDI
>>>      
>>>
>>server
>>    
>>
>>>in the local subnet. The advantage to this is that no broadcast message is
>>>needed and it's using a common solution. The disadvantage is it requires
>>>      
>>>
>>an
>>    
>>
>>>entry in the DNS server database, some knowledge of how to administrate
>>>      
>>>
>>it,
>>    
>>
>>>and isn't automated.
>>>
>>>So, I tend to agree with Eric's solution (except for the last step which I
>>>believe should be unicast, not broadcast).  The basic idea is to have the
>>>client broadcast a "who has a UDDI Server" message when it comes online.
>>>      
>>>
>>XML
>>    
>>
>>>will be ok, because since the broadcast only happens once, verbosity is
>>>      
>>>
>>not
>>    
>>
>>>an issue. However, a simple text message would also do the trick and
>>>eliminates the need to parse XML. In either case, a simple UDP server
>>>process listening on over a known port on the UDDI server machine will
>>>respond, identifying itself to the client. At that point the IP address of
>>>the UDDI server is available to the client and the UDDI request can be
>>>unicast to it.
>>>
>>>This message sequence is identical the ARP protocol, which allows an
>>>end-host to determine the MAC address of system with a known IP address.
>>>      
>>>
>>The
>>    
>>
>>>end-host broadcasts a "who has this IP address?" message to the subnet. If
>>>      
>>>
>>a
>>    
>>
>>>host with that IP address receives the message, it unicasts an "I have it"
>>>message, enclosing its MAC address along with it. From then on, all
>>>communication for that flow can be unicast.
>>>
>>>The actual messaging discussed above should be handled outside of SOAP,
>>>since SOAP is not intended for this kind of functionality. It could be
>>>easily implemented as with Java using UDP datagram sockets.
>>>
>>>This approach handles the potential problem of multiple servers on the
>>>      
>>>
>>same
>>    
>>
>>>subnet, since the client can just choose one. It also solves the problem
>>>      
>>>
>>of
>>    
>>
>>>the UDDI server not being architected around a possible broadcast
>>>      
>>>
>>scenario,
>>    
>>
>>>typically running over TCP.  You won't need SOAP over UDP. It minimizes
>>>network overhead since only a single broadcast is made, when the client
>>>comes online.
>>>
>>>Regards,
>>>Mark
>>>
>>>
>>>-----Original Message-----
>>>From: Eric VERGNAUD [mailto:eric.vergnaud@jlynx.com]
>>>Sent: Tuesday, May 31, 2005 7:58 AM
>>>To: soap-user@ws.apache.org
>>>Subject: Re: SOAP-over-UDP
>>>
>>>It depends on what you mean by continuous. a 16 bytes packet every 5
>>>seconds certainly won't.
>>>
>>>If you need a higher reactivity, you can do the following:
>>> - have the client broadcast a message on a port
>>> - have the server listen on that port
>>> - when the server receives a connection, have it broadcast as
>>>suggested in my previous email
>>>
>>>Le 31 mai 05 à 13:17, Francesco Munari a écrit :
>>>
>>>      
>>>
>>>>But there isn't the risk of flooding the LAN with these continuous
>>>>broadcast messages?
>>>>
>>>>2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
>>>>
>>>>        
>>>>
>>>>>Have your server regularly broadcast its address on a port.
>>>>>Have your client act as a server on startup and listen on the same
>>>>>port.
>>>>>When the real server broadcasts its address, the client will receive
>>>>>a connection request.
>>>>>One you have the server address, ask the server for the information
>>>>>you need (what you call the context).
>>>>>
>>>>>Le 31 mai 05 à 11:41, Francesco Munari a écrit :
>>>>>
>>>>>
>>>>>          
>>>>>
>>>>>>Hi, Eric.
>>>>>>
>>>>>>Ok, but how can I do this? I think I'm a newbie in this kind of
>>>>>>operation, sorry. How can I look to a port of servers in a LAN
>>>>>>without
>>>>>>knowing their IP? And in this way may I keep the context-
>>>>>>awareness of
>>>>>>the communication?
>>>>>>
>>>>>>thank you for you reply
>>>>>>
>>>>>>Cheers
>>>>>>
>>>>>>francesco
>>>>>>
>>>>>>2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
>>>>>>
>>>>>>
>>>>>>            
>>>>>>
>>>>>>>I'm afraid that is a very verbose way of doing things. The typical
>>>>>>>way to do this is determine a port, have your server broadcast
>>>>>>>its IP
>>>>>>>address on that port, and your clients look on that port to grab
>>>>>>>the
>>>>>>>address.
>>>>>>>
>>>>>>>Once the address is found, you can safely interact with the server
>>>>>>>using SOAP over HTTP.
>>>>>>>
>>>>>>>Le 30 mai 05 à 22:19, Francesco Munari a écrit :
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>              
>>>>>>>
>>>>>>>>I'm alredy using UDDI4j. The idea is that I don't know where the
>>>>>>>>UDDI
>>>>>>>>registry can be in the LAN.
>>>>>>>>I assume that the client knows only two things:
>>>>>>>>1) the network (of course)
>>>>>>>>2) a "search key" for a particular tipe of service
>>>>>>>>
>>>>>>>>and that's all.
>>>>>>>>The client should send a broadcast SOAP (or XML-RPC) request
>>>>>>>>containing the search method to call on the server with the "key"
>>>>>>>>passed as a parameter and somewhere into the LAN should be a
>>>>>>>>server
>>>>>>>>(or more) with its private UDDI registry that should reply with a
>>>>>>>>response containing the result of the invoking of the method
>>>>>>>>contained
>>>>>>>>in the sender's RPC request. The response should contain just the
>>>>>>>>URL
>>>>>>>>of the WSDL file related to the service found.
>>>>>>>>
>>>>>>>>The need of the broadcast message is that the client don't know
>>>>>>>>where
>>>>>>>>(or if) there could be any UDDI registry in the network. With this
>>>>>>>>framework a client can change network configuration (for example,
>>>>>>>>going from a floor to another with a Palm in a wireless LAN) and,
>>>>>>>>after leaving the service provided in the first network, find
>>>>>>>>anothe
>>>>>>>>one similar on the other network only by pressing the button
>>>>>>>>"Refresh"
>>>>>>>>:)
>>>>>>>>
>>>>>>>>Francesco
>>>>>>>>
>>>>>>>>2005/5/30, Martin Gainty <mg...@hotmail.com>:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                
>>>>>>>>
>>>>>>>>>The side effect of a broadcast without authentication is
>>>>>>>>>flooding the
>>>>>>>>>network with unwanted disovery packets
>>>>>>>>>I guess this is OK if you're utilising a high datarate
>>>>>>>>>transmission i guess
>>>>>>>>>
>>>>>>>>>In your case your SOAP Request should look like
>>>>>>>>>
>>>>>>>>><?xml version="1.0"?>
>>>>>>>>><SOAP-ENV:Envelope
>>>>>>>>>xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
>>>>>>>>> <SOAP-ENV:Body>
>>>>>>>>>   <getTest>
>>>>>>>>>     <Test>Test</Test>
>>>>>>>>>   </getTest>
>>>>>>>>> </SOAP-ENV:Body>
>>>>>>>>></SOAP-ENV:Envelope>
>>>>>>>>>
>>>>>>>>>If you want to discover a "SOAP based" web-service based on some
>>>>>>>>>characteristic such as Business Service Category why not use
>>>>>>>>>UDDI4J?
>>>>>>>>>Take a look at
>>>>>>>>>http://sourceforge.net/projects/uddi4j
>>>>>>>>>
>>>>>>>>>Martin-
>>>>>>>>>
>>>>>>>>>----- Original Message -----
>>>>>>>>>From: "Francesco Munari" <fm...@gmail.com>
>>>>>>>>>To: "Martin Gainty" <mg...@hotmail.com>
>>>>>>>>>Cc: <so...@ws.apache.org>
>>>>>>>>>Sent: Monday, May 30, 2005 12:44 PM
>>>>>>>>>Subject: Re: SOAP-over-UDP
>>>>>>>>>
>>>>>>>>>Martins,
>>>>>>>>>
>>>>>>>>>It is for this reason that I'd like to broadcast a SOAP request
>>>>>>>>>instead of a simple XML-RPC message. The goal of my framework
>>>>>>>>>is to
>>>>>>>>>keep the "context awareness" offered by XML language.
>>>>>>>>>If you are sure that there is no way to send a broadcast SOAP
>>>>>>>>>request,
>>>>>>>>>the last solution, I think, it could be XML-RPC.
>>>>>>>>>
>>>>>>>>>So, two questions:
>>>>>>>>>
>>>>>>>>>1) are you sure ther's no way to send a broadcast SOAP request?
>>>>>>>>>2) In order to send a broadcast XML-RPC message I've to cerate a
>>>>>>>>>StringWriter like this (for example)?
>>>>>>>>>
>>>>>>>>><?xml version="1.0" ?>
>>>>>>>>>  <methodCall>
>>>>>>>>>      <methodName>getTest</methodName>
>>>>>>>>>      <params>
>>>>>>>>>          <param>
>>>>>>>>>              <value>
>>>>>>>>>                 <string>Test</string>
>>>>>>>>>              </value>
>>>>>>>>>          </param>
>>>>>>>>>      </params>
>>>>>>>>></methodCall>
>>>>>>>>>
>>>>>>>>>Thank's Martin.
>>>>>>>>>
>>>>>>>>>Francesco
>>>>>>>>>
>>>>>>>>>2005/5/30, Martin Gainty <mg...@hotmail.com>:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                  
>>>>>>>>>
>>>>>>>>>>Francesco-
>>>>>>>>>>You can Broadcast XML-RPC assuming you dont mind flooding your
>>>>>>>>>>network
>>>>>>>>>>The question is can you confine your application to using the
>>>>>>>>>>more basic
>>>>>>>>>>datatypes supported by XML-RPC
>>>>>>>>>>vs implementing SOAP features (user-defined datatypes, namespace
>>>>>>>>>>URI)?
>>>>>>>>>>Anyone else?
>>>>>>>>>>Martin-
>>>>>>>>>>----- Original Message -----
>>>>>>>>>>From: "Francesco Munari" <fm...@gmail.com>
>>>>>>>>>>To: "Martin Gainty" <mg...@hotmail.com>
>>>>>>>>>>Cc: <so...@ws.apache.org>
>>>>>>>>>>Sent: Monday, May 30, 2005 6:45 AM
>>>>>>>>>>Subject: Re: SOAP-over-UDP
>>>>>>>>>>
>>>>>>>>>>Grazie! :)
>>>>>>>>>>
>>>>>>>>>>Could someone tell me if a simple XML-RPC message may be sent
>>>>>>>>>>to a
>>>>>>>>>>broadcast address? A simple message with the medthod to be
>>>>>>>>>>invoked. In
>>>>>>>>>>this way I should be able to send a broadcast XML-RPC request
>>>>>>>>>>with the
>>>>>>>>>>appropriate UDDI inquiry method; a server (containing a UDDI
>>>>>>>>>>registry)
>>>>>>>>>>should receive it, invoke that method and send a reply in XML
>>>>>>>>>>format
>>>>>>>>>>to the sender.
>>>>>>>>>>
>>>>>>>>>>It could be a good idea?
>>>>>>>>>>
>>>>>>>>>>thank you again!
>>>>>>>>>>
>>>>>>>>>>Francesco
>>>>>>>>>>
>>>>>>>>>>2005/5/29, Martin Gainty <mg...@hotmail.com>:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                    
>>>>>>>>>>
>>>>>>>>>>>benvenuto!
>>>>>>>>>>>Martin-
>>>>>>>>>>>
>>>>>>>>>>>----- Original Message -----
>>>>>>>>>>>From: "Francesco Munari" <fm...@gmail.com>
>>>>>>>>>>>To: <so...@ws.apache.org>
>>>>>>>>>>>Sent: Saturday, May 28, 2005 5:41 PM
>>>>>>>>>>>Subject: Re: SOAP-over-UDP
>>>>>>>>>>>
>>>>>>>>>>>Thank you all for your very quick reply!
>>>>>>>>>>>
>>>>>>>>>>>I've heard about this SOAP-over-UDP spec
>>>>>>>>>>>(http://msdn.microsoft.com/library/default.asp?url=/library/en-
>>>>>>>>>>>us/dnglobspec/html/soap-over-udp.asp).
>>>>>>>>>>>So, Martin, you say that it could not be a solution? Perhaps it
>>>>>>>>>>>should
>>>>>>>>>>>be an idea using Mark's solution (with DNS).
>>>>>>>>>>>
>>>>>>>>>>>I thought to resolve the problem putting a SOAP envelope into
>>>>>>>>>>>a UDP
>>>>>>>>>>>datagram, send the datagram to a broadcast ip and that's all
>>>>>>>>>>>folks...but I don't know how and, as you, Martins, wrote, I
>>>>>>>>>>>was not
>>>>>>>>>>>able to find anybody who has implemented this yet.
>>>>>>>>>>>
>>>>>>>>>>>Can you suggest me another solutions?
>>>>>>>>>>>
>>>>>>>>>>>Thank you very much again!!
>>>>>>>>>>>
>>>>>>>>>>>Cheers,
>>>>>>>>>>>
>>>>>>>>>>>Francesco
>>>>>>>>>>>
>>>>>>>>>>>2005/5/28, Martin Gainty <mg...@hotmail.com>:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                      
>>>>>>>>>>>
>>>>>>>>>>>>Mark/Francesco
>>>>>>>>>>>>I would caution on use of UDP as the SOAP Portocols (e.g.
>>>>>>>>>>>>HTTP)
>>>>>>>>>>>>is/are
>>>>>>>>>>>>decidely not UDP but instead a connection-oriented TCP
>>>>>>>>>>>>To date I have not seen UDP Ports used for SOAP transmission
>>>>>>>>>>>>although
>>>>>>>>>>>>since
>>>>>>>>>>>>there is no requirement for verifiable connection and or
>>>>>>>>>>>>handshakes
>>>>>>>>>>>>I would venture to guess UDP is available as the transmission
>>>>>>>>>>>>medium
>>>>>>>>>>>>but
>>>>>>>>>>>>I
>>>>>>>>>>>>have not seen any UDP Ports used for SOAP thus far
>>>>>>>>>>>>Anyone else ???
>>>>>>>>>>>>Ciao-
>>>>>>>>>>>>Martin-
>>>>>>>>>>>>
>>>>>>>>>>>>----- Original Message -----
>>>>>>>>>>>>From: "mdonaghue" <md...@mZeal.com>
>>>>>>>>>>>>To: <so...@ws.apache.org>; "'Francesco Munari'"
>>>>>>>>>>>><fm...@gmail.com>
>>>>>>>>>>>>Sent: Saturday, May 28, 2005 3:14 PM
>>>>>>>>>>>>Subject: RE: SOAP-over-UDP
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                        
>>>>>>>>>>>>
>>>>>>>>>>>>>Hi Franceso,
>>>>>>>>>>>>>
>>>>>>>>>>>>>I've worked briefly with the apache soap api, not that
>>>>>>>>>>>>>familiar with
>>>>>>>>>>>>>it.
>>>>>>>>>>>>>Typically a soap message is sent to a single soap server
>>>>>>>>>>>>>address,
>>>>>>>>>>>>>which
>>>>>>>>>>>>>is
>>>>>>>>>>>>>specified by a url or an ip address, as well as a port. So
>>>>>>>>>>>>>your
>>>>>>>>>>>>>server
>>>>>>>>>>>>>address on the LAN might be something like
>>>>>>>>>>>>>192.168.100.2:8080.
>>>>>>>>>>>>>(I'm
>>>>>>>>>>>>>not
>>>>>>>>>>>>>sure
>>>>>>>>>>>>>what the port is for UDDI, so just using standard TomCat Web
>>>>>>>>>>>>>Server
>>>>>>>>>>>>>port).
>>>>>>>>>>>>>
>>>>>>>>>>>>>IIRC, you there's a point at which you specify that
>>>>>>>>>>>>>address in
>>>>>>>>>>>>>the
>>>>>>>>>>>>>setup
>>>>>>>>>>>>>for
>>>>>>>>>>>>>your soap call. One thing you could try is to change the
>>>>>>>>>>>>>address to
>>>>>>>>>>>>>the
>>>>>>>>>>>>>subnet's broadcast address, 255.255.255.0:8080, assuming a
>>>>>>>>>>>>>class c
>>>>>>>>>>>>>network
>>>>>>>>>>>>>where the first 3 quads specify the network portion of the
>>>>>>>>>>>>>submask.
>>>>>>>>>>>>>
>>>>>>>>>>>>>However, this may not a scalable solution, since the
>>>>>>>>>>>>>broadcast
>>>>>>>>>>>>>wouldn't
>>>>>>>>>>>>>carry beyond the physical subnet on which you are located.
>>>>>>>>>>>>>Using
>>>>>>>>>>>>>UDDI
>>>>>>>>>>>>>to
>>>>>>>>>>>>>discover services is one thing, but dynamically discovering
>>>>>>>>>>>>>UDDI
>>>>>>>>>>>>>servers
>>>>>>>>>>>>>is
>>>>>>>>>>>>>obviously a different problem. It also doesn't address the
>>>>>>>>>>>>>issue of
>>>>>>>>>>>>>more
>>>>>>>>>>>>>than one UDDI server running on the same subnet.
>>>>>>>>>>>>>
>>>>>>>>>>>>>A more generalized solution might involve a distributed ip
>>>>>>>>>>>>>lookup
>>>>>>>>>>>>>service,
>>>>>>>>>>>>>namely DNS. For example when DNS looks up the ip address of
>>>>>>>>>>>>>Yahoo.com,
>>>>>>>>>>>>>at
>>>>>>>>>>>>>some point the actual ip address that serves the request is
>>>>>>>>>>>>>dynamically
>>>>>>>>>>>>>assigned to one of dozens (or hundreds) of servers based on a
>>>>>>>>>>>>>scheduling
>>>>>>>>>>>>>scheme.  You could locally enable DNS lookup, and create an
>>>>>>>>>>>>>entry
>>>>>>>>>>>>>based
>>>>>>>>>>>>>on
>>>>>>>>>>>>>some url like "myuddpsever.com", and give it your local UDDI
>>>>>>>>>>>>>server's
>>>>>>>>>>>>>ip
>>>>>>>>>>>>>address, and the rest would be handled within the network.
>>>>>>>>>>>>>The
>>>>>>>>>>>>>advantage
>>>>>>>>>>>>>to
>>>>>>>>>>>>>this is your UDDP server could be anywhere and your message
>>>>>>>>>>>>>would
>>>>>>>>>>>>>still
>>>>>>>>>>>>>reach it.
>>>>>>>>>>>>>
>>>>>>>>>>>>>hth,
>>>>>>>>>>>>>Mark
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>-----Original Message-----
>>>>>>>>>>>>>From: Francesco Munari [mailto:fmunari@gmail.com]
>>>>>>>>>>>>>Sent: Saturday, May 28, 2005 4:58 AM
>>>>>>>>>>>>>To: soap-user@ws.apache.org
>>>>>>>>>>>>>Subject: SOAP-over-UDP
>>>>>>>>>>>>>
>>>>>>>>>>>>>Hi, I'm desperate!
>>>>>>>>>>>>>I'm trying to find out how to send a broadcast SOAP request
>>>>>>>>>>>>>to a
>>>>>>>>>>>>>UDDI
>>>>>>>>>>>>>registry in a LAN, but I'm not able to do this. I've looked
>>>>>>>>>>>>>for some
>>>>>>>>>>>>>example but I've not found anithing.
>>>>>>>>>>>>>
>>>>>>>>>>>>>Please...could anybody help me?
>>>>>>>>>>>>>I'm making a thesis for the University of Florence (Italy)
>>>>>>>>>>>>>and I
>>>>>>>>>>>>>have
>>>>>>>>>>>>>to discovery dinamically web service published in some UDDI
>>>>>>>>>>>>>registry
>>>>>>>>>>>>>somewhere in a LAN. I have to send a broadcast SOAP
>>>>>>>>>>>>>request to
>>>>>>>>>>>>>these
>>>>>>>>>>>>>UDDI registry (as I wrote few lines above).
>>>>>>>>>>>>>Of course I'm using Java language.
>>>>>>>>>>>>>
>>>>>>>>>>>>>Thank you very much for your help...I'm in a great
>>>>>>>>>>>>>hurry...thanks
>>>>>>>>>>>>>very
>>>>>>>>>>>>>very much to everyone could help me!
>>>>>>>>>>>>>
>>>>>>>>>>>>>Best reguards,
>>>>>>>>>>>>>
>>>>>>>>>>>>>Francesco
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                          
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                        
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                      
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                    
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                  
>>>>>>>>>
>>>>>>>>
>>>>>>>>                
>>>>>>>>
>>>>>>>
>>>>>>>              
>>>>>>>
>>>>>>            
>>>>>>
>>>>>          
>>>>>
>>>      
>>>
>>    
>>
>
>
>
>  
>

RE: SOAP-over-UDP

Posted by mdonaghue <md...@mZeal.com>.
Francesco,

As far as caching duplicate entries, how can you be sure the most recently
published service isn't the erroneous one? Or as Rordrigo mentioned, a
different service that is validly named happens to have the same name? 

If you want to address these issues, you might have to go back to just
querying the UDDI servers for attributes to see which one most closely
matches the desired service.  Personally, I think that would be overkill for
the nature of your project, which is more of a prototype for thesis than an
industrial strength solution.  Since you have control over the UDDI server
(it's in your subnet(s), not IBM's) you can just say that it's a system
requirement is that service name is unique. 

Btw, ARP also caches the results of a request. When it needs a MAC address,
it first checks the cache to see if the entry exists. If not, it makes the
broadcast.  This saves a lot of network overhead at the risk of outdated
information.  To counter that, the ARP cache is deleted every x seconds, I
forget the exact number.

Regards,
Mark



-----Original Message-----
From: Francesco Munari [mailto:fmunari@gmail.com] 
Sent: Wednesday, June 01, 2005 4:49 AM
To: mdonaghue
Cc: soap-user@ws.apache.org
Subject: Re: SOAP-over-UDP

Mark, 

> 
> Yes, that's seems to be great idea, I would even say elegant.
> 

...and it seems to work very very well!! ;)

It all works! It seems very efficient.
Saving the URLs send as a reply by the servers in a hash eliminates
also possible duplicates because the add(Object o), if it finds an
equal Object inside the hash, replace the old one with the new one.
So, if erroneously some service was published into more tha one UDDI
registry present in the LAN, the result hash, at the end of the
"request round", will have only one WSDL URL representing that
service.

Wow! It has been very cool solving my problem with you all! A parte of
my thesis is your merit!

But now the very last question (^_^): why (apart the difficult that I
had in implementing it) the use of SOAP or XML-RPC broadcast message
over UDP are so unsuitable?

Thank you very much!

Francesco
2005/5/31, mdonaghue <md...@mzeal.com>:
> Francesco,
> 
> 
> >In this way the
> >proxy receives the message, ask its UDDI registry for that service and
> >reply with a byte[] containing the URL of the service's WSDL file. Uh?
> 
> Yes, that's seems to be great idea, I would even say elegant.
> 
> Regards,
> Mark
> 
> 
> -----Original Message-----
> From: Francesco Munari [mailto:fmunari@gmail.com]
> Sent: Tuesday, May 31, 2005 4:54 PM
> To: soap-user@ws.apache.org
> Subject: Re: SOAP-over-UDP
> 
> Great Mark!
> 
> You have explained your point of view as well as you could.
> So the point is to give a proxy to every server that has an UDDI
> registry. This proxy, written in Java, waits for UDP datagrams. Maybe
> the broadcast UDP message sent by the client could also contains the
> key of the service that the client is searching for. In this way the
> proxy receives the message, ask its UDDI registry for that service and
> reply with a byte[] containing the URL of the service's WSDL file. Uh?
> 
> Should be a good idea instead of retreiving the IP address and having
> also to ask the registry for the service?
> 
> Thank's again to you all!! You're help me more than you think! Thank's.
> 
> Cheers
> 
> Francesco
> 
> 2005/5/31, mdonaghue <md...@mzeal.com>:
> > Hi Francesco,
> >
> > My original suggestion was to use DNS to identify the URL of the UDDI
> server
> > in the local subnet. The advantage to this is that no broadcast message
is
> > needed and it's using a common solution. The disadvantage is it requires
> an
> > entry in the DNS server database, some knowledge of how to administrate
> it,
> > and isn't automated.
> >
> > So, I tend to agree with Eric's solution (except for the last step which
I
> > believe should be unicast, not broadcast).  The basic idea is to have
the
> > client broadcast a "who has a UDDI Server" message when it comes
online..
> XML
> > will be ok, because since the broadcast only happens once, verbosity is
> not
> > an issue. However, a simple text message would also do the trick and
> > eliminates the need to parse XML. In either case, a simple UDP server
> > process listening on over a known port on the UDDI server machine will
> > respond, identifying itself to the client. At that point the IP address
of
> > the UDDI server is available to the client and the UDDI request can be
> > unicast to it.
> >
> > This message sequence is identical the ARP protocol, which allows an
> > end-host to determine the MAC address of system with a known IP
address..
> The
> > end-host broadcasts a "who has this IP address?" message to the subnet.
If
> a
> > host with that IP address receives the message, it unicasts an "I have
it"
> > message, enclosing its MAC address along with it. From then on, all
> > communication for that flow can be unicast.
> >
> > The actual messaging discussed above should be handled outside of SOAP,
> > since SOAP is not intended for this kind of functionality. It could be
> > easily implemented as with Java using UDP datagram sockets.
> >
> > This approach handles the potential problem of multiple servers on the
> same
> > subnet, since the client can just choose one. It also solves the problem
> of
> > the UDDI server not being architected around a possible broadcast
> scenario,
> > typically running over TCP.  You won't need SOAP over UDP. It minimizes
> > network overhead since only a single broadcast is made, when the client
> > comes online.
> >
> > Regards,
> > Mark
> >
> >
> > -----Original Message-----
> > From: Eric VERGNAUD [mailto:eric.vergnaud@jlynx.com]
> > Sent: Tuesday, May 31, 2005 7:58 AM
> > To: soap-user@ws.apache.org
> > Subject: Re: SOAP-over-UDP
> >
> > It depends on what you mean by continuous. a 16 bytes packet every 5
> > seconds certainly won't.
> >
> > If you need a higher reactivity, you can do the following:
> >  - have the client broadcast a message on a port
> >  - have the server listen on that port
> >  - when the server receives a connection, have it broadcast as
> > suggested in my previous email
> >
> > Le 31 mai 05 à 13:17, Francesco Munari a écrit :
> >
> > > But there isn't the risk of flooding the LAN with these continuous
> > > broadcast messages?
> > >
> > > 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> > >
> > >> Have your server regularly broadcast its address on a port.
> > >> Have your client act as a server on startup and listen on the same
> > >> port.
> > >> When the real server broadcasts its address, the client will receive
> > >> a connection request.
> > >> One you have the server address, ask the server for the information
> > >> you need (what you call the context).
> > >>
> > >> Le 31 mai 05 à 11:41, Francesco Munari a écrit :
> > >>
> > >>
> > >>> Hi, Eric.
> > >>>
> > >>> Ok, but how can I do this? I think I'm a newbie in this kind of
> > >>> operation, sorry. How can I look to a port of servers in a LAN
> > >>> without
> > >>> knowing their IP? And in this way may I keep the context-
> > >>> awareness of
> > >>> the communication?
> > >>>
> > >>> thank you for you reply
> > >>>
> > >>> Cheers
> > >>>
> > >>> francesco
> > >>>
> > >>> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> > >>>
> > >>>
> > >>>> I'm afraid that is a very verbose way of doing things. The typical
> > >>>> way to do this is determine a port, have your server broadcast
> > >>>> its IP
> > >>>> address on that port, and your clients look on that port to grab
> > >>>> the
> > >>>> address.
> > >>>>
> > >>>> Once the address is found, you can safely interact with the server
> > >>>> using SOAP over HTTP.
> > >>>>
> > >>>> Le 30 mai 05 à 22:19, Francesco Munari a écrit :
> > >>>>
> > >>>>
> > >>>>
> > >>>>> I'm alredy using UDDI4j. The idea is that I don't know where the
> > >>>>> UDDI
> > >>>>> registry can be in the LAN.
> > >>>>> I assume that the client knows only two things:
> > >>>>> 1) the network (of course)
> > >>>>> 2) a "search key" for a particular tipe of service
> > >>>>>
> > >>>>> and that's all.
> > >>>>> The client should send a broadcast SOAP (or XML-RPC) request
> > >>>>> containing the search method to call on the server with the "key"
> > >>>>> passed as a parameter and somewhere into the LAN should be a
> > >>>>> server
> > >>>>> (or more) with its private UDDI registry that should reply with a
> > >>>>> response containing the result of the invoking of the method
> > >>>>> contained
> > >>>>> in the sender's RPC request. The response should contain just the
> > >>>>> URL
> > >>>>> of the WSDL file related to the service found.
> > >>>>>
> > >>>>> The need of the broadcast message is that the client don't know
> > >>>>> where
> > >>>>> (or if) there could be any UDDI registry in the network. With this
> > >>>>> framework a client can change network configuration (for example,
> > >>>>> going from a floor to another with a Palm in a wireless LAN) and,
> > >>>>> after leaving the service provided in the first network, find
> > >>>>> anothe
> > >>>>> one similar on the other network only by pressing the button
> > >>>>> "Refresh"
> > >>>>> :)
> > >>>>>
> > >>>>> Francesco
> > >>>>>
> > >>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>> The side effect of a broadcast without authentication is
> > >>>>>> flooding the
> > >>>>>> network with unwanted disovery packets
> > >>>>>> I guess this is OK if you're utilising a high datarate
> > >>>>>> transmission i guess
> > >>>>>>
> > >>>>>> In your case your SOAP Request should look like
> > >>>>>>
> > >>>>>> <?xml version="1.0"?>
> > >>>>>> <SOAP-ENV:Envelope
> > >>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
> > >>>>>>  <SOAP-ENV:Body>
> > >>>>>>    <getTest>
> > >>>>>>      <Test>Test</Test>
> > >>>>>>    </getTest>
> > >>>>>>  </SOAP-ENV:Body>
> > >>>>>> </SOAP-ENV:Envelope>
> > >>>>>>
> > >>>>>> If you want to discover a "SOAP based" web-service based on some
> > >>>>>> characteristic such as Business Service Category why not use
> > >>>>>> UDDI4J?
> > >>>>>> Take a look at
> > >>>>>> http://sourceforge.net/projects/uddi4j
> > >>>>>>
> > >>>>>> Martin-
> > >>>>>>
> > >>>>>> ----- Original Message -----
> > >>>>>> From: "Francesco Munari" <fm...@gmail.com>
> > >>>>>> To: "Martin Gainty" <mg...@hotmail.com>
> > >>>>>> Cc: <so...@ws.apache.org>
> > >>>>>> Sent: Monday, May 30, 2005 12:44 PM
> > >>>>>> Subject: Re: SOAP-over-UDP
> > >>>>>>
> > >>>>>> Martins,
> > >>>>>>
> > >>>>>> It is for this reason that I'd like to broadcast a SOAP request
> > >>>>>> instead of a simple XML-RPC message. The goal of my framework
> > >>>>>> is to
> > >>>>>> keep the "context awareness" offered by XML language.
> > >>>>>> If you are sure that there is no way to send a broadcast SOAP
> > >>>>>> request,
> > >>>>>> the last solution, I think, it could be XML-RPC.
> > >>>>>>
> > >>>>>> So, two questions:
> > >>>>>>
> > >>>>>> 1) are you sure ther's no way to send a broadcast SOAP request?
> > >>>>>> 2) In order to send a broadcast XML-RPC message I've to cerate a
> > >>>>>> StringWriter like this (for example)?
> > >>>>>>
> > >>>>>> <?xml version="1.0" ?>
> > >>>>>>   <methodCall>
> > >>>>>>       <methodName>getTest</methodName>
> > >>>>>>       <params>
> > >>>>>>           <param>
> > >>>>>>               <value>
> > >>>>>>                  <string>Test</string>
> > >>>>>>               </value>
> > >>>>>>           </param>
> > >>>>>>       </params>
> > >>>>>> </methodCall>
> > >>>>>>
> > >>>>>> Thank's Martin.
> > >>>>>>
> > >>>>>> Francesco
> > >>>>>>
> > >>>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>> Francesco-
> > >>>>>>> You can Broadcast XML-RPC assuming you dont mind flooding your
> > >>>>>>> network
> > >>>>>>> The question is can you confine your application to using the
> > >>>>>>> more basic
> > >>>>>>> datatypes supported by XML-RPC
> > >>>>>>> vs implementing SOAP features (user-defined datatypes, namespace
> > >>>>>>> URI)?
> > >>>>>>> Anyone else?
> > >>>>>>> Martin-
> > >>>>>>> ----- Original Message -----
> > >>>>>>> From: "Francesco Munari" <fm...@gmail.com>
> > >>>>>>> To: "Martin Gainty" <mg...@hotmail.com>
> > >>>>>>> Cc: <so...@ws.apache.org>
> > >>>>>>> Sent: Monday, May 30, 2005 6:45 AM
> > >>>>>>> Subject: Re: SOAP-over-UDP
> > >>>>>>>
> > >>>>>>> Grazie! :)
> > >>>>>>>
> > >>>>>>> Could someone tell me if a simple XML-RPC message may be sent
> > >>>>>>> to a
> > >>>>>>> broadcast address? A simple message with the medthod to be
> > >>>>>>> invoked. In
> > >>>>>>> this way I should be able to send a broadcast XML-RPC request
> > >>>>>>> with the
> > >>>>>>> appropriate UDDI inquiry method; a server (containing a UDDI
> > >>>>>>> registry)
> > >>>>>>> should receive it, invoke that method and send a reply in XML
> > >>>>>>> format
> > >>>>>>> to the sender.
> > >>>>>>>
> > >>>>>>> It could be a good idea?
> > >>>>>>>
> > >>>>>>> thank you again!
> > >>>>>>>
> > >>>>>>> Francesco
> > >>>>>>>
> > >>>>>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>> benvenuto!
> > >>>>>>>> Martin-
> > >>>>>>>>
> > >>>>>>>> ----- Original Message -----
> > >>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
> > >>>>>>>> To: <so...@ws.apache.org>
> > >>>>>>>> Sent: Saturday, May 28, 2005 5:41 PM
> > >>>>>>>> Subject: Re: SOAP-over-UDP
> > >>>>>>>>
> > >>>>>>>> Thank you all for your very quick reply!
> > >>>>>>>>
> > >>>>>>>> I've heard about this SOAP-over-UDP spec
> > >>>>>>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en-
> > >>>>>>>> us/dnglobspec/html/soap-over-udp.asp).
> > >>>>>>>> So, Martin, you say that it could not be a solution? Perhaps it
> > >>>>>>>> should
> > >>>>>>>> be an idea using Mark's solution (with DNS).
> > >>>>>>>>
> > >>>>>>>> I thought to resolve the problem putting a SOAP envelope into
> > >>>>>>>> a UDP
> > >>>>>>>> datagram, send the datagram to a broadcast ip and that's all
> > >>>>>>>> folks...but I don't know how and, as you, Martins, wrote, I
> > >>>>>>>> was not
> > >>>>>>>> able to find anybody who has implemented this yet.
> > >>>>>>>>
> > >>>>>>>> Can you suggest me another solutions?
> > >>>>>>>>
> > >>>>>>>> Thank you very much again!!
> > >>>>>>>>
> > >>>>>>>> Cheers,
> > >>>>>>>>
> > >>>>>>>> Francesco
> > >>>>>>>>
> > >>>>>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>> Mark/Francesco
> > >>>>>>>>> I would caution on use of UDP as the SOAP Portocols (e.g.
> > >>>>>>>>> HTTP)
> > >>>>>>>>> is/are
> > >>>>>>>>> decidely not UDP but instead a connection-oriented TCP
> > >>>>>>>>> To date I have not seen UDP Ports used for SOAP transmission
> > >>>>>>>>> although
> > >>>>>>>>> since
> > >>>>>>>>> there is no requirement for verifiable connection and or
> > >>>>>>>>> handshakes
> > >>>>>>>>> I would venture to guess UDP is available as the transmission
> > >>>>>>>>> medium
> > >>>>>>>>> but
> > >>>>>>>>> I
> > >>>>>>>>> have not seen any UDP Ports used for SOAP thus far
> > >>>>>>>>> Anyone else ???
> > >>>>>>>>> Ciao-
> > >>>>>>>>> Martin-
> > >>>>>>>>>
> > >>>>>>>>> ----- Original Message -----
> > >>>>>>>>> From: "mdonaghue" <md...@mZeal.com>
> > >>>>>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
> > >>>>>>>>> <fm...@gmail.com>
> > >>>>>>>>> Sent: Saturday, May 28, 2005 3:14 PM
> > >>>>>>>>> Subject: RE: SOAP-over-UDP
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>> Hi Franceso,
> > >>>>>>>>>>
> > >>>>>>>>>> I've worked briefly with the apache soap api, not that
> > >>>>>>>>>> familiar with
> > >>>>>>>>>> it.
> > >>>>>>>>>> Typically a soap message is sent to a single soap server
> > >>>>>>>>>> address,
> > >>>>>>>>>> which
> > >>>>>>>>>> is
> > >>>>>>>>>> specified by a url or an ip address, as well as a port. So
> > >>>>>>>>>> your
> > >>>>>>>>>> server
> > >>>>>>>>>> address on the LAN might be something like
> > >>>>>>>>>> 192.168.100.2:8080.
> > >>>>>>>>>> (I'm
> > >>>>>>>>>> not
> > >>>>>>>>>> sure
> > >>>>>>>>>> what the port is for UDDI, so just using standard TomCat Web
> > >>>>>>>>>> Server
> > >>>>>>>>>> port).
> > >>>>>>>>>>
> > >>>>>>>>>> IIRC, you there's a point at which you specify that
> > >>>>>>>>>> address in
> > >>>>>>>>>> the
> > >>>>>>>>>> setup
> > >>>>>>>>>> for
> > >>>>>>>>>> your soap call. One thing you could try is to change the
> > >>>>>>>>>> address to
> > >>>>>>>>>> the
> > >>>>>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
> > >>>>>>>>>> class c
> > >>>>>>>>>> network
> > >>>>>>>>>> where the first 3 quads specify the network portion of the
> > >>>>>>>>>> submask.
> > >>>>>>>>>>
> > >>>>>>>>>> However, this may not a scalable solution, since the
> > >>>>>>>>>> broadcast
> > >>>>>>>>>> wouldn't
> > >>>>>>>>>> carry beyond the physical subnet on which you are located.
> > >>>>>>>>>> Using
> > >>>>>>>>>> UDDI
> > >>>>>>>>>> to
> > >>>>>>>>>> discover services is one thing, but dynamically discovering
> > >>>>>>>>>> UDDI
> > >>>>>>>>>> servers
> > >>>>>>>>>> is
> > >>>>>>>>>> obviously a different problem. It also doesn't address the
> > >>>>>>>>>> issue of
> > >>>>>>>>>> more
> > >>>>>>>>>> than one UDDI server running on the same subnet.
> > >>>>>>>>>>
> > >>>>>>>>>> A more generalized solution might involve a distributed ip
> > >>>>>>>>>> lookup
> > >>>>>>>>>> service,
> > >>>>>>>>>> namely DNS. For example when DNS looks up the ip address of
> > >>>>>>>>>> Yahoo.com,
> > >>>>>>>>>> at
> > >>>>>>>>>> some point the actual ip address that serves the request is
> > >>>>>>>>>> dynamically
> > >>>>>>>>>> assigned to one of dozens (or hundreds) of servers based on a
> > >>>>>>>>>> scheduling
> > >>>>>>>>>> scheme.  You could locally enable DNS lookup, and create an
> > >>>>>>>>>> entry
> > >>>>>>>>>> based
> > >>>>>>>>>> on
> > >>>>>>>>>> some url like "myuddpsever.com", and give it your local UDDI
> > >>>>>>>>>> server's
> > >>>>>>>>>> ip
> > >>>>>>>>>> address, and the rest would be handled within the network.
> > >>>>>>>>>> The
> > >>>>>>>>>> advantage
> > >>>>>>>>>> to
> > >>>>>>>>>> this is your UDDP server could be anywhere and your message
> > >>>>>>>>>> would
> > >>>>>>>>>> still
> > >>>>>>>>>> reach it.
> > >>>>>>>>>>
> > >>>>>>>>>> hth,
> > >>>>>>>>>> Mark
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>> -----Original Message-----
> > >>>>>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
> > >>>>>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
> > >>>>>>>>>> To: soap-user@ws.apache.org
> > >>>>>>>>>> Subject: SOAP-over-UDP
> > >>>>>>>>>>
> > >>>>>>>>>> Hi, I'm desperate!
> > >>>>>>>>>> I'm trying to find out how to send a broadcast SOAP request
> > >>>>>>>>>> to a
> > >>>>>>>>>> UDDI
> > >>>>>>>>>> registry in a LAN, but I'm not able to do this. I've looked
> > >>>>>>>>>> for some
> > >>>>>>>>>> example but I've not found anithing.
> > >>>>>>>>>>
> > >>>>>>>>>> Please...could anybody help me?
> > >>>>>>>>>> I'm making a thesis for the University of Florence (Italy)
> > >>>>>>>>>> and I
> > >>>>>>>>>> have
> > >>>>>>>>>> to discovery dinamically web service published in some UDDI
> > >>>>>>>>>> registry
> > >>>>>>>>>> somewhere in a LAN. I have to send a broadcast SOAP
> > >>>>>>>>>> request to
> > >>>>>>>>>> these
> > >>>>>>>>>> UDDI registry (as I wrote few lines above).
> > >>>>>>>>>> Of course I'm using Java language.
> > >>>>>>>>>>
> > >>>>>>>>>> Thank you very much for your help...I'm in a great
> > >>>>>>>>>> hurry...thanks
> > >>>>>>>>>> very
> > >>>>>>>>>> very much to everyone could help me!
> > >>>>>>>>>>
> > >>>>>>>>>> Best reguards,
> > >>>>>>>>>>
> > >>>>>>>>>> Francesco
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>
> > >>>
> > >>
> > >>
> > >
> >
> >
> 
>


Re: SOAP-over-UDP

Posted by Francesco Munari <fm...@gmail.com>.
Mark, 

> 
> Yes, that's seems to be great idea, I would even say elegant.
> 

...and it seems to work very very well!! ;)

It all works! It seems very efficient.
Saving the URLs send as a reply by the servers in a hash eliminates
also possible duplicates because the add(Object o), if it finds an
equal Object inside the hash, replace the old one with the new one.
So, if erroneously some service was published into more tha one UDDI
registry present in the LAN, the result hash, at the end of the
"request round", will have only one WSDL URL representing that
service.

Wow! It has been very cool solving my problem with you all! A parte of
my thesis is your merit!

But now the very last question (^_^): why (apart the difficult that I
had in implementing it) the use of SOAP or XML-RPC broadcast message
over UDP are so unsuitable?

Thank you very much!

Francesco
2005/5/31, mdonaghue <md...@mzeal.com>:
> Francesco,
> 
> 
> >In this way the
> >proxy receives the message, ask its UDDI registry for that service and
> >reply with a byte[] containing the URL of the service's WSDL file. Uh?
> 
> Yes, that's seems to be great idea, I would even say elegant.
> 
> Regards,
> Mark
> 
> 
> -----Original Message-----
> From: Francesco Munari [mailto:fmunari@gmail.com]
> Sent: Tuesday, May 31, 2005 4:54 PM
> To: soap-user@ws.apache.org
> Subject: Re: SOAP-over-UDP
> 
> Great Mark!
> 
> You have explained your point of view as well as you could.
> So the point is to give a proxy to every server that has an UDDI
> registry. This proxy, written in Java, waits for UDP datagrams. Maybe
> the broadcast UDP message sent by the client could also contains the
> key of the service that the client is searching for. In this way the
> proxy receives the message, ask its UDDI registry for that service and
> reply with a byte[] containing the URL of the service's WSDL file. Uh?
> 
> Should be a good idea instead of retreiving the IP address and having
> also to ask the registry for the service?
> 
> Thank's again to you all!! You're help me more than you think! Thank's.
> 
> Cheers
> 
> Francesco
> 
> 2005/5/31, mdonaghue <md...@mzeal.com>:
> > Hi Francesco,
> >
> > My original suggestion was to use DNS to identify the URL of the UDDI
> server
> > in the local subnet. The advantage to this is that no broadcast message is
> > needed and it's using a common solution. The disadvantage is it requires
> an
> > entry in the DNS server database, some knowledge of how to administrate
> it,
> > and isn't automated.
> >
> > So, I tend to agree with Eric's solution (except for the last step which I
> > believe should be unicast, not broadcast).  The basic idea is to have the
> > client broadcast a "who has a UDDI Server" message when it comes online.
> XML
> > will be ok, because since the broadcast only happens once, verbosity is
> not
> > an issue. However, a simple text message would also do the trick and
> > eliminates the need to parse XML. In either case, a simple UDP server
> > process listening on over a known port on the UDDI server machine will
> > respond, identifying itself to the client. At that point the IP address of
> > the UDDI server is available to the client and the UDDI request can be
> > unicast to it.
> >
> > This message sequence is identical the ARP protocol, which allows an
> > end-host to determine the MAC address of system with a known IP address.
> The
> > end-host broadcasts a "who has this IP address?" message to the subnet. If
> a
> > host with that IP address receives the message, it unicasts an "I have it"
> > message, enclosing its MAC address along with it. From then on, all
> > communication for that flow can be unicast.
> >
> > The actual messaging discussed above should be handled outside of SOAP,
> > since SOAP is not intended for this kind of functionality. It could be
> > easily implemented as with Java using UDP datagram sockets.
> >
> > This approach handles the potential problem of multiple servers on the
> same
> > subnet, since the client can just choose one. It also solves the problem
> of
> > the UDDI server not being architected around a possible broadcast
> scenario,
> > typically running over TCP.  You won't need SOAP over UDP. It minimizes
> > network overhead since only a single broadcast is made, when the client
> > comes online.
> >
> > Regards,
> > Mark
> >
> >
> > -----Original Message-----
> > From: Eric VERGNAUD [mailto:eric.vergnaud@jlynx.com]
> > Sent: Tuesday, May 31, 2005 7:58 AM
> > To: soap-user@ws.apache.org
> > Subject: Re: SOAP-over-UDP
> >
> > It depends on what you mean by continuous. a 16 bytes packet every 5
> > seconds certainly won't.
> >
> > If you need a higher reactivity, you can do the following:
> >  - have the client broadcast a message on a port
> >  - have the server listen on that port
> >  - when the server receives a connection, have it broadcast as
> > suggested in my previous email
> >
> > Le 31 mai 05 à 13:17, Francesco Munari a écrit :
> >
> > > But there isn't the risk of flooding the LAN with these continuous
> > > broadcast messages?
> > >
> > > 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> > >
> > >> Have your server regularly broadcast its address on a port.
> > >> Have your client act as a server on startup and listen on the same
> > >> port.
> > >> When the real server broadcasts its address, the client will receive
> > >> a connection request.
> > >> One you have the server address, ask the server for the information
> > >> you need (what you call the context).
> > >>
> > >> Le 31 mai 05 à 11:41, Francesco Munari a écrit :
> > >>
> > >>
> > >>> Hi, Eric.
> > >>>
> > >>> Ok, but how can I do this? I think I'm a newbie in this kind of
> > >>> operation, sorry. How can I look to a port of servers in a LAN
> > >>> without
> > >>> knowing their IP? And in this way may I keep the context-
> > >>> awareness of
> > >>> the communication?
> > >>>
> > >>> thank you for you reply
> > >>>
> > >>> Cheers
> > >>>
> > >>> francesco
> > >>>
> > >>> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> > >>>
> > >>>
> > >>>> I'm afraid that is a very verbose way of doing things. The typical
> > >>>> way to do this is determine a port, have your server broadcast
> > >>>> its IP
> > >>>> address on that port, and your clients look on that port to grab
> > >>>> the
> > >>>> address.
> > >>>>
> > >>>> Once the address is found, you can safely interact with the server
> > >>>> using SOAP over HTTP.
> > >>>>
> > >>>> Le 30 mai 05 à 22:19, Francesco Munari a écrit :
> > >>>>
> > >>>>
> > >>>>
> > >>>>> I'm alredy using UDDI4j. The idea is that I don't know where the
> > >>>>> UDDI
> > >>>>> registry can be in the LAN.
> > >>>>> I assume that the client knows only two things:
> > >>>>> 1) the network (of course)
> > >>>>> 2) a "search key" for a particular tipe of service
> > >>>>>
> > >>>>> and that's all.
> > >>>>> The client should send a broadcast SOAP (or XML-RPC) request
> > >>>>> containing the search method to call on the server with the "key"
> > >>>>> passed as a parameter and somewhere into the LAN should be a
> > >>>>> server
> > >>>>> (or more) with its private UDDI registry that should reply with a
> > >>>>> response containing the result of the invoking of the method
> > >>>>> contained
> > >>>>> in the sender's RPC request. The response should contain just the
> > >>>>> URL
> > >>>>> of the WSDL file related to the service found.
> > >>>>>
> > >>>>> The need of the broadcast message is that the client don't know
> > >>>>> where
> > >>>>> (or if) there could be any UDDI registry in the network. With this
> > >>>>> framework a client can change network configuration (for example,
> > >>>>> going from a floor to another with a Palm in a wireless LAN) and,
> > >>>>> after leaving the service provided in the first network, find
> > >>>>> anothe
> > >>>>> one similar on the other network only by pressing the button
> > >>>>> "Refresh"
> > >>>>> :)
> > >>>>>
> > >>>>> Francesco
> > >>>>>
> > >>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>> The side effect of a broadcast without authentication is
> > >>>>>> flooding the
> > >>>>>> network with unwanted disovery packets
> > >>>>>> I guess this is OK if you're utilising a high datarate
> > >>>>>> transmission i guess
> > >>>>>>
> > >>>>>> In your case your SOAP Request should look like
> > >>>>>>
> > >>>>>> <?xml version="1.0"?>
> > >>>>>> <SOAP-ENV:Envelope
> > >>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
> > >>>>>>  <SOAP-ENV:Body>
> > >>>>>>    <getTest>
> > >>>>>>      <Test>Test</Test>
> > >>>>>>    </getTest>
> > >>>>>>  </SOAP-ENV:Body>
> > >>>>>> </SOAP-ENV:Envelope>
> > >>>>>>
> > >>>>>> If you want to discover a "SOAP based" web-service based on some
> > >>>>>> characteristic such as Business Service Category why not use
> > >>>>>> UDDI4J?
> > >>>>>> Take a look at
> > >>>>>> http://sourceforge.net/projects/uddi4j
> > >>>>>>
> > >>>>>> Martin-
> > >>>>>>
> > >>>>>> ----- Original Message -----
> > >>>>>> From: "Francesco Munari" <fm...@gmail.com>
> > >>>>>> To: "Martin Gainty" <mg...@hotmail.com>
> > >>>>>> Cc: <so...@ws.apache.org>
> > >>>>>> Sent: Monday, May 30, 2005 12:44 PM
> > >>>>>> Subject: Re: SOAP-over-UDP
> > >>>>>>
> > >>>>>> Martins,
> > >>>>>>
> > >>>>>> It is for this reason that I'd like to broadcast a SOAP request
> > >>>>>> instead of a simple XML-RPC message. The goal of my framework
> > >>>>>> is to
> > >>>>>> keep the "context awareness" offered by XML language.
> > >>>>>> If you are sure that there is no way to send a broadcast SOAP
> > >>>>>> request,
> > >>>>>> the last solution, I think, it could be XML-RPC.
> > >>>>>>
> > >>>>>> So, two questions:
> > >>>>>>
> > >>>>>> 1) are you sure ther's no way to send a broadcast SOAP request?
> > >>>>>> 2) In order to send a broadcast XML-RPC message I've to cerate a
> > >>>>>> StringWriter like this (for example)?
> > >>>>>>
> > >>>>>> <?xml version="1.0" ?>
> > >>>>>>   <methodCall>
> > >>>>>>       <methodName>getTest</methodName>
> > >>>>>>       <params>
> > >>>>>>           <param>
> > >>>>>>               <value>
> > >>>>>>                  <string>Test</string>
> > >>>>>>               </value>
> > >>>>>>           </param>
> > >>>>>>       </params>
> > >>>>>> </methodCall>
> > >>>>>>
> > >>>>>> Thank's Martin.
> > >>>>>>
> > >>>>>> Francesco
> > >>>>>>
> > >>>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>> Francesco-
> > >>>>>>> You can Broadcast XML-RPC assuming you dont mind flooding your
> > >>>>>>> network
> > >>>>>>> The question is can you confine your application to using the
> > >>>>>>> more basic
> > >>>>>>> datatypes supported by XML-RPC
> > >>>>>>> vs implementing SOAP features (user-defined datatypes, namespace
> > >>>>>>> URI)?
> > >>>>>>> Anyone else?
> > >>>>>>> Martin-
> > >>>>>>> ----- Original Message -----
> > >>>>>>> From: "Francesco Munari" <fm...@gmail.com>
> > >>>>>>> To: "Martin Gainty" <mg...@hotmail.com>
> > >>>>>>> Cc: <so...@ws.apache.org>
> > >>>>>>> Sent: Monday, May 30, 2005 6:45 AM
> > >>>>>>> Subject: Re: SOAP-over-UDP
> > >>>>>>>
> > >>>>>>> Grazie! :)
> > >>>>>>>
> > >>>>>>> Could someone tell me if a simple XML-RPC message may be sent
> > >>>>>>> to a
> > >>>>>>> broadcast address? A simple message with the medthod to be
> > >>>>>>> invoked. In
> > >>>>>>> this way I should be able to send a broadcast XML-RPC request
> > >>>>>>> with the
> > >>>>>>> appropriate UDDI inquiry method; a server (containing a UDDI
> > >>>>>>> registry)
> > >>>>>>> should receive it, invoke that method and send a reply in XML
> > >>>>>>> format
> > >>>>>>> to the sender.
> > >>>>>>>
> > >>>>>>> It could be a good idea?
> > >>>>>>>
> > >>>>>>> thank you again!
> > >>>>>>>
> > >>>>>>> Francesco
> > >>>>>>>
> > >>>>>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>> benvenuto!
> > >>>>>>>> Martin-
> > >>>>>>>>
> > >>>>>>>> ----- Original Message -----
> > >>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
> > >>>>>>>> To: <so...@ws.apache.org>
> > >>>>>>>> Sent: Saturday, May 28, 2005 5:41 PM
> > >>>>>>>> Subject: Re: SOAP-over-UDP
> > >>>>>>>>
> > >>>>>>>> Thank you all for your very quick reply!
> > >>>>>>>>
> > >>>>>>>> I've heard about this SOAP-over-UDP spec
> > >>>>>>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en-
> > >>>>>>>> us/dnglobspec/html/soap-over-udp.asp).
> > >>>>>>>> So, Martin, you say that it could not be a solution? Perhaps it
> > >>>>>>>> should
> > >>>>>>>> be an idea using Mark's solution (with DNS).
> > >>>>>>>>
> > >>>>>>>> I thought to resolve the problem putting a SOAP envelope into
> > >>>>>>>> a UDP
> > >>>>>>>> datagram, send the datagram to a broadcast ip and that's all
> > >>>>>>>> folks...but I don't know how and, as you, Martins, wrote, I
> > >>>>>>>> was not
> > >>>>>>>> able to find anybody who has implemented this yet.
> > >>>>>>>>
> > >>>>>>>> Can you suggest me another solutions?
> > >>>>>>>>
> > >>>>>>>> Thank you very much again!!
> > >>>>>>>>
> > >>>>>>>> Cheers,
> > >>>>>>>>
> > >>>>>>>> Francesco
> > >>>>>>>>
> > >>>>>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>> Mark/Francesco
> > >>>>>>>>> I would caution on use of UDP as the SOAP Portocols (e.g.
> > >>>>>>>>> HTTP)
> > >>>>>>>>> is/are
> > >>>>>>>>> decidely not UDP but instead a connection-oriented TCP
> > >>>>>>>>> To date I have not seen UDP Ports used for SOAP transmission
> > >>>>>>>>> although
> > >>>>>>>>> since
> > >>>>>>>>> there is no requirement for verifiable connection and or
> > >>>>>>>>> handshakes
> > >>>>>>>>> I would venture to guess UDP is available as the transmission
> > >>>>>>>>> medium
> > >>>>>>>>> but
> > >>>>>>>>> I
> > >>>>>>>>> have not seen any UDP Ports used for SOAP thus far
> > >>>>>>>>> Anyone else ???
> > >>>>>>>>> Ciao-
> > >>>>>>>>> Martin-
> > >>>>>>>>>
> > >>>>>>>>> ----- Original Message -----
> > >>>>>>>>> From: "mdonaghue" <md...@mZeal.com>
> > >>>>>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
> > >>>>>>>>> <fm...@gmail.com>
> > >>>>>>>>> Sent: Saturday, May 28, 2005 3:14 PM
> > >>>>>>>>> Subject: RE: SOAP-over-UDP
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>> Hi Franceso,
> > >>>>>>>>>>
> > >>>>>>>>>> I've worked briefly with the apache soap api, not that
> > >>>>>>>>>> familiar with
> > >>>>>>>>>> it.
> > >>>>>>>>>> Typically a soap message is sent to a single soap server
> > >>>>>>>>>> address,
> > >>>>>>>>>> which
> > >>>>>>>>>> is
> > >>>>>>>>>> specified by a url or an ip address, as well as a port. So
> > >>>>>>>>>> your
> > >>>>>>>>>> server
> > >>>>>>>>>> address on the LAN might be something like
> > >>>>>>>>>> 192.168.100.2:8080.
> > >>>>>>>>>> (I'm
> > >>>>>>>>>> not
> > >>>>>>>>>> sure
> > >>>>>>>>>> what the port is for UDDI, so just using standard TomCat Web
> > >>>>>>>>>> Server
> > >>>>>>>>>> port).
> > >>>>>>>>>>
> > >>>>>>>>>> IIRC, you there's a point at which you specify that
> > >>>>>>>>>> address in
> > >>>>>>>>>> the
> > >>>>>>>>>> setup
> > >>>>>>>>>> for
> > >>>>>>>>>> your soap call. One thing you could try is to change the
> > >>>>>>>>>> address to
> > >>>>>>>>>> the
> > >>>>>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
> > >>>>>>>>>> class c
> > >>>>>>>>>> network
> > >>>>>>>>>> where the first 3 quads specify the network portion of the
> > >>>>>>>>>> submask.
> > >>>>>>>>>>
> > >>>>>>>>>> However, this may not a scalable solution, since the
> > >>>>>>>>>> broadcast
> > >>>>>>>>>> wouldn't
> > >>>>>>>>>> carry beyond the physical subnet on which you are located.
> > >>>>>>>>>> Using
> > >>>>>>>>>> UDDI
> > >>>>>>>>>> to
> > >>>>>>>>>> discover services is one thing, but dynamically discovering
> > >>>>>>>>>> UDDI
> > >>>>>>>>>> servers
> > >>>>>>>>>> is
> > >>>>>>>>>> obviously a different problem. It also doesn't address the
> > >>>>>>>>>> issue of
> > >>>>>>>>>> more
> > >>>>>>>>>> than one UDDI server running on the same subnet.
> > >>>>>>>>>>
> > >>>>>>>>>> A more generalized solution might involve a distributed ip
> > >>>>>>>>>> lookup
> > >>>>>>>>>> service,
> > >>>>>>>>>> namely DNS. For example when DNS looks up the ip address of
> > >>>>>>>>>> Yahoo.com,
> > >>>>>>>>>> at
> > >>>>>>>>>> some point the actual ip address that serves the request is
> > >>>>>>>>>> dynamically
> > >>>>>>>>>> assigned to one of dozens (or hundreds) of servers based on a
> > >>>>>>>>>> scheduling
> > >>>>>>>>>> scheme.  You could locally enable DNS lookup, and create an
> > >>>>>>>>>> entry
> > >>>>>>>>>> based
> > >>>>>>>>>> on
> > >>>>>>>>>> some url like "myuddpsever.com", and give it your local UDDI
> > >>>>>>>>>> server's
> > >>>>>>>>>> ip
> > >>>>>>>>>> address, and the rest would be handled within the network.
> > >>>>>>>>>> The
> > >>>>>>>>>> advantage
> > >>>>>>>>>> to
> > >>>>>>>>>> this is your UDDP server could be anywhere and your message
> > >>>>>>>>>> would
> > >>>>>>>>>> still
> > >>>>>>>>>> reach it.
> > >>>>>>>>>>
> > >>>>>>>>>> hth,
> > >>>>>>>>>> Mark
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>> -----Original Message-----
> > >>>>>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
> > >>>>>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
> > >>>>>>>>>> To: soap-user@ws.apache.org
> > >>>>>>>>>> Subject: SOAP-over-UDP
> > >>>>>>>>>>
> > >>>>>>>>>> Hi, I'm desperate!
> > >>>>>>>>>> I'm trying to find out how to send a broadcast SOAP request
> > >>>>>>>>>> to a
> > >>>>>>>>>> UDDI
> > >>>>>>>>>> registry in a LAN, but I'm not able to do this. I've looked
> > >>>>>>>>>> for some
> > >>>>>>>>>> example but I've not found anithing.
> > >>>>>>>>>>
> > >>>>>>>>>> Please...could anybody help me?
> > >>>>>>>>>> I'm making a thesis for the University of Florence (Italy)
> > >>>>>>>>>> and I
> > >>>>>>>>>> have
> > >>>>>>>>>> to discovery dinamically web service published in some UDDI
> > >>>>>>>>>> registry
> > >>>>>>>>>> somewhere in a LAN. I have to send a broadcast SOAP
> > >>>>>>>>>> request to
> > >>>>>>>>>> these
> > >>>>>>>>>> UDDI registry (as I wrote few lines above).
> > >>>>>>>>>> Of course I'm using Java language.
> > >>>>>>>>>>
> > >>>>>>>>>> Thank you very much for your help...I'm in a great
> > >>>>>>>>>> hurry...thanks
> > >>>>>>>>>> very
> > >>>>>>>>>> very much to everyone could help me!
> > >>>>>>>>>>
> > >>>>>>>>>> Best reguards,
> > >>>>>>>>>>
> > >>>>>>>>>> Francesco
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>
> > >>>
> > >>
> > >>
> > >
> >
> >
> 
>

RE: SOAP-over-UDP

Posted by mdonaghue <md...@mZeal.com>.
Francesco,


>In this way the
>proxy receives the message, ask its UDDI registry for that service and
>reply with a byte[] containing the URL of the service's WSDL file. Uh?

Yes, that's seems to be great idea, I would even say elegant.

Regards,
Mark



-----Original Message-----
From: Francesco Munari [mailto:fmunari@gmail.com] 
Sent: Tuesday, May 31, 2005 4:54 PM
To: soap-user@ws.apache.org
Subject: Re: SOAP-over-UDP

Great Mark!

You have explained your point of view as well as you could.
So the point is to give a proxy to every server that has an UDDI
registry. This proxy, written in Java, waits for UDP datagrams. Maybe
the broadcast UDP message sent by the client could also contains the
key of the service that the client is searching for. In this way the
proxy receives the message, ask its UDDI registry for that service and
reply with a byte[] containing the URL of the service's WSDL file. Uh?



Should be a good idea instead of retreiving the IP address and having
also to ask the registry for the service?

Thank's again to you all!! You're help me more than you think! Thank's.

Cheers

Francesco

2005/5/31, mdonaghue <md...@mzeal.com>:
> Hi Francesco,
> 
> My original suggestion was to use DNS to identify the URL of the UDDI
server
> in the local subnet. The advantage to this is that no broadcast message is
> needed and it's using a common solution. The disadvantage is it requires
an
> entry in the DNS server database, some knowledge of how to administrate
it,
> and isn't automated.
> 
> So, I tend to agree with Eric's solution (except for the last step which I
> believe should be unicast, not broadcast).  The basic idea is to have the
> client broadcast a "who has a UDDI Server" message when it comes online.
XML
> will be ok, because since the broadcast only happens once, verbosity is
not
> an issue. However, a simple text message would also do the trick and
> eliminates the need to parse XML. In either case, a simple UDP server
> process listening on over a known port on the UDDI server machine will
> respond, identifying itself to the client. At that point the IP address of
> the UDDI server is available to the client and the UDDI request can be
> unicast to it.
> 
> This message sequence is identical the ARP protocol, which allows an
> end-host to determine the MAC address of system with a known IP address.
The
> end-host broadcasts a "who has this IP address?" message to the subnet. If
a
> host with that IP address receives the message, it unicasts an "I have it"
> message, enclosing its MAC address along with it. From then on, all
> communication for that flow can be unicast.
> 
> The actual messaging discussed above should be handled outside of SOAP,
> since SOAP is not intended for this kind of functionality. It could be
> easily implemented as with Java using UDP datagram sockets.
> 
> This approach handles the potential problem of multiple servers on the
same
> subnet, since the client can just choose one. It also solves the problem
of
> the UDDI server not being architected around a possible broadcast
scenario,
> typically running over TCP.  You won't need SOAP over UDP. It minimizes
> network overhead since only a single broadcast is made, when the client
> comes online.
> 
> Regards,
> Mark
> 
> 
> -----Original Message-----
> From: Eric VERGNAUD [mailto:eric.vergnaud@jlynx.com]
> Sent: Tuesday, May 31, 2005 7:58 AM
> To: soap-user@ws.apache.org
> Subject: Re: SOAP-over-UDP
> 
> It depends on what you mean by continuous. a 16 bytes packet every 5
> seconds certainly won't.
> 
> If you need a higher reactivity, you can do the following:
>  - have the client broadcast a message on a port
>  - have the server listen on that port
>  - when the server receives a connection, have it broadcast as
> suggested in my previous email
> 
> Le 31 mai 05 à 13:17, Francesco Munari a écrit :
> 
> > But there isn't the risk of flooding the LAN with these continuous
> > broadcast messages?
> >
> > 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> >
> >> Have your server regularly broadcast its address on a port.
> >> Have your client act as a server on startup and listen on the same
> >> port.
> >> When the real server broadcasts its address, the client will receive
> >> a connection request.
> >> One you have the server address, ask the server for the information
> >> you need (what you call the context).
> >>
> >> Le 31 mai 05 à 11:41, Francesco Munari a écrit :
> >>
> >>
> >>> Hi, Eric.
> >>>
> >>> Ok, but how can I do this? I think I'm a newbie in this kind of
> >>> operation, sorry. How can I look to a port of servers in a LAN
> >>> without
> >>> knowing their IP? And in this way may I keep the context-
> >>> awareness of
> >>> the communication?
> >>>
> >>> thank you for you reply
> >>>
> >>> Cheers
> >>>
> >>> francesco
> >>>
> >>> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> >>>
> >>>
> >>>> I'm afraid that is a very verbose way of doing things. The typical
> >>>> way to do this is determine a port, have your server broadcast
> >>>> its IP
> >>>> address on that port, and your clients look on that port to grab
> >>>> the
> >>>> address.
> >>>>
> >>>> Once the address is found, you can safely interact with the server
> >>>> using SOAP over HTTP.
> >>>>
> >>>> Le 30 mai 05 à 22:19, Francesco Munari a écrit :
> >>>>
> >>>>
> >>>>
> >>>>> I'm alredy using UDDI4j. The idea is that I don't know where the
> >>>>> UDDI
> >>>>> registry can be in the LAN.
> >>>>> I assume that the client knows only two things:
> >>>>> 1) the network (of course)
> >>>>> 2) a "search key" for a particular tipe of service
> >>>>>
> >>>>> and that's all.
> >>>>> The client should send a broadcast SOAP (or XML-RPC) request
> >>>>> containing the search method to call on the server with the "key"
> >>>>> passed as a parameter and somewhere into the LAN should be a
> >>>>> server
> >>>>> (or more) with its private UDDI registry that should reply with a
> >>>>> response containing the result of the invoking of the method
> >>>>> contained
> >>>>> in the sender's RPC request. The response should contain just the
> >>>>> URL
> >>>>> of the WSDL file related to the service found.
> >>>>>
> >>>>> The need of the broadcast message is that the client don't know
> >>>>> where
> >>>>> (or if) there could be any UDDI registry in the network. With this
> >>>>> framework a client can change network configuration (for example,
> >>>>> going from a floor to another with a Palm in a wireless LAN) and,
> >>>>> after leaving the service provided in the first network, find
> >>>>> anothe
> >>>>> one similar on the other network only by pressing the button
> >>>>> "Refresh"
> >>>>> :)
> >>>>>
> >>>>> Francesco
> >>>>>
> >>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>>>>
> >>>>>
> >>>>>
> >>>>>> The side effect of a broadcast without authentication is
> >>>>>> flooding the
> >>>>>> network with unwanted disovery packets
> >>>>>> I guess this is OK if you're utilising a high datarate
> >>>>>> transmission i guess
> >>>>>>
> >>>>>> In your case your SOAP Request should look like
> >>>>>>
> >>>>>> <?xml version="1.0"?>
> >>>>>> <SOAP-ENV:Envelope
> >>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
> >>>>>>  <SOAP-ENV:Body>
> >>>>>>    <getTest>
> >>>>>>      <Test>Test</Test>
> >>>>>>    </getTest>
> >>>>>>  </SOAP-ENV:Body>
> >>>>>> </SOAP-ENV:Envelope>
> >>>>>>
> >>>>>> If you want to discover a "SOAP based" web-service based on some
> >>>>>> characteristic such as Business Service Category why not use
> >>>>>> UDDI4J?
> >>>>>> Take a look at
> >>>>>> http://sourceforge.net/projects/uddi4j
> >>>>>>
> >>>>>> Martin-
> >>>>>>
> >>>>>> ----- Original Message -----
> >>>>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>>>> To: "Martin Gainty" <mg...@hotmail.com>
> >>>>>> Cc: <so...@ws.apache.org>
> >>>>>> Sent: Monday, May 30, 2005 12:44 PM
> >>>>>> Subject: Re: SOAP-over-UDP
> >>>>>>
> >>>>>> Martins,
> >>>>>>
> >>>>>> It is for this reason that I'd like to broadcast a SOAP request
> >>>>>> instead of a simple XML-RPC message. The goal of my framework
> >>>>>> is to
> >>>>>> keep the "context awareness" offered by XML language.
> >>>>>> If you are sure that there is no way to send a broadcast SOAP
> >>>>>> request,
> >>>>>> the last solution, I think, it could be XML-RPC.
> >>>>>>
> >>>>>> So, two questions:
> >>>>>>
> >>>>>> 1) are you sure ther's no way to send a broadcast SOAP request?
> >>>>>> 2) In order to send a broadcast XML-RPC message I've to cerate a
> >>>>>> StringWriter like this (for example)?
> >>>>>>
> >>>>>> <?xml version="1.0" ?>
> >>>>>>   <methodCall>
> >>>>>>       <methodName>getTest</methodName>
> >>>>>>       <params>
> >>>>>>           <param>
> >>>>>>               <value>
> >>>>>>                  <string>Test</string>
> >>>>>>               </value>
> >>>>>>           </param>
> >>>>>>       </params>
> >>>>>> </methodCall>
> >>>>>>
> >>>>>> Thank's Martin.
> >>>>>>
> >>>>>> Francesco
> >>>>>>
> >>>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>> Francesco-
> >>>>>>> You can Broadcast XML-RPC assuming you dont mind flooding your
> >>>>>>> network
> >>>>>>> The question is can you confine your application to using the
> >>>>>>> more basic
> >>>>>>> datatypes supported by XML-RPC
> >>>>>>> vs implementing SOAP features (user-defined datatypes, namespace
> >>>>>>> URI)?
> >>>>>>> Anyone else?
> >>>>>>> Martin-
> >>>>>>> ----- Original Message -----
> >>>>>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>>>>> To: "Martin Gainty" <mg...@hotmail.com>
> >>>>>>> Cc: <so...@ws.apache.org>
> >>>>>>> Sent: Monday, May 30, 2005 6:45 AM
> >>>>>>> Subject: Re: SOAP-over-UDP
> >>>>>>>
> >>>>>>> Grazie! :)
> >>>>>>>
> >>>>>>> Could someone tell me if a simple XML-RPC message may be sent
> >>>>>>> to a
> >>>>>>> broadcast address? A simple message with the medthod to be
> >>>>>>> invoked. In
> >>>>>>> this way I should be able to send a broadcast XML-RPC request
> >>>>>>> with the
> >>>>>>> appropriate UDDI inquiry method; a server (containing a UDDI
> >>>>>>> registry)
> >>>>>>> should receive it, invoke that method and send a reply in XML
> >>>>>>> format
> >>>>>>> to the sender.
> >>>>>>>
> >>>>>>> It could be a good idea?
> >>>>>>>
> >>>>>>> thank you again!
> >>>>>>>
> >>>>>>> Francesco
> >>>>>>>
> >>>>>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>> benvenuto!
> >>>>>>>> Martin-
> >>>>>>>>
> >>>>>>>> ----- Original Message -----
> >>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>>>>>> To: <so...@ws.apache.org>
> >>>>>>>> Sent: Saturday, May 28, 2005 5:41 PM
> >>>>>>>> Subject: Re: SOAP-over-UDP
> >>>>>>>>
> >>>>>>>> Thank you all for your very quick reply!
> >>>>>>>>
> >>>>>>>> I've heard about this SOAP-over-UDP spec
> >>>>>>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en-
> >>>>>>>> us/dnglobspec/html/soap-over-udp.asp).
> >>>>>>>> So, Martin, you say that it could not be a solution? Perhaps it
> >>>>>>>> should
> >>>>>>>> be an idea using Mark's solution (with DNS).
> >>>>>>>>
> >>>>>>>> I thought to resolve the problem putting a SOAP envelope into
> >>>>>>>> a UDP
> >>>>>>>> datagram, send the datagram to a broadcast ip and that's all
> >>>>>>>> folks...but I don't know how and, as you, Martins, wrote, I
> >>>>>>>> was not
> >>>>>>>> able to find anybody who has implemented this yet.
> >>>>>>>>
> >>>>>>>> Can you suggest me another solutions?
> >>>>>>>>
> >>>>>>>> Thank you very much again!!
> >>>>>>>>
> >>>>>>>> Cheers,
> >>>>>>>>
> >>>>>>>> Francesco
> >>>>>>>>
> >>>>>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> Mark/Francesco
> >>>>>>>>> I would caution on use of UDP as the SOAP Portocols (e.g.
> >>>>>>>>> HTTP)
> >>>>>>>>> is/are
> >>>>>>>>> decidely not UDP but instead a connection-oriented TCP
> >>>>>>>>> To date I have not seen UDP Ports used for SOAP transmission
> >>>>>>>>> although
> >>>>>>>>> since
> >>>>>>>>> there is no requirement for verifiable connection and or
> >>>>>>>>> handshakes
> >>>>>>>>> I would venture to guess UDP is available as the transmission
> >>>>>>>>> medium
> >>>>>>>>> but
> >>>>>>>>> I
> >>>>>>>>> have not seen any UDP Ports used for SOAP thus far
> >>>>>>>>> Anyone else ???
> >>>>>>>>> Ciao-
> >>>>>>>>> Martin-
> >>>>>>>>>
> >>>>>>>>> ----- Original Message -----
> >>>>>>>>> From: "mdonaghue" <md...@mZeal.com>
> >>>>>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
> >>>>>>>>> <fm...@gmail.com>
> >>>>>>>>> Sent: Saturday, May 28, 2005 3:14 PM
> >>>>>>>>> Subject: RE: SOAP-over-UDP
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> Hi Franceso,
> >>>>>>>>>>
> >>>>>>>>>> I've worked briefly with the apache soap api, not that
> >>>>>>>>>> familiar with
> >>>>>>>>>> it.
> >>>>>>>>>> Typically a soap message is sent to a single soap server
> >>>>>>>>>> address,
> >>>>>>>>>> which
> >>>>>>>>>> is
> >>>>>>>>>> specified by a url or an ip address, as well as a port. So
> >>>>>>>>>> your
> >>>>>>>>>> server
> >>>>>>>>>> address on the LAN might be something like
> >>>>>>>>>> 192.168.100.2:8080.
> >>>>>>>>>> (I'm
> >>>>>>>>>> not
> >>>>>>>>>> sure
> >>>>>>>>>> what the port is for UDDI, so just using standard TomCat Web
> >>>>>>>>>> Server
> >>>>>>>>>> port).
> >>>>>>>>>>
> >>>>>>>>>> IIRC, you there's a point at which you specify that
> >>>>>>>>>> address in
> >>>>>>>>>> the
> >>>>>>>>>> setup
> >>>>>>>>>> for
> >>>>>>>>>> your soap call. One thing you could try is to change the
> >>>>>>>>>> address to
> >>>>>>>>>> the
> >>>>>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
> >>>>>>>>>> class c
> >>>>>>>>>> network
> >>>>>>>>>> where the first 3 quads specify the network portion of the
> >>>>>>>>>> submask.
> >>>>>>>>>>
> >>>>>>>>>> However, this may not a scalable solution, since the
> >>>>>>>>>> broadcast
> >>>>>>>>>> wouldn't
> >>>>>>>>>> carry beyond the physical subnet on which you are located.
> >>>>>>>>>> Using
> >>>>>>>>>> UDDI
> >>>>>>>>>> to
> >>>>>>>>>> discover services is one thing, but dynamically discovering
> >>>>>>>>>> UDDI
> >>>>>>>>>> servers
> >>>>>>>>>> is
> >>>>>>>>>> obviously a different problem. It also doesn't address the
> >>>>>>>>>> issue of
> >>>>>>>>>> more
> >>>>>>>>>> than one UDDI server running on the same subnet.
> >>>>>>>>>>
> >>>>>>>>>> A more generalized solution might involve a distributed ip
> >>>>>>>>>> lookup
> >>>>>>>>>> service,
> >>>>>>>>>> namely DNS. For example when DNS looks up the ip address of
> >>>>>>>>>> Yahoo.com,
> >>>>>>>>>> at
> >>>>>>>>>> some point the actual ip address that serves the request is
> >>>>>>>>>> dynamically
> >>>>>>>>>> assigned to one of dozens (or hundreds) of servers based on a
> >>>>>>>>>> scheduling
> >>>>>>>>>> scheme.  You could locally enable DNS lookup, and create an
> >>>>>>>>>> entry
> >>>>>>>>>> based
> >>>>>>>>>> on
> >>>>>>>>>> some url like "myuddpsever.com", and give it your local UDDI
> >>>>>>>>>> server's
> >>>>>>>>>> ip
> >>>>>>>>>> address, and the rest would be handled within the network.
> >>>>>>>>>> The
> >>>>>>>>>> advantage
> >>>>>>>>>> to
> >>>>>>>>>> this is your UDDP server could be anywhere and your message
> >>>>>>>>>> would
> >>>>>>>>>> still
> >>>>>>>>>> reach it.
> >>>>>>>>>>
> >>>>>>>>>> hth,
> >>>>>>>>>> Mark
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> -----Original Message-----
> >>>>>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
> >>>>>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
> >>>>>>>>>> To: soap-user@ws.apache.org
> >>>>>>>>>> Subject: SOAP-over-UDP
> >>>>>>>>>>
> >>>>>>>>>> Hi, I'm desperate!
> >>>>>>>>>> I'm trying to find out how to send a broadcast SOAP request
> >>>>>>>>>> to a
> >>>>>>>>>> UDDI
> >>>>>>>>>> registry in a LAN, but I'm not able to do this. I've looked
> >>>>>>>>>> for some
> >>>>>>>>>> example but I've not found anithing.
> >>>>>>>>>>
> >>>>>>>>>> Please...could anybody help me?
> >>>>>>>>>> I'm making a thesis for the University of Florence (Italy)
> >>>>>>>>>> and I
> >>>>>>>>>> have
> >>>>>>>>>> to discovery dinamically web service published in some UDDI
> >>>>>>>>>> registry
> >>>>>>>>>> somewhere in a LAN. I have to send a broadcast SOAP
> >>>>>>>>>> request to
> >>>>>>>>>> these
> >>>>>>>>>> UDDI registry (as I wrote few lines above).
> >>>>>>>>>> Of course I'm using Java language.
> >>>>>>>>>>
> >>>>>>>>>> Thank you very much for your help...I'm in a great
> >>>>>>>>>> hurry...thanks
> >>>>>>>>>> very
> >>>>>>>>>> very much to everyone could help me!
> >>>>>>>>>>
> >>>>>>>>>> Best reguards,
> >>>>>>>>>>
> >>>>>>>>>> Francesco
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >
> 
>


Re: SOAP-over-UDP

Posted by Francesco Munari <fm...@gmail.com>.
Great Mark!

You have explained your point of view as well as you could.
So the point is to give a proxy to every server that has an UDDI
registry. This proxy, written in Java, waits for UDP datagrams. Maybe
the broadcast UDP message sent by the client could also contains the
key of the service that the client is searching for. In this way the
proxy receives the message, ask its UDDI registry for that service and
reply with a byte[] containing the URL of the service's WSDL file. Uh?
Should be a good idea instead of retreiving the IP address and having
also to ask the registry for the service?

Thank's again to you all!! You're help me more than you think! Thank's.

Cheers

Francesco

2005/5/31, mdonaghue <md...@mzeal.com>:
> Hi Francesco,
> 
> My original suggestion was to use DNS to identify the URL of the UDDI server
> in the local subnet. The advantage to this is that no broadcast message is
> needed and it's using a common solution. The disadvantage is it requires an
> entry in the DNS server database, some knowledge of how to administrate it,
> and isn't automated.
> 
> So, I tend to agree with Eric's solution (except for the last step which I
> believe should be unicast, not broadcast).  The basic idea is to have the
> client broadcast a "who has a UDDI Server" message when it comes online. XML
> will be ok, because since the broadcast only happens once, verbosity is not
> an issue. However, a simple text message would also do the trick and
> eliminates the need to parse XML. In either case, a simple UDP server
> process listening on over a known port on the UDDI server machine will
> respond, identifying itself to the client. At that point the IP address of
> the UDDI server is available to the client and the UDDI request can be
> unicast to it.
> 
> This message sequence is identical the ARP protocol, which allows an
> end-host to determine the MAC address of system with a known IP address. The
> end-host broadcasts a "who has this IP address?" message to the subnet. If a
> host with that IP address receives the message, it unicasts an "I have it"
> message, enclosing its MAC address along with it. From then on, all
> communication for that flow can be unicast.
> 
> The actual messaging discussed above should be handled outside of SOAP,
> since SOAP is not intended for this kind of functionality. It could be
> easily implemented as with Java using UDP datagram sockets.
> 
> This approach handles the potential problem of multiple servers on the same
> subnet, since the client can just choose one. It also solves the problem of
> the UDDI server not being architected around a possible broadcast scenario,
> typically running over TCP.  You won't need SOAP over UDP. It minimizes
> network overhead since only a single broadcast is made, when the client
> comes online.
> 
> Regards,
> Mark
> 
> 
> -----Original Message-----
> From: Eric VERGNAUD [mailto:eric.vergnaud@jlynx.com]
> Sent: Tuesday, May 31, 2005 7:58 AM
> To: soap-user@ws.apache.org
> Subject: Re: SOAP-over-UDP
> 
> It depends on what you mean by continuous. a 16 bytes packet every 5
> seconds certainly won't.
> 
> If you need a higher reactivity, you can do the following:
>  - have the client broadcast a message on a port
>  - have the server listen on that port
>  - when the server receives a connection, have it broadcast as
> suggested in my previous email
> 
> Le 31 mai 05 à 13:17, Francesco Munari a écrit :
> 
> > But there isn't the risk of flooding the LAN with these continuous
> > broadcast messages?
> >
> > 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> >
> >> Have your server regularly broadcast its address on a port.
> >> Have your client act as a server on startup and listen on the same
> >> port.
> >> When the real server broadcasts its address, the client will receive
> >> a connection request.
> >> One you have the server address, ask the server for the information
> >> you need (what you call the context).
> >>
> >> Le 31 mai 05 à 11:41, Francesco Munari a écrit :
> >>
> >>
> >>> Hi, Eric.
> >>>
> >>> Ok, but how can I do this? I think I'm a newbie in this kind of
> >>> operation, sorry. How can I look to a port of servers in a LAN
> >>> without
> >>> knowing their IP? And in this way may I keep the context-
> >>> awareness of
> >>> the communication?
> >>>
> >>> thank you for you reply
> >>>
> >>> Cheers
> >>>
> >>> francesco
> >>>
> >>> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> >>>
> >>>
> >>>> I'm afraid that is a very verbose way of doing things. The typical
> >>>> way to do this is determine a port, have your server broadcast
> >>>> its IP
> >>>> address on that port, and your clients look on that port to grab
> >>>> the
> >>>> address.
> >>>>
> >>>> Once the address is found, you can safely interact with the server
> >>>> using SOAP over HTTP.
> >>>>
> >>>> Le 30 mai 05 à 22:19, Francesco Munari a écrit :
> >>>>
> >>>>
> >>>>
> >>>>> I'm alredy using UDDI4j. The idea is that I don't know where the
> >>>>> UDDI
> >>>>> registry can be in the LAN.
> >>>>> I assume that the client knows only two things:
> >>>>> 1) the network (of course)
> >>>>> 2) a "search key" for a particular tipe of service
> >>>>>
> >>>>> and that's all.
> >>>>> The client should send a broadcast SOAP (or XML-RPC) request
> >>>>> containing the search method to call on the server with the "key"
> >>>>> passed as a parameter and somewhere into the LAN should be a
> >>>>> server
> >>>>> (or more) with its private UDDI registry that should reply with a
> >>>>> response containing the result of the invoking of the method
> >>>>> contained
> >>>>> in the sender's RPC request. The response should contain just the
> >>>>> URL
> >>>>> of the WSDL file related to the service found.
> >>>>>
> >>>>> The need of the broadcast message is that the client don't know
> >>>>> where
> >>>>> (or if) there could be any UDDI registry in the network. With this
> >>>>> framework a client can change network configuration (for example,
> >>>>> going from a floor to another with a Palm in a wireless LAN) and,
> >>>>> after leaving the service provided in the first network, find
> >>>>> anothe
> >>>>> one similar on the other network only by pressing the button
> >>>>> "Refresh"
> >>>>> :)
> >>>>>
> >>>>> Francesco
> >>>>>
> >>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>>>>
> >>>>>
> >>>>>
> >>>>>> The side effect of a broadcast without authentication is
> >>>>>> flooding the
> >>>>>> network with unwanted disovery packets
> >>>>>> I guess this is OK if you're utilising a high datarate
> >>>>>> transmission i guess
> >>>>>>
> >>>>>> In your case your SOAP Request should look like
> >>>>>>
> >>>>>> <?xml version="1.0"?>
> >>>>>> <SOAP-ENV:Envelope
> >>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
> >>>>>>  <SOAP-ENV:Body>
> >>>>>>    <getTest>
> >>>>>>      <Test>Test</Test>
> >>>>>>    </getTest>
> >>>>>>  </SOAP-ENV:Body>
> >>>>>> </SOAP-ENV:Envelope>
> >>>>>>
> >>>>>> If you want to discover a "SOAP based" web-service based on some
> >>>>>> characteristic such as Business Service Category why not use
> >>>>>> UDDI4J?
> >>>>>> Take a look at
> >>>>>> http://sourceforge.net/projects/uddi4j
> >>>>>>
> >>>>>> Martin-
> >>>>>>
> >>>>>> ----- Original Message -----
> >>>>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>>>> To: "Martin Gainty" <mg...@hotmail.com>
> >>>>>> Cc: <so...@ws.apache.org>
> >>>>>> Sent: Monday, May 30, 2005 12:44 PM
> >>>>>> Subject: Re: SOAP-over-UDP
> >>>>>>
> >>>>>> Martins,
> >>>>>>
> >>>>>> It is for this reason that I'd like to broadcast a SOAP request
> >>>>>> instead of a simple XML-RPC message. The goal of my framework
> >>>>>> is to
> >>>>>> keep the "context awareness" offered by XML language.
> >>>>>> If you are sure that there is no way to send a broadcast SOAP
> >>>>>> request,
> >>>>>> the last solution, I think, it could be XML-RPC.
> >>>>>>
> >>>>>> So, two questions:
> >>>>>>
> >>>>>> 1) are you sure ther's no way to send a broadcast SOAP request?
> >>>>>> 2) In order to send a broadcast XML-RPC message I've to cerate a
> >>>>>> StringWriter like this (for example)?
> >>>>>>
> >>>>>> <?xml version="1.0" ?>
> >>>>>>   <methodCall>
> >>>>>>       <methodName>getTest</methodName>
> >>>>>>       <params>
> >>>>>>           <param>
> >>>>>>               <value>
> >>>>>>                  <string>Test</string>
> >>>>>>               </value>
> >>>>>>           </param>
> >>>>>>       </params>
> >>>>>> </methodCall>
> >>>>>>
> >>>>>> Thank's Martin.
> >>>>>>
> >>>>>> Francesco
> >>>>>>
> >>>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>> Francesco-
> >>>>>>> You can Broadcast XML-RPC assuming you dont mind flooding your
> >>>>>>> network
> >>>>>>> The question is can you confine your application to using the
> >>>>>>> more basic
> >>>>>>> datatypes supported by XML-RPC
> >>>>>>> vs implementing SOAP features (user-defined datatypes, namespace
> >>>>>>> URI)?
> >>>>>>> Anyone else?
> >>>>>>> Martin-
> >>>>>>> ----- Original Message -----
> >>>>>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>>>>> To: "Martin Gainty" <mg...@hotmail.com>
> >>>>>>> Cc: <so...@ws.apache.org>
> >>>>>>> Sent: Monday, May 30, 2005 6:45 AM
> >>>>>>> Subject: Re: SOAP-over-UDP
> >>>>>>>
> >>>>>>> Grazie! :)
> >>>>>>>
> >>>>>>> Could someone tell me if a simple XML-RPC message may be sent
> >>>>>>> to a
> >>>>>>> broadcast address? A simple message with the medthod to be
> >>>>>>> invoked. In
> >>>>>>> this way I should be able to send a broadcast XML-RPC request
> >>>>>>> with the
> >>>>>>> appropriate UDDI inquiry method; a server (containing a UDDI
> >>>>>>> registry)
> >>>>>>> should receive it, invoke that method and send a reply in XML
> >>>>>>> format
> >>>>>>> to the sender.
> >>>>>>>
> >>>>>>> It could be a good idea?
> >>>>>>>
> >>>>>>> thank you again!
> >>>>>>>
> >>>>>>> Francesco
> >>>>>>>
> >>>>>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>> benvenuto!
> >>>>>>>> Martin-
> >>>>>>>>
> >>>>>>>> ----- Original Message -----
> >>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>>>>>> To: <so...@ws.apache.org>
> >>>>>>>> Sent: Saturday, May 28, 2005 5:41 PM
> >>>>>>>> Subject: Re: SOAP-over-UDP
> >>>>>>>>
> >>>>>>>> Thank you all for your very quick reply!
> >>>>>>>>
> >>>>>>>> I've heard about this SOAP-over-UDP spec
> >>>>>>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en-
> >>>>>>>> us/dnglobspec/html/soap-over-udp.asp).
> >>>>>>>> So, Martin, you say that it could not be a solution? Perhaps it
> >>>>>>>> should
> >>>>>>>> be an idea using Mark's solution (with DNS).
> >>>>>>>>
> >>>>>>>> I thought to resolve the problem putting a SOAP envelope into
> >>>>>>>> a UDP
> >>>>>>>> datagram, send the datagram to a broadcast ip and that's all
> >>>>>>>> folks...but I don't know how and, as you, Martins, wrote, I
> >>>>>>>> was not
> >>>>>>>> able to find anybody who has implemented this yet.
> >>>>>>>>
> >>>>>>>> Can you suggest me another solutions?
> >>>>>>>>
> >>>>>>>> Thank you very much again!!
> >>>>>>>>
> >>>>>>>> Cheers,
> >>>>>>>>
> >>>>>>>> Francesco
> >>>>>>>>
> >>>>>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> Mark/Francesco
> >>>>>>>>> I would caution on use of UDP as the SOAP Portocols (e.g.
> >>>>>>>>> HTTP)
> >>>>>>>>> is/are
> >>>>>>>>> decidely not UDP but instead a connection-oriented TCP
> >>>>>>>>> To date I have not seen UDP Ports used for SOAP transmission
> >>>>>>>>> although
> >>>>>>>>> since
> >>>>>>>>> there is no requirement for verifiable connection and or
> >>>>>>>>> handshakes
> >>>>>>>>> I would venture to guess UDP is available as the transmission
> >>>>>>>>> medium
> >>>>>>>>> but
> >>>>>>>>> I
> >>>>>>>>> have not seen any UDP Ports used for SOAP thus far
> >>>>>>>>> Anyone else ???
> >>>>>>>>> Ciao-
> >>>>>>>>> Martin-
> >>>>>>>>>
> >>>>>>>>> ----- Original Message -----
> >>>>>>>>> From: "mdonaghue" <md...@mZeal.com>
> >>>>>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
> >>>>>>>>> <fm...@gmail.com>
> >>>>>>>>> Sent: Saturday, May 28, 2005 3:14 PM
> >>>>>>>>> Subject: RE: SOAP-over-UDP
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> Hi Franceso,
> >>>>>>>>>>
> >>>>>>>>>> I've worked briefly with the apache soap api, not that
> >>>>>>>>>> familiar with
> >>>>>>>>>> it.
> >>>>>>>>>> Typically a soap message is sent to a single soap server
> >>>>>>>>>> address,
> >>>>>>>>>> which
> >>>>>>>>>> is
> >>>>>>>>>> specified by a url or an ip address, as well as a port. So
> >>>>>>>>>> your
> >>>>>>>>>> server
> >>>>>>>>>> address on the LAN might be something like
> >>>>>>>>>> 192.168.100.2:8080.
> >>>>>>>>>> (I'm
> >>>>>>>>>> not
> >>>>>>>>>> sure
> >>>>>>>>>> what the port is for UDDI, so just using standard TomCat Web
> >>>>>>>>>> Server
> >>>>>>>>>> port).
> >>>>>>>>>>
> >>>>>>>>>> IIRC, you there's a point at which you specify that
> >>>>>>>>>> address in
> >>>>>>>>>> the
> >>>>>>>>>> setup
> >>>>>>>>>> for
> >>>>>>>>>> your soap call. One thing you could try is to change the
> >>>>>>>>>> address to
> >>>>>>>>>> the
> >>>>>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
> >>>>>>>>>> class c
> >>>>>>>>>> network
> >>>>>>>>>> where the first 3 quads specify the network portion of the
> >>>>>>>>>> submask.
> >>>>>>>>>>
> >>>>>>>>>> However, this may not a scalable solution, since the
> >>>>>>>>>> broadcast
> >>>>>>>>>> wouldn't
> >>>>>>>>>> carry beyond the physical subnet on which you are located.
> >>>>>>>>>> Using
> >>>>>>>>>> UDDI
> >>>>>>>>>> to
> >>>>>>>>>> discover services is one thing, but dynamically discovering
> >>>>>>>>>> UDDI
> >>>>>>>>>> servers
> >>>>>>>>>> is
> >>>>>>>>>> obviously a different problem. It also doesn't address the
> >>>>>>>>>> issue of
> >>>>>>>>>> more
> >>>>>>>>>> than one UDDI server running on the same subnet.
> >>>>>>>>>>
> >>>>>>>>>> A more generalized solution might involve a distributed ip
> >>>>>>>>>> lookup
> >>>>>>>>>> service,
> >>>>>>>>>> namely DNS. For example when DNS looks up the ip address of
> >>>>>>>>>> Yahoo.com,
> >>>>>>>>>> at
> >>>>>>>>>> some point the actual ip address that serves the request is
> >>>>>>>>>> dynamically
> >>>>>>>>>> assigned to one of dozens (or hundreds) of servers based on a
> >>>>>>>>>> scheduling
> >>>>>>>>>> scheme.  You could locally enable DNS lookup, and create an
> >>>>>>>>>> entry
> >>>>>>>>>> based
> >>>>>>>>>> on
> >>>>>>>>>> some url like "myuddpsever.com", and give it your local UDDI
> >>>>>>>>>> server's
> >>>>>>>>>> ip
> >>>>>>>>>> address, and the rest would be handled within the network.
> >>>>>>>>>> The
> >>>>>>>>>> advantage
> >>>>>>>>>> to
> >>>>>>>>>> this is your UDDP server could be anywhere and your message
> >>>>>>>>>> would
> >>>>>>>>>> still
> >>>>>>>>>> reach it.
> >>>>>>>>>>
> >>>>>>>>>> hth,
> >>>>>>>>>> Mark
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> -----Original Message-----
> >>>>>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
> >>>>>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
> >>>>>>>>>> To: soap-user@ws.apache.org
> >>>>>>>>>> Subject: SOAP-over-UDP
> >>>>>>>>>>
> >>>>>>>>>> Hi, I'm desperate!
> >>>>>>>>>> I'm trying to find out how to send a broadcast SOAP request
> >>>>>>>>>> to a
> >>>>>>>>>> UDDI
> >>>>>>>>>> registry in a LAN, but I'm not able to do this. I've looked
> >>>>>>>>>> for some
> >>>>>>>>>> example but I've not found anithing.
> >>>>>>>>>>
> >>>>>>>>>> Please...could anybody help me?
> >>>>>>>>>> I'm making a thesis for the University of Florence (Italy)
> >>>>>>>>>> and I
> >>>>>>>>>> have
> >>>>>>>>>> to discovery dinamically web service published in some UDDI
> >>>>>>>>>> registry
> >>>>>>>>>> somewhere in a LAN. I have to send a broadcast SOAP
> >>>>>>>>>> request to
> >>>>>>>>>> these
> >>>>>>>>>> UDDI registry (as I wrote few lines above).
> >>>>>>>>>> Of course I'm using Java language.
> >>>>>>>>>>
> >>>>>>>>>> Thank you very much for your help...I'm in a great
> >>>>>>>>>> hurry...thanks
> >>>>>>>>>> very
> >>>>>>>>>> very much to everyone could help me!
> >>>>>>>>>>
> >>>>>>>>>> Best reguards,
> >>>>>>>>>>
> >>>>>>>>>> Francesco
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >
> 
>

Re: SOAP-over-UDP

Posted by Anne Thomas Manes <at...@gmail.com>.
Broadcasting XML messages is way too verbose.

Another thing to consider is that fact that the UDDI service isn't
prepared to respond to a broadcast message. So your basic design just
isn't going to work. UDDI does not provide a bootstrapping mechanism.
It doesn't support dynamic discovery of itself. It works on the
assumption that you know the location of the UDDI service a priori.

Anne

On 5/31/05, Francesco Munari <fm...@gmail.com> wrote:
> Ok! I'll try it keeping the context-awareness.
> So you think tha broadcast XML message is a bit too verbose?
> 
> Thank you very much
> 
> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> > It depends on what you mean by continuous. a 16 bytes packet every 5
> > seconds certainly won't.
> >
> > If you need a higher reactivity, you can do the following:
> >  - have the client broadcast a message on a port
> >  - have the server listen on that port
> >  - when the server receives a connection, have it broadcast as
> > suggested in my previous email
> >
> > Le 31 mai 05 à 13:17, Francesco Munari a écrit :
> >
> > > But there isn't the risk of flooding the LAN with these continuous
> > > broadcast messages?
> > >
> > > 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> > >
> > >> Have your server regularly broadcast its address on a port.
> > >> Have your client act as a server on startup and listen on the same
> > >> port.
> > >> When the real server broadcasts its address, the client will receive
> > >> a connection request.
> > >> One you have the server address, ask the server for the information
> > >> you need (what you call the context).
> > >>
> > >> Le 31 mai 05 à 11:41, Francesco Munari a écrit :
> > >>
> > >>
> > >>> Hi, Eric.
> > >>>
> > >>> Ok, but how can I do this? I think I'm a newbie in this kind of
> > >>> operation, sorry. How can I look to a port of servers in a LAN
> > >>> without
> > >>> knowing their IP? And in this way may I keep the context-
> > >>> awareness of
> > >>> the communication?
> > >>>
> > >>> thank you for you reply
> > >>>
> > >>> Cheers
> > >>>
> > >>> francesco
> > >>>
> > >>> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> > >>>
> > >>>
> > >>>> I'm afraid that is a very verbose way of doing things. The typical
> > >>>> way to do this is determine a port, have your server broadcast
> > >>>> its IP
> > >>>> address on that port, and your clients look on that port to grab
> > >>>> the
> > >>>> address.
> > >>>>
> > >>>> Once the address is found, you can safely interact with the server
> > >>>> using SOAP over HTTP.
> > >>>>
> > >>>> Le 30 mai 05 à 22:19, Francesco Munari a écrit :
> > >>>>
> > >>>>
> > >>>>
> > >>>>> I'm alredy using UDDI4j. The idea is that I don't know where the
> > >>>>> UDDI
> > >>>>> registry can be in the LAN.
> > >>>>> I assume that the client knows only two things:
> > >>>>> 1) the network (of course)
> > >>>>> 2) a "search key" for a particular tipe of service
> > >>>>>
> > >>>>> and that's all.
> > >>>>> The client should send a broadcast SOAP (or XML-RPC) request
> > >>>>> containing the search method to call on the server with the "key"
> > >>>>> passed as a parameter and somewhere into the LAN should be a
> > >>>>> server
> > >>>>> (or more) with its private UDDI registry that should reply with a
> > >>>>> response containing the result of the invoking of the method
> > >>>>> contained
> > >>>>> in the sender's RPC request. The response should contain just the
> > >>>>> URL
> > >>>>> of the WSDL file related to the service found.
> > >>>>>
> > >>>>> The need of the broadcast message is that the client don't know
> > >>>>> where
> > >>>>> (or if) there could be any UDDI registry in the network. With this
> > >>>>> framework a client can change network configuration (for example,
> > >>>>> going from a floor to another with a Palm in a wireless LAN) and,
> > >>>>> after leaving the service provided in the first network, find
> > >>>>> anothe
> > >>>>> one similar on the other network only by pressing the button
> > >>>>> "Refresh"
> > >>>>> :)
> > >>>>>
> > >>>>> Francesco
> > >>>>>
> > >>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>> The side effect of a broadcast without authentication is
> > >>>>>> flooding the
> > >>>>>> network with unwanted disovery packets
> > >>>>>> I guess this is OK if you're utilising a high datarate
> > >>>>>> transmission i guess
> > >>>>>>
> > >>>>>> In your case your SOAP Request should look like
> > >>>>>>
> > >>>>>> <?xml version="1.0"?>
> > >>>>>> <SOAP-ENV:Envelope
> > >>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
> > >>>>>>  <SOAP-ENV:Body>
> > >>>>>>    <getTest>
> > >>>>>>      <Test>Test</Test>
> > >>>>>>    </getTest>
> > >>>>>>  </SOAP-ENV:Body>
> > >>>>>> </SOAP-ENV:Envelope>
> > >>>>>>
> > >>>>>> If you want to discover a "SOAP based" web-service based on some
> > >>>>>> characteristic such as Business Service Category why not use
> > >>>>>> UDDI4J?
> > >>>>>> Take a look at
> > >>>>>> http://sourceforge.net/projects/uddi4j
> > >>>>>>
> > >>>>>> Martin-
> > >>>>>>
> > >>>>>> ----- Original Message -----
> > >>>>>> From: "Francesco Munari" <fm...@gmail.com>
> > >>>>>> To: "Martin Gainty" <mg...@hotmail.com>
> > >>>>>> Cc: <so...@ws.apache.org>
> > >>>>>> Sent: Monday, May 30, 2005 12:44 PM
> > >>>>>> Subject: Re: SOAP-over-UDP
> > >>>>>>
> > >>>>>> Martins,
> > >>>>>>
> > >>>>>> It is for this reason that I'd like to broadcast a SOAP request
> > >>>>>> instead of a simple XML-RPC message. The goal of my framework
> > >>>>>> is to
> > >>>>>> keep the "context awareness" offered by XML language.
> > >>>>>> If you are sure that there is no way to send a broadcast SOAP
> > >>>>>> request,
> > >>>>>> the last solution, I think, it could be XML-RPC.
> > >>>>>>
> > >>>>>> So, two questions:
> > >>>>>>
> > >>>>>> 1) are you sure ther's no way to send a broadcast SOAP request?
> > >>>>>> 2) In order to send a broadcast XML-RPC message I've to cerate a
> > >>>>>> StringWriter like this (for example)?
> > >>>>>>
> > >>>>>> <?xml version="1.0" ?>
> > >>>>>>   <methodCall>
> > >>>>>>       <methodName>getTest</methodName>
> > >>>>>>       <params>
> > >>>>>>           <param>
> > >>>>>>               <value>
> > >>>>>>                  <string>Test</string>
> > >>>>>>               </value>
> > >>>>>>           </param>
> > >>>>>>       </params>
> > >>>>>> </methodCall>
> > >>>>>>
> > >>>>>> Thank's Martin.
> > >>>>>>
> > >>>>>> Francesco
> > >>>>>>
> > >>>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>> Francesco-
> > >>>>>>> You can Broadcast XML-RPC assuming you dont mind flooding your
> > >>>>>>> network
> > >>>>>>> The question is can you confine your application to using the
> > >>>>>>> more basic
> > >>>>>>> datatypes supported by XML-RPC
> > >>>>>>> vs implementing SOAP features (user-defined datatypes, namespace
> > >>>>>>> URI)?
> > >>>>>>> Anyone else?
> > >>>>>>> Martin-
> > >>>>>>> ----- Original Message -----
> > >>>>>>> From: "Francesco Munari" <fm...@gmail.com>
> > >>>>>>> To: "Martin Gainty" <mg...@hotmail.com>
> > >>>>>>> Cc: <so...@ws.apache.org>
> > >>>>>>> Sent: Monday, May 30, 2005 6:45 AM
> > >>>>>>> Subject: Re: SOAP-over-UDP
> > >>>>>>>
> > >>>>>>> Grazie! :)
> > >>>>>>>
> > >>>>>>> Could someone tell me if a simple XML-RPC message may be sent
> > >>>>>>> to a
> > >>>>>>> broadcast address? A simple message with the medthod to be
> > >>>>>>> invoked. In
> > >>>>>>> this way I should be able to send a broadcast XML-RPC request
> > >>>>>>> with the
> > >>>>>>> appropriate UDDI inquiry method; a server (containing a UDDI
> > >>>>>>> registry)
> > >>>>>>> should receive it, invoke that method and send a reply in XML
> > >>>>>>> format
> > >>>>>>> to the sender.
> > >>>>>>>
> > >>>>>>> It could be a good idea?
> > >>>>>>>
> > >>>>>>> thank you again!
> > >>>>>>>
> > >>>>>>> Francesco
> > >>>>>>>
> > >>>>>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>> benvenuto!
> > >>>>>>>> Martin-
> > >>>>>>>>
> > >>>>>>>> ----- Original Message -----
> > >>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
> > >>>>>>>> To: <so...@ws.apache.org>
> > >>>>>>>> Sent: Saturday, May 28, 2005 5:41 PM
> > >>>>>>>> Subject: Re: SOAP-over-UDP
> > >>>>>>>>
> > >>>>>>>> Thank you all for your very quick reply!
> > >>>>>>>>
> > >>>>>>>> I've heard about this SOAP-over-UDP spec
> > >>>>>>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en-
> > >>>>>>>> us/dnglobspec/html/soap-over-udp.asp).
> > >>>>>>>> So, Martin, you say that it could not be a solution? Perhaps it
> > >>>>>>>> should
> > >>>>>>>> be an idea using Mark's solution (with DNS).
> > >>>>>>>>
> > >>>>>>>> I thought to resolve the problem putting a SOAP envelope into
> > >>>>>>>> a UDP
> > >>>>>>>> datagram, send the datagram to a broadcast ip and that's all
> > >>>>>>>> folks...but I don't know how and, as you, Martins, wrote, I
> > >>>>>>>> was not
> > >>>>>>>> able to find anybody who has implemented this yet.
> > >>>>>>>>
> > >>>>>>>> Can you suggest me another solutions?
> > >>>>>>>>
> > >>>>>>>> Thank you very much again!!
> > >>>>>>>>
> > >>>>>>>> Cheers,
> > >>>>>>>>
> > >>>>>>>> Francesco
> > >>>>>>>>
> > >>>>>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>> Mark/Francesco
> > >>>>>>>>> I would caution on use of UDP as the SOAP Portocols (e.g.
> > >>>>>>>>> HTTP)
> > >>>>>>>>> is/are
> > >>>>>>>>> decidely not UDP but instead a connection-oriented TCP
> > >>>>>>>>> To date I have not seen UDP Ports used for SOAP transmission
> > >>>>>>>>> although
> > >>>>>>>>> since
> > >>>>>>>>> there is no requirement for verifiable connection and or
> > >>>>>>>>> handshakes
> > >>>>>>>>> I would venture to guess UDP is available as the transmission
> > >>>>>>>>> medium
> > >>>>>>>>> but
> > >>>>>>>>> I
> > >>>>>>>>> have not seen any UDP Ports used for SOAP thus far
> > >>>>>>>>> Anyone else ???
> > >>>>>>>>> Ciao-
> > >>>>>>>>> Martin-
> > >>>>>>>>>
> > >>>>>>>>> ----- Original Message -----
> > >>>>>>>>> From: "mdonaghue" <md...@mZeal.com>
> > >>>>>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
> > >>>>>>>>> <fm...@gmail.com>
> > >>>>>>>>> Sent: Saturday, May 28, 2005 3:14 PM
> > >>>>>>>>> Subject: RE: SOAP-over-UDP
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>> Hi Franceso,
> > >>>>>>>>>>
> > >>>>>>>>>> I've worked briefly with the apache soap api, not that
> > >>>>>>>>>> familiar with
> > >>>>>>>>>> it.
> > >>>>>>>>>> Typically a soap message is sent to a single soap server
> > >>>>>>>>>> address,
> > >>>>>>>>>> which
> > >>>>>>>>>> is
> > >>>>>>>>>> specified by a url or an ip address, as well as a port. So
> > >>>>>>>>>> your
> > >>>>>>>>>> server
> > >>>>>>>>>> address on the LAN might be something like
> > >>>>>>>>>> 192.168.100.2:8080.
> > >>>>>>>>>> (I'm
> > >>>>>>>>>> not
> > >>>>>>>>>> sure
> > >>>>>>>>>> what the port is for UDDI, so just using standard TomCat Web
> > >>>>>>>>>> Server
> > >>>>>>>>>> port).
> > >>>>>>>>>>
> > >>>>>>>>>> IIRC, you there's a point at which you specify that
> > >>>>>>>>>> address in
> > >>>>>>>>>> the
> > >>>>>>>>>> setup
> > >>>>>>>>>> for
> > >>>>>>>>>> your soap call. One thing you could try is to change the
> > >>>>>>>>>> address to
> > >>>>>>>>>> the
> > >>>>>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
> > >>>>>>>>>> class c
> > >>>>>>>>>> network
> > >>>>>>>>>> where the first 3 quads specify the network portion of the
> > >>>>>>>>>> submask.
> > >>>>>>>>>>
> > >>>>>>>>>> However, this may not a scalable solution, since the
> > >>>>>>>>>> broadcast
> > >>>>>>>>>> wouldn't
> > >>>>>>>>>> carry beyond the physical subnet on which you are located.
> > >>>>>>>>>> Using
> > >>>>>>>>>> UDDI
> > >>>>>>>>>> to
> > >>>>>>>>>> discover services is one thing, but dynamically discovering
> > >>>>>>>>>> UDDI
> > >>>>>>>>>> servers
> > >>>>>>>>>> is
> > >>>>>>>>>> obviously a different problem. It also doesn't address the
> > >>>>>>>>>> issue of
> > >>>>>>>>>> more
> > >>>>>>>>>> than one UDDI server running on the same subnet.
> > >>>>>>>>>>
> > >>>>>>>>>> A more generalized solution might involve a distributed ip
> > >>>>>>>>>> lookup
> > >>>>>>>>>> service,
> > >>>>>>>>>> namely DNS. For example when DNS looks up the ip address of
> > >>>>>>>>>> Yahoo.com,
> > >>>>>>>>>> at
> > >>>>>>>>>> some point the actual ip address that serves the request is
> > >>>>>>>>>> dynamically
> > >>>>>>>>>> assigned to one of dozens (or hundreds) of servers based on a
> > >>>>>>>>>> scheduling
> > >>>>>>>>>> scheme.  You could locally enable DNS lookup, and create an
> > >>>>>>>>>> entry
> > >>>>>>>>>> based
> > >>>>>>>>>> on
> > >>>>>>>>>> some url like "myuddpsever.com", and give it your local UDDI
> > >>>>>>>>>> server's
> > >>>>>>>>>> ip
> > >>>>>>>>>> address, and the rest would be handled within the network.
> > >>>>>>>>>> The
> > >>>>>>>>>> advantage
> > >>>>>>>>>> to
> > >>>>>>>>>> this is your UDDP server could be anywhere and your message
> > >>>>>>>>>> would
> > >>>>>>>>>> still
> > >>>>>>>>>> reach it.
> > >>>>>>>>>>
> > >>>>>>>>>> hth,
> > >>>>>>>>>> Mark
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>> -----Original Message-----
> > >>>>>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
> > >>>>>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
> > >>>>>>>>>> To: soap-user@ws.apache.org
> > >>>>>>>>>> Subject: SOAP-over-UDP
> > >>>>>>>>>>
> > >>>>>>>>>> Hi, I'm desperate!
> > >>>>>>>>>> I'm trying to find out how to send a broadcast SOAP request
> > >>>>>>>>>> to a
> > >>>>>>>>>> UDDI
> > >>>>>>>>>> registry in a LAN, but I'm not able to do this. I've looked
> > >>>>>>>>>> for some
> > >>>>>>>>>> example but I've not found anithing.
> > >>>>>>>>>>
> > >>>>>>>>>> Please...could anybody help me?
> > >>>>>>>>>> I'm making a thesis for the University of Florence (Italy)
> > >>>>>>>>>> and I
> > >>>>>>>>>> have
> > >>>>>>>>>> to discovery dinamically web service published in some UDDI
> > >>>>>>>>>> registry
> > >>>>>>>>>> somewhere in a LAN. I have to send a broadcast SOAP
> > >>>>>>>>>> request to
> > >>>>>>>>>> these
> > >>>>>>>>>> UDDI registry (as I wrote few lines above).
> > >>>>>>>>>> Of course I'm using Java language.
> > >>>>>>>>>>
> > >>>>>>>>>> Thank you very much for your help...I'm in a great
> > >>>>>>>>>> hurry...thanks
> > >>>>>>>>>> very
> > >>>>>>>>>> very much to everyone could help me!
> > >>>>>>>>>>
> > >>>>>>>>>> Best reguards,
> > >>>>>>>>>>
> > >>>>>>>>>> Francesco
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>
> > >>>
> > >>
> > >>
> > >
> >
> >
>

Re: SOAP-over-UDP

Posted by Francesco Munari <fm...@gmail.com>.
Ok! I'll try it keeping the context-awareness.
So you think tha broadcast XML message is a bit too verbose?

Thank you very much

2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> It depends on what you mean by continuous. a 16 bytes packet every 5
> seconds certainly won't.
> 
> If you need a higher reactivity, you can do the following:
>  - have the client broadcast a message on a port
>  - have the server listen on that port
>  - when the server receives a connection, have it broadcast as
> suggested in my previous email
> 
> Le 31 mai 05 à 13:17, Francesco Munari a écrit :
> 
> > But there isn't the risk of flooding the LAN with these continuous
> > broadcast messages?
> >
> > 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> >
> >> Have your server regularly broadcast its address on a port.
> >> Have your client act as a server on startup and listen on the same
> >> port.
> >> When the real server broadcasts its address, the client will receive
> >> a connection request.
> >> One you have the server address, ask the server for the information
> >> you need (what you call the context).
> >>
> >> Le 31 mai 05 à 11:41, Francesco Munari a écrit :
> >>
> >>
> >>> Hi, Eric.
> >>>
> >>> Ok, but how can I do this? I think I'm a newbie in this kind of
> >>> operation, sorry. How can I look to a port of servers in a LAN
> >>> without
> >>> knowing their IP? And in this way may I keep the context-
> >>> awareness of
> >>> the communication?
> >>>
> >>> thank you for you reply
> >>>
> >>> Cheers
> >>>
> >>> francesco
> >>>
> >>> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> >>>
> >>>
> >>>> I'm afraid that is a very verbose way of doing things. The typical
> >>>> way to do this is determine a port, have your server broadcast
> >>>> its IP
> >>>> address on that port, and your clients look on that port to grab
> >>>> the
> >>>> address.
> >>>>
> >>>> Once the address is found, you can safely interact with the server
> >>>> using SOAP over HTTP.
> >>>>
> >>>> Le 30 mai 05 à 22:19, Francesco Munari a écrit :
> >>>>
> >>>>
> >>>>
> >>>>> I'm alredy using UDDI4j. The idea is that I don't know where the
> >>>>> UDDI
> >>>>> registry can be in the LAN.
> >>>>> I assume that the client knows only two things:
> >>>>> 1) the network (of course)
> >>>>> 2) a "search key" for a particular tipe of service
> >>>>>
> >>>>> and that's all.
> >>>>> The client should send a broadcast SOAP (or XML-RPC) request
> >>>>> containing the search method to call on the server with the "key"
> >>>>> passed as a parameter and somewhere into the LAN should be a
> >>>>> server
> >>>>> (or more) with its private UDDI registry that should reply with a
> >>>>> response containing the result of the invoking of the method
> >>>>> contained
> >>>>> in the sender's RPC request. The response should contain just the
> >>>>> URL
> >>>>> of the WSDL file related to the service found.
> >>>>>
> >>>>> The need of the broadcast message is that the client don't know
> >>>>> where
> >>>>> (or if) there could be any UDDI registry in the network. With this
> >>>>> framework a client can change network configuration (for example,
> >>>>> going from a floor to another with a Palm in a wireless LAN) and,
> >>>>> after leaving the service provided in the first network, find
> >>>>> anothe
> >>>>> one similar on the other network only by pressing the button
> >>>>> "Refresh"
> >>>>> :)
> >>>>>
> >>>>> Francesco
> >>>>>
> >>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>>>>
> >>>>>
> >>>>>
> >>>>>> The side effect of a broadcast without authentication is
> >>>>>> flooding the
> >>>>>> network with unwanted disovery packets
> >>>>>> I guess this is OK if you're utilising a high datarate
> >>>>>> transmission i guess
> >>>>>>
> >>>>>> In your case your SOAP Request should look like
> >>>>>>
> >>>>>> <?xml version="1.0"?>
> >>>>>> <SOAP-ENV:Envelope
> >>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
> >>>>>>  <SOAP-ENV:Body>
> >>>>>>    <getTest>
> >>>>>>      <Test>Test</Test>
> >>>>>>    </getTest>
> >>>>>>  </SOAP-ENV:Body>
> >>>>>> </SOAP-ENV:Envelope>
> >>>>>>
> >>>>>> If you want to discover a "SOAP based" web-service based on some
> >>>>>> characteristic such as Business Service Category why not use
> >>>>>> UDDI4J?
> >>>>>> Take a look at
> >>>>>> http://sourceforge.net/projects/uddi4j
> >>>>>>
> >>>>>> Martin-
> >>>>>>
> >>>>>> ----- Original Message -----
> >>>>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>>>> To: "Martin Gainty" <mg...@hotmail.com>
> >>>>>> Cc: <so...@ws.apache.org>
> >>>>>> Sent: Monday, May 30, 2005 12:44 PM
> >>>>>> Subject: Re: SOAP-over-UDP
> >>>>>>
> >>>>>> Martins,
> >>>>>>
> >>>>>> It is for this reason that I'd like to broadcast a SOAP request
> >>>>>> instead of a simple XML-RPC message. The goal of my framework
> >>>>>> is to
> >>>>>> keep the "context awareness" offered by XML language.
> >>>>>> If you are sure that there is no way to send a broadcast SOAP
> >>>>>> request,
> >>>>>> the last solution, I think, it could be XML-RPC.
> >>>>>>
> >>>>>> So, two questions:
> >>>>>>
> >>>>>> 1) are you sure ther's no way to send a broadcast SOAP request?
> >>>>>> 2) In order to send a broadcast XML-RPC message I've to cerate a
> >>>>>> StringWriter like this (for example)?
> >>>>>>
> >>>>>> <?xml version="1.0" ?>
> >>>>>>   <methodCall>
> >>>>>>       <methodName>getTest</methodName>
> >>>>>>       <params>
> >>>>>>           <param>
> >>>>>>               <value>
> >>>>>>                  <string>Test</string>
> >>>>>>               </value>
> >>>>>>           </param>
> >>>>>>       </params>
> >>>>>> </methodCall>
> >>>>>>
> >>>>>> Thank's Martin.
> >>>>>>
> >>>>>> Francesco
> >>>>>>
> >>>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>> Francesco-
> >>>>>>> You can Broadcast XML-RPC assuming you dont mind flooding your
> >>>>>>> network
> >>>>>>> The question is can you confine your application to using the
> >>>>>>> more basic
> >>>>>>> datatypes supported by XML-RPC
> >>>>>>> vs implementing SOAP features (user-defined datatypes, namespace
> >>>>>>> URI)?
> >>>>>>> Anyone else?
> >>>>>>> Martin-
> >>>>>>> ----- Original Message -----
> >>>>>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>>>>> To: "Martin Gainty" <mg...@hotmail.com>
> >>>>>>> Cc: <so...@ws.apache.org>
> >>>>>>> Sent: Monday, May 30, 2005 6:45 AM
> >>>>>>> Subject: Re: SOAP-over-UDP
> >>>>>>>
> >>>>>>> Grazie! :)
> >>>>>>>
> >>>>>>> Could someone tell me if a simple XML-RPC message may be sent
> >>>>>>> to a
> >>>>>>> broadcast address? A simple message with the medthod to be
> >>>>>>> invoked. In
> >>>>>>> this way I should be able to send a broadcast XML-RPC request
> >>>>>>> with the
> >>>>>>> appropriate UDDI inquiry method; a server (containing a UDDI
> >>>>>>> registry)
> >>>>>>> should receive it, invoke that method and send a reply in XML
> >>>>>>> format
> >>>>>>> to the sender.
> >>>>>>>
> >>>>>>> It could be a good idea?
> >>>>>>>
> >>>>>>> thank you again!
> >>>>>>>
> >>>>>>> Francesco
> >>>>>>>
> >>>>>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>> benvenuto!
> >>>>>>>> Martin-
> >>>>>>>>
> >>>>>>>> ----- Original Message -----
> >>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>>>>>> To: <so...@ws.apache.org>
> >>>>>>>> Sent: Saturday, May 28, 2005 5:41 PM
> >>>>>>>> Subject: Re: SOAP-over-UDP
> >>>>>>>>
> >>>>>>>> Thank you all for your very quick reply!
> >>>>>>>>
> >>>>>>>> I've heard about this SOAP-over-UDP spec
> >>>>>>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en-
> >>>>>>>> us/dnglobspec/html/soap-over-udp.asp).
> >>>>>>>> So, Martin, you say that it could not be a solution? Perhaps it
> >>>>>>>> should
> >>>>>>>> be an idea using Mark's solution (with DNS).
> >>>>>>>>
> >>>>>>>> I thought to resolve the problem putting a SOAP envelope into
> >>>>>>>> a UDP
> >>>>>>>> datagram, send the datagram to a broadcast ip and that's all
> >>>>>>>> folks...but I don't know how and, as you, Martins, wrote, I
> >>>>>>>> was not
> >>>>>>>> able to find anybody who has implemented this yet.
> >>>>>>>>
> >>>>>>>> Can you suggest me another solutions?
> >>>>>>>>
> >>>>>>>> Thank you very much again!!
> >>>>>>>>
> >>>>>>>> Cheers,
> >>>>>>>>
> >>>>>>>> Francesco
> >>>>>>>>
> >>>>>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> Mark/Francesco
> >>>>>>>>> I would caution on use of UDP as the SOAP Portocols (e.g.
> >>>>>>>>> HTTP)
> >>>>>>>>> is/are
> >>>>>>>>> decidely not UDP but instead a connection-oriented TCP
> >>>>>>>>> To date I have not seen UDP Ports used for SOAP transmission
> >>>>>>>>> although
> >>>>>>>>> since
> >>>>>>>>> there is no requirement for verifiable connection and or
> >>>>>>>>> handshakes
> >>>>>>>>> I would venture to guess UDP is available as the transmission
> >>>>>>>>> medium
> >>>>>>>>> but
> >>>>>>>>> I
> >>>>>>>>> have not seen any UDP Ports used for SOAP thus far
> >>>>>>>>> Anyone else ???
> >>>>>>>>> Ciao-
> >>>>>>>>> Martin-
> >>>>>>>>>
> >>>>>>>>> ----- Original Message -----
> >>>>>>>>> From: "mdonaghue" <md...@mZeal.com>
> >>>>>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
> >>>>>>>>> <fm...@gmail.com>
> >>>>>>>>> Sent: Saturday, May 28, 2005 3:14 PM
> >>>>>>>>> Subject: RE: SOAP-over-UDP
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> Hi Franceso,
> >>>>>>>>>>
> >>>>>>>>>> I've worked briefly with the apache soap api, not that
> >>>>>>>>>> familiar with
> >>>>>>>>>> it.
> >>>>>>>>>> Typically a soap message is sent to a single soap server
> >>>>>>>>>> address,
> >>>>>>>>>> which
> >>>>>>>>>> is
> >>>>>>>>>> specified by a url or an ip address, as well as a port. So
> >>>>>>>>>> your
> >>>>>>>>>> server
> >>>>>>>>>> address on the LAN might be something like
> >>>>>>>>>> 192.168.100.2:8080.
> >>>>>>>>>> (I'm
> >>>>>>>>>> not
> >>>>>>>>>> sure
> >>>>>>>>>> what the port is for UDDI, so just using standard TomCat Web
> >>>>>>>>>> Server
> >>>>>>>>>> port).
> >>>>>>>>>>
> >>>>>>>>>> IIRC, you there's a point at which you specify that
> >>>>>>>>>> address in
> >>>>>>>>>> the
> >>>>>>>>>> setup
> >>>>>>>>>> for
> >>>>>>>>>> your soap call. One thing you could try is to change the
> >>>>>>>>>> address to
> >>>>>>>>>> the
> >>>>>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
> >>>>>>>>>> class c
> >>>>>>>>>> network
> >>>>>>>>>> where the first 3 quads specify the network portion of the
> >>>>>>>>>> submask.
> >>>>>>>>>>
> >>>>>>>>>> However, this may not a scalable solution, since the
> >>>>>>>>>> broadcast
> >>>>>>>>>> wouldn't
> >>>>>>>>>> carry beyond the physical subnet on which you are located.
> >>>>>>>>>> Using
> >>>>>>>>>> UDDI
> >>>>>>>>>> to
> >>>>>>>>>> discover services is one thing, but dynamically discovering
> >>>>>>>>>> UDDI
> >>>>>>>>>> servers
> >>>>>>>>>> is
> >>>>>>>>>> obviously a different problem. It also doesn't address the
> >>>>>>>>>> issue of
> >>>>>>>>>> more
> >>>>>>>>>> than one UDDI server running on the same subnet.
> >>>>>>>>>>
> >>>>>>>>>> A more generalized solution might involve a distributed ip
> >>>>>>>>>> lookup
> >>>>>>>>>> service,
> >>>>>>>>>> namely DNS. For example when DNS looks up the ip address of
> >>>>>>>>>> Yahoo.com,
> >>>>>>>>>> at
> >>>>>>>>>> some point the actual ip address that serves the request is
> >>>>>>>>>> dynamically
> >>>>>>>>>> assigned to one of dozens (or hundreds) of servers based on a
> >>>>>>>>>> scheduling
> >>>>>>>>>> scheme.  You could locally enable DNS lookup, and create an
> >>>>>>>>>> entry
> >>>>>>>>>> based
> >>>>>>>>>> on
> >>>>>>>>>> some url like "myuddpsever.com", and give it your local UDDI
> >>>>>>>>>> server's
> >>>>>>>>>> ip
> >>>>>>>>>> address, and the rest would be handled within the network.
> >>>>>>>>>> The
> >>>>>>>>>> advantage
> >>>>>>>>>> to
> >>>>>>>>>> this is your UDDP server could be anywhere and your message
> >>>>>>>>>> would
> >>>>>>>>>> still
> >>>>>>>>>> reach it.
> >>>>>>>>>>
> >>>>>>>>>> hth,
> >>>>>>>>>> Mark
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> -----Original Message-----
> >>>>>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
> >>>>>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
> >>>>>>>>>> To: soap-user@ws.apache.org
> >>>>>>>>>> Subject: SOAP-over-UDP
> >>>>>>>>>>
> >>>>>>>>>> Hi, I'm desperate!
> >>>>>>>>>> I'm trying to find out how to send a broadcast SOAP request
> >>>>>>>>>> to a
> >>>>>>>>>> UDDI
> >>>>>>>>>> registry in a LAN, but I'm not able to do this. I've looked
> >>>>>>>>>> for some
> >>>>>>>>>> example but I've not found anithing.
> >>>>>>>>>>
> >>>>>>>>>> Please...could anybody help me?
> >>>>>>>>>> I'm making a thesis for the University of Florence (Italy)
> >>>>>>>>>> and I
> >>>>>>>>>> have
> >>>>>>>>>> to discovery dinamically web service published in some UDDI
> >>>>>>>>>> registry
> >>>>>>>>>> somewhere in a LAN. I have to send a broadcast SOAP
> >>>>>>>>>> request to
> >>>>>>>>>> these
> >>>>>>>>>> UDDI registry (as I wrote few lines above).
> >>>>>>>>>> Of course I'm using Java language.
> >>>>>>>>>>
> >>>>>>>>>> Thank you very much for your help...I'm in a great
> >>>>>>>>>> hurry...thanks
> >>>>>>>>>> very
> >>>>>>>>>> very much to everyone could help me!
> >>>>>>>>>>
> >>>>>>>>>> Best reguards,
> >>>>>>>>>>
> >>>>>>>>>> Francesco
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >
> 
>

RE: SOAP-over-UDP

Posted by mdonaghue <md...@mZeal.com>.
Hi Francesco,

My original suggestion was to use DNS to identify the URL of the UDDI server
in the local subnet. The advantage to this is that no broadcast message is
needed and it's using a common solution. The disadvantage is it requires an
entry in the DNS server database, some knowledge of how to administrate it,
and isn't automated.   

So, I tend to agree with Eric's solution (except for the last step which I
believe should be unicast, not broadcast).  The basic idea is to have the
client broadcast a "who has a UDDI Server" message when it comes online. XML
will be ok, because since the broadcast only happens once, verbosity is not
an issue. However, a simple text message would also do the trick and
eliminates the need to parse XML. In either case, a simple UDP server
process listening on over a known port on the UDDI server machine will
respond, identifying itself to the client. At that point the IP address of
the UDDI server is available to the client and the UDDI request can be
unicast to it. 

This message sequence is identical the ARP protocol, which allows an
end-host to determine the MAC address of system with a known IP address. The
end-host broadcasts a "who has this IP address?" message to the subnet. If a
host with that IP address receives the message, it unicasts an "I have it"
message, enclosing its MAC address along with it. From then on, all
communication for that flow can be unicast.

The actual messaging discussed above should be handled outside of SOAP,
since SOAP is not intended for this kind of functionality. It could be
easily implemented as with Java using UDP datagram sockets. 

This approach handles the potential problem of multiple servers on the same
subnet, since the client can just choose one. It also solves the problem of
the UDDI server not being architected around a possible broadcast scenario,
typically running over TCP.  You won't need SOAP over UDP. It minimizes
network overhead since only a single broadcast is made, when the client
comes online. 

Regards,
Mark

 
-----Original Message-----
From: Eric VERGNAUD [mailto:eric.vergnaud@jlynx.com] 
Sent: Tuesday, May 31, 2005 7:58 AM
To: soap-user@ws.apache.org
Subject: Re: SOAP-over-UDP

It depends on what you mean by continuous. a 16 bytes packet every 5  
seconds certainly won't.

If you need a higher reactivity, you can do the following:
  - have the client broadcast a message on a port
  - have the server listen on that port
  - when the server receives a connection, have it broadcast as  
suggested in my previous email

Le 31 mai 05 à 13:17, Francesco Munari a écrit :

> But there isn't the risk of flooding the LAN with these continuous
> broadcast messages?
>
> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
>
>> Have your server regularly broadcast its address on a port.
>> Have your client act as a server on startup and listen on the same  
>> port.
>> When the real server broadcasts its address, the client will receive
>> a connection request.
>> One you have the server address, ask the server for the information
>> you need (what you call the context).
>>
>> Le 31 mai 05 à 11:41, Francesco Munari a écrit :
>>
>>
>>> Hi, Eric.
>>>
>>> Ok, but how can I do this? I think I'm a newbie in this kind of
>>> operation, sorry. How can I look to a port of servers in a LAN  
>>> without
>>> knowing their IP? And in this way may I keep the context- 
>>> awareness of
>>> the communication?
>>>
>>> thank you for you reply
>>>
>>> Cheers
>>>
>>> francesco
>>>
>>> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
>>>
>>>
>>>> I'm afraid that is a very verbose way of doing things. The typical
>>>> way to do this is determine a port, have your server broadcast  
>>>> its IP
>>>> address on that port, and your clients look on that port to grab  
>>>> the
>>>> address.
>>>>
>>>> Once the address is found, you can safely interact with the server
>>>> using SOAP over HTTP.
>>>>
>>>> Le 30 mai 05 à 22:19, Francesco Munari a écrit :
>>>>
>>>>
>>>>
>>>>> I'm alredy using UDDI4j. The idea is that I don't know where the
>>>>> UDDI
>>>>> registry can be in the LAN.
>>>>> I assume that the client knows only two things:
>>>>> 1) the network (of course)
>>>>> 2) a "search key" for a particular tipe of service
>>>>>
>>>>> and that's all.
>>>>> The client should send a broadcast SOAP (or XML-RPC) request
>>>>> containing the search method to call on the server with the "key"
>>>>> passed as a parameter and somewhere into the LAN should be a  
>>>>> server
>>>>> (or more) with its private UDDI registry that should reply with a
>>>>> response containing the result of the invoking of the method
>>>>> contained
>>>>> in the sender's RPC request. The response should contain just the
>>>>> URL
>>>>> of the WSDL file related to the service found.
>>>>>
>>>>> The need of the broadcast message is that the client don't know
>>>>> where
>>>>> (or if) there could be any UDDI registry in the network. With this
>>>>> framework a client can change network configuration (for example,
>>>>> going from a floor to another with a Palm in a wireless LAN) and,
>>>>> after leaving the service provided in the first network, find  
>>>>> anothe
>>>>> one similar on the other network only by pressing the button
>>>>> "Refresh"
>>>>> :)
>>>>>
>>>>> Francesco
>>>>>
>>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
>>>>>
>>>>>
>>>>>
>>>>>> The side effect of a broadcast without authentication is
>>>>>> flooding the
>>>>>> network with unwanted disovery packets
>>>>>> I guess this is OK if you're utilising a high datarate
>>>>>> transmission i guess
>>>>>>
>>>>>> In your case your SOAP Request should look like
>>>>>>
>>>>>> <?xml version="1.0"?>
>>>>>> <SOAP-ENV:Envelope
>>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
>>>>>>  <SOAP-ENV:Body>
>>>>>>    <getTest>
>>>>>>      <Test>Test</Test>
>>>>>>    </getTest>
>>>>>>  </SOAP-ENV:Body>
>>>>>> </SOAP-ENV:Envelope>
>>>>>>
>>>>>> If you want to discover a "SOAP based" web-service based on some
>>>>>> characteristic such as Business Service Category why not use
>>>>>> UDDI4J?
>>>>>> Take a look at
>>>>>> http://sourceforge.net/projects/uddi4j
>>>>>>
>>>>>> Martin-
>>>>>>
>>>>>> ----- Original Message -----
>>>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>>>> To: "Martin Gainty" <mg...@hotmail.com>
>>>>>> Cc: <so...@ws.apache.org>
>>>>>> Sent: Monday, May 30, 2005 12:44 PM
>>>>>> Subject: Re: SOAP-over-UDP
>>>>>>
>>>>>> Martins,
>>>>>>
>>>>>> It is for this reason that I'd like to broadcast a SOAP request
>>>>>> instead of a simple XML-RPC message. The goal of my framework  
>>>>>> is to
>>>>>> keep the "context awareness" offered by XML language.
>>>>>> If you are sure that there is no way to send a broadcast SOAP
>>>>>> request,
>>>>>> the last solution, I think, it could be XML-RPC.
>>>>>>
>>>>>> So, two questions:
>>>>>>
>>>>>> 1) are you sure ther's no way to send a broadcast SOAP request?
>>>>>> 2) In order to send a broadcast XML-RPC message I've to cerate a
>>>>>> StringWriter like this (for example)?
>>>>>>
>>>>>> <?xml version="1.0" ?>
>>>>>>   <methodCall>
>>>>>>       <methodName>getTest</methodName>
>>>>>>       <params>
>>>>>>           <param>
>>>>>>               <value>
>>>>>>                  <string>Test</string>
>>>>>>               </value>
>>>>>>           </param>
>>>>>>       </params>
>>>>>> </methodCall>
>>>>>>
>>>>>> Thank's Martin.
>>>>>>
>>>>>> Francesco
>>>>>>
>>>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Francesco-
>>>>>>> You can Broadcast XML-RPC assuming you dont mind flooding your
>>>>>>> network
>>>>>>> The question is can you confine your application to using the
>>>>>>> more basic
>>>>>>> datatypes supported by XML-RPC
>>>>>>> vs implementing SOAP features (user-defined datatypes, namespace
>>>>>>> URI)?
>>>>>>> Anyone else?
>>>>>>> Martin-
>>>>>>> ----- Original Message -----
>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>>>>> To: "Martin Gainty" <mg...@hotmail.com>
>>>>>>> Cc: <so...@ws.apache.org>
>>>>>>> Sent: Monday, May 30, 2005 6:45 AM
>>>>>>> Subject: Re: SOAP-over-UDP
>>>>>>>
>>>>>>> Grazie! :)
>>>>>>>
>>>>>>> Could someone tell me if a simple XML-RPC message may be sent  
>>>>>>> to a
>>>>>>> broadcast address? A simple message with the medthod to be
>>>>>>> invoked. In
>>>>>>> this way I should be able to send a broadcast XML-RPC request
>>>>>>> with the
>>>>>>> appropriate UDDI inquiry method; a server (containing a UDDI
>>>>>>> registry)
>>>>>>> should receive it, invoke that method and send a reply in XML
>>>>>>> format
>>>>>>> to the sender.
>>>>>>>
>>>>>>> It could be a good idea?
>>>>>>>
>>>>>>> thank you again!
>>>>>>>
>>>>>>> Francesco
>>>>>>>
>>>>>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> benvenuto!
>>>>>>>> Martin-
>>>>>>>>
>>>>>>>> ----- Original Message -----
>>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>>>>>> To: <so...@ws.apache.org>
>>>>>>>> Sent: Saturday, May 28, 2005 5:41 PM
>>>>>>>> Subject: Re: SOAP-over-UDP
>>>>>>>>
>>>>>>>> Thank you all for your very quick reply!
>>>>>>>>
>>>>>>>> I've heard about this SOAP-over-UDP spec
>>>>>>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en-
>>>>>>>> us/dnglobspec/html/soap-over-udp.asp).
>>>>>>>> So, Martin, you say that it could not be a solution? Perhaps it
>>>>>>>> should
>>>>>>>> be an idea using Mark's solution (with DNS).
>>>>>>>>
>>>>>>>> I thought to resolve the problem putting a SOAP envelope into
>>>>>>>> a UDP
>>>>>>>> datagram, send the datagram to a broadcast ip and that's all
>>>>>>>> folks...but I don't know how and, as you, Martins, wrote, I
>>>>>>>> was not
>>>>>>>> able to find anybody who has implemented this yet.
>>>>>>>>
>>>>>>>> Can you suggest me another solutions?
>>>>>>>>
>>>>>>>> Thank you very much again!!
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>>
>>>>>>>> Francesco
>>>>>>>>
>>>>>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> Mark/Francesco
>>>>>>>>> I would caution on use of UDP as the SOAP Portocols (e.g.  
>>>>>>>>> HTTP)
>>>>>>>>> is/are
>>>>>>>>> decidely not UDP but instead a connection-oriented TCP
>>>>>>>>> To date I have not seen UDP Ports used for SOAP transmission
>>>>>>>>> although
>>>>>>>>> since
>>>>>>>>> there is no requirement for verifiable connection and or
>>>>>>>>> handshakes
>>>>>>>>> I would venture to guess UDP is available as the transmission
>>>>>>>>> medium
>>>>>>>>> but
>>>>>>>>> I
>>>>>>>>> have not seen any UDP Ports used for SOAP thus far
>>>>>>>>> Anyone else ???
>>>>>>>>> Ciao-
>>>>>>>>> Martin-
>>>>>>>>>
>>>>>>>>> ----- Original Message -----
>>>>>>>>> From: "mdonaghue" <md...@mZeal.com>
>>>>>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
>>>>>>>>> <fm...@gmail.com>
>>>>>>>>> Sent: Saturday, May 28, 2005 3:14 PM
>>>>>>>>> Subject: RE: SOAP-over-UDP
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Hi Franceso,
>>>>>>>>>>
>>>>>>>>>> I've worked briefly with the apache soap api, not that
>>>>>>>>>> familiar with
>>>>>>>>>> it.
>>>>>>>>>> Typically a soap message is sent to a single soap server
>>>>>>>>>> address,
>>>>>>>>>> which
>>>>>>>>>> is
>>>>>>>>>> specified by a url or an ip address, as well as a port. So  
>>>>>>>>>> your
>>>>>>>>>> server
>>>>>>>>>> address on the LAN might be something like  
>>>>>>>>>> 192.168.100.2:8080.
>>>>>>>>>> (I'm
>>>>>>>>>> not
>>>>>>>>>> sure
>>>>>>>>>> what the port is for UDDI, so just using standard TomCat Web
>>>>>>>>>> Server
>>>>>>>>>> port).
>>>>>>>>>>
>>>>>>>>>> IIRC, you there's a point at which you specify that  
>>>>>>>>>> address in
>>>>>>>>>> the
>>>>>>>>>> setup
>>>>>>>>>> for
>>>>>>>>>> your soap call. One thing you could try is to change the
>>>>>>>>>> address to
>>>>>>>>>> the
>>>>>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
>>>>>>>>>> class c
>>>>>>>>>> network
>>>>>>>>>> where the first 3 quads specify the network portion of the
>>>>>>>>>> submask.
>>>>>>>>>>
>>>>>>>>>> However, this may not a scalable solution, since the  
>>>>>>>>>> broadcast
>>>>>>>>>> wouldn't
>>>>>>>>>> carry beyond the physical subnet on which you are located.
>>>>>>>>>> Using
>>>>>>>>>> UDDI
>>>>>>>>>> to
>>>>>>>>>> discover services is one thing, but dynamically discovering
>>>>>>>>>> UDDI
>>>>>>>>>> servers
>>>>>>>>>> is
>>>>>>>>>> obviously a different problem. It also doesn't address the
>>>>>>>>>> issue of
>>>>>>>>>> more
>>>>>>>>>> than one UDDI server running on the same subnet.
>>>>>>>>>>
>>>>>>>>>> A more generalized solution might involve a distributed ip
>>>>>>>>>> lookup
>>>>>>>>>> service,
>>>>>>>>>> namely DNS. For example when DNS looks up the ip address of
>>>>>>>>>> Yahoo.com,
>>>>>>>>>> at
>>>>>>>>>> some point the actual ip address that serves the request is
>>>>>>>>>> dynamically
>>>>>>>>>> assigned to one of dozens (or hundreds) of servers based on a
>>>>>>>>>> scheduling
>>>>>>>>>> scheme.  You could locally enable DNS lookup, and create an
>>>>>>>>>> entry
>>>>>>>>>> based
>>>>>>>>>> on
>>>>>>>>>> some url like "myuddpsever.com", and give it your local UDDI
>>>>>>>>>> server's
>>>>>>>>>> ip
>>>>>>>>>> address, and the rest would be handled within the network.  
>>>>>>>>>> The
>>>>>>>>>> advantage
>>>>>>>>>> to
>>>>>>>>>> this is your UDDP server could be anywhere and your message
>>>>>>>>>> would
>>>>>>>>>> still
>>>>>>>>>> reach it.
>>>>>>>>>>
>>>>>>>>>> hth,
>>>>>>>>>> Mark
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
>>>>>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
>>>>>>>>>> To: soap-user@ws.apache.org
>>>>>>>>>> Subject: SOAP-over-UDP
>>>>>>>>>>
>>>>>>>>>> Hi, I'm desperate!
>>>>>>>>>> I'm trying to find out how to send a broadcast SOAP request
>>>>>>>>>> to a
>>>>>>>>>> UDDI
>>>>>>>>>> registry in a LAN, but I'm not able to do this. I've looked
>>>>>>>>>> for some
>>>>>>>>>> example but I've not found anithing.
>>>>>>>>>>
>>>>>>>>>> Please...could anybody help me?
>>>>>>>>>> I'm making a thesis for the University of Florence (Italy)
>>>>>>>>>> and I
>>>>>>>>>> have
>>>>>>>>>> to discovery dinamically web service published in some UDDI
>>>>>>>>>> registry
>>>>>>>>>> somewhere in a LAN. I have to send a broadcast SOAP  
>>>>>>>>>> request to
>>>>>>>>>> these
>>>>>>>>>> UDDI registry (as I wrote few lines above).
>>>>>>>>>> Of course I'm using Java language.
>>>>>>>>>>
>>>>>>>>>> Thank you very much for your help...I'm in a great
>>>>>>>>>> hurry...thanks
>>>>>>>>>> very
>>>>>>>>>> very much to everyone could help me!
>>>>>>>>>>
>>>>>>>>>> Best reguards,
>>>>>>>>>>
>>>>>>>>>> Francesco
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>



Re: SOAP vs AXIS

Posted by Mi...@Bull.com.



Martin,

IOW -- a superset.  Thanks.  I'll go w/ AXIS.

Michael


                                                                           
             "Martin Gainty"                                               
             <mgainty@hotmail.                                             
             com>                                                       To 
                                       <so...@ws.apache.org>           
             05/31/2005 10:00                                           cc 
             AM                                                            
                                                                   Subject 
                                       Re: SOAP vs AXIS                    
             Please respond to                                             
             soap-user@ws.apac                                             
                  he.org                                                   
                                                                           
                                                                           
                                                                           




Michael-

To quote the AXIS doc Axis
uses SAX which is an Event Based parser
It also support for multiple transports senders and listeners for SOAP over

various protocols such as SMTP, FTP, message-oriented middleware, etc

But Axis isn't just a SOAP engine -- it also includes:

  a.. a simple stand-alone server,
  b.. a server which plugs into servlet engines such as Tomcat,
  c.. extensive support for the Web Service Description Language (WSDL),
  d.. emitter tooling that generates Java classes from WSDL. (wsdl2java)
  e.. some sample programs, and
  f.. a tool for monitoring TCP/IP packets. (tcpmon)

  check out
  http://ws.apache.org/axis/java/user-guide.html
Martin-
----- Original Message -----
From: <Mi...@Bull.com>
To: <so...@ws.apache.org>
Sent: Tuesday, May 31, 2005 11:22 AM
Subject: SOAP vs AXIS


>
>
>
>
> I'm starting to write an Java application that is invoked as a simple
> command-line app.  The program will invoke a web service to retrieve some
> information.  So far, I've been using AXIS for this, but as I read SOAP
> docs, it seems I could do the same w/ SOAP.  I have also started to think
> (perhaps mistakenly) that AXIS is replacing SOAP.
>
> Is there a document that describes the pros/cons of SOAP vs AXIS?  Should

> I
> continue w/ AXIS or should I be looking at SOAP?
>
> Thanks
> Michael Giroux
>
>



Re: SOAP vs AXIS

Posted by Martin Gainty <mg...@hotmail.com>.
Michael-

To quote the AXIS doc Axis
uses SAX which is an Event Based parser
It also support for multiple transports senders and listeners for SOAP over 
various protocols such as SMTP, FTP, message-oriented middleware, etc

But Axis isn't just a SOAP engine -- it also includes:

  a.. a simple stand-alone server,
  b.. a server which plugs into servlet engines such as Tomcat,
  c.. extensive support for the Web Service Description Language (WSDL),
  d.. emitter tooling that generates Java classes from WSDL. (wsdl2java)
  e.. some sample programs, and
  f.. a tool for monitoring TCP/IP packets. (tcpmon)

  check out
  http://ws.apache.org/axis/java/user-guide.html
Martin-
----- Original Message ----- 
From: <Mi...@Bull.com>
To: <so...@ws.apache.org>
Sent: Tuesday, May 31, 2005 11:22 AM
Subject: SOAP vs AXIS


>
>
>
>
> I'm starting to write an Java application that is invoked as a simple
> command-line app.  The program will invoke a web service to retrieve some
> information.  So far, I've been using AXIS for this, but as I read SOAP
> docs, it seems I could do the same w/ SOAP.  I have also started to think
> (perhaps mistakenly) that AXIS is replacing SOAP.
>
> Is there a document that describes the pros/cons of SOAP vs AXIS?  Should 
> I
> continue w/ AXIS or should I be looking at SOAP?
>
> Thanks
> Michael Giroux
>
> 

Re: SOAP vs AXIS

Posted by Scott Nichol <sn...@scottnichol.com>.
You should use Axis.  It has replaced SOAP for new users, and existing users of SOAP will eventually want to migrate to Axis because it supports more specifications and will continue to support future ones.

Scott Nichol

Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.
----- Original Message ----- 
From: <Mi...@Bull.com>
To: <so...@ws.apache.org>
Sent: Tuesday, May 31, 2005 11:22 AM
Subject: SOAP vs AXIS


> 
> 
> 
> 
> I'm starting to write an Java application that is invoked as a simple
> command-line app.  The program will invoke a web service to retrieve some
> information.  So far, I've been using AXIS for this, but as I read SOAP
> docs, it seems I could do the same w/ SOAP.  I have also started to think
> (perhaps mistakenly) that AXIS is replacing SOAP.
> 
> Is there a document that describes the pros/cons of SOAP vs AXIS?  Should I
> continue w/ AXIS or should I be looking at SOAP?
> 
> Thanks
> Michael Giroux
> 
> 

SOAP vs AXIS

Posted by Mi...@Bull.com.



I'm starting to write an Java application that is invoked as a simple
command-line app.  The program will invoke a web service to retrieve some
information.  So far, I've been using AXIS for this, but as I read SOAP
docs, it seems I could do the same w/ SOAP.  I have also started to think
(perhaps mistakenly) that AXIS is replacing SOAP.

Is there a document that describes the pros/cons of SOAP vs AXIS?  Should I
continue w/ AXIS or should I be looking at SOAP?

Thanks
Michael Giroux


Re: SOAP-over-UDP

Posted by Eric VERGNAUD <er...@jlynx.com>.
It depends on what you mean by continuous. a 16 bytes packet every 5  
seconds certainly won't.

If you need a higher reactivity, you can do the following:
  - have the client broadcast a message on a port
  - have the server listen on that port
  - when the server receives a connection, have it broadcast as  
suggested in my previous email

Le 31 mai 05 à 13:17, Francesco Munari a écrit :

> But there isn't the risk of flooding the LAN with these continuous
> broadcast messages?
>
> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
>
>> Have your server regularly broadcast its address on a port.
>> Have your client act as a server on startup and listen on the same  
>> port.
>> When the real server broadcasts its address, the client will receive
>> a connection request.
>> One you have the server address, ask the server for the information
>> you need (what you call the context).
>>
>> Le 31 mai 05 à 11:41, Francesco Munari a écrit :
>>
>>
>>> Hi, Eric.
>>>
>>> Ok, but how can I do this? I think I'm a newbie in this kind of
>>> operation, sorry. How can I look to a port of servers in a LAN  
>>> without
>>> knowing their IP? And in this way may I keep the context- 
>>> awareness of
>>> the communication?
>>>
>>> thank you for you reply
>>>
>>> Cheers
>>>
>>> francesco
>>>
>>> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
>>>
>>>
>>>> I'm afraid that is a very verbose way of doing things. The typical
>>>> way to do this is determine a port, have your server broadcast  
>>>> its IP
>>>> address on that port, and your clients look on that port to grab  
>>>> the
>>>> address.
>>>>
>>>> Once the address is found, you can safely interact with the server
>>>> using SOAP over HTTP.
>>>>
>>>> Le 30 mai 05 à 22:19, Francesco Munari a écrit :
>>>>
>>>>
>>>>
>>>>> I'm alredy using UDDI4j. The idea is that I don't know where the
>>>>> UDDI
>>>>> registry can be in the LAN.
>>>>> I assume that the client knows only two things:
>>>>> 1) the network (of course)
>>>>> 2) a "search key" for a particular tipe of service
>>>>>
>>>>> and that's all.
>>>>> The client should send a broadcast SOAP (or XML-RPC) request
>>>>> containing the search method to call on the server with the "key"
>>>>> passed as a parameter and somewhere into the LAN should be a  
>>>>> server
>>>>> (or more) with its private UDDI registry that should reply with a
>>>>> response containing the result of the invoking of the method
>>>>> contained
>>>>> in the sender's RPC request. The response should contain just the
>>>>> URL
>>>>> of the WSDL file related to the service found.
>>>>>
>>>>> The need of the broadcast message is that the client don't know
>>>>> where
>>>>> (or if) there could be any UDDI registry in the network. With this
>>>>> framework a client can change network configuration (for example,
>>>>> going from a floor to another with a Palm in a wireless LAN) and,
>>>>> after leaving the service provided in the first network, find  
>>>>> anothe
>>>>> one similar on the other network only by pressing the button
>>>>> "Refresh"
>>>>> :)
>>>>>
>>>>> Francesco
>>>>>
>>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
>>>>>
>>>>>
>>>>>
>>>>>> The side effect of a broadcast without authentication is
>>>>>> flooding the
>>>>>> network with unwanted disovery packets
>>>>>> I guess this is OK if you're utilising a high datarate
>>>>>> transmission i guess
>>>>>>
>>>>>> In your case your SOAP Request should look like
>>>>>>
>>>>>> <?xml version="1.0"?>
>>>>>> <SOAP-ENV:Envelope
>>>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
>>>>>>  <SOAP-ENV:Body>
>>>>>>    <getTest>
>>>>>>      <Test>Test</Test>
>>>>>>    </getTest>
>>>>>>  </SOAP-ENV:Body>
>>>>>> </SOAP-ENV:Envelope>
>>>>>>
>>>>>> If you want to discover a "SOAP based" web-service based on some
>>>>>> characteristic such as Business Service Category why not use
>>>>>> UDDI4J?
>>>>>> Take a look at
>>>>>> http://sourceforge.net/projects/uddi4j
>>>>>>
>>>>>> Martin-
>>>>>>
>>>>>> ----- Original Message -----
>>>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>>>> To: "Martin Gainty" <mg...@hotmail.com>
>>>>>> Cc: <so...@ws.apache.org>
>>>>>> Sent: Monday, May 30, 2005 12:44 PM
>>>>>> Subject: Re: SOAP-over-UDP
>>>>>>
>>>>>> Martins,
>>>>>>
>>>>>> It is for this reason that I'd like to broadcast a SOAP request
>>>>>> instead of a simple XML-RPC message. The goal of my framework  
>>>>>> is to
>>>>>> keep the "context awareness" offered by XML language.
>>>>>> If you are sure that there is no way to send a broadcast SOAP
>>>>>> request,
>>>>>> the last solution, I think, it could be XML-RPC.
>>>>>>
>>>>>> So, two questions:
>>>>>>
>>>>>> 1) are you sure ther's no way to send a broadcast SOAP request?
>>>>>> 2) In order to send a broadcast XML-RPC message I've to cerate a
>>>>>> StringWriter like this (for example)?
>>>>>>
>>>>>> <?xml version="1.0" ?>
>>>>>>   <methodCall>
>>>>>>       <methodName>getTest</methodName>
>>>>>>       <params>
>>>>>>           <param>
>>>>>>               <value>
>>>>>>                  <string>Test</string>
>>>>>>               </value>
>>>>>>           </param>
>>>>>>       </params>
>>>>>> </methodCall>
>>>>>>
>>>>>> Thank's Martin.
>>>>>>
>>>>>> Francesco
>>>>>>
>>>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Francesco-
>>>>>>> You can Broadcast XML-RPC assuming you dont mind flooding your
>>>>>>> network
>>>>>>> The question is can you confine your application to using the
>>>>>>> more basic
>>>>>>> datatypes supported by XML-RPC
>>>>>>> vs implementing SOAP features (user-defined datatypes, namespace
>>>>>>> URI)?
>>>>>>> Anyone else?
>>>>>>> Martin-
>>>>>>> ----- Original Message -----
>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>>>>> To: "Martin Gainty" <mg...@hotmail.com>
>>>>>>> Cc: <so...@ws.apache.org>
>>>>>>> Sent: Monday, May 30, 2005 6:45 AM
>>>>>>> Subject: Re: SOAP-over-UDP
>>>>>>>
>>>>>>> Grazie! :)
>>>>>>>
>>>>>>> Could someone tell me if a simple XML-RPC message may be sent  
>>>>>>> to a
>>>>>>> broadcast address? A simple message with the medthod to be
>>>>>>> invoked. In
>>>>>>> this way I should be able to send a broadcast XML-RPC request
>>>>>>> with the
>>>>>>> appropriate UDDI inquiry method; a server (containing a UDDI
>>>>>>> registry)
>>>>>>> should receive it, invoke that method and send a reply in XML
>>>>>>> format
>>>>>>> to the sender.
>>>>>>>
>>>>>>> It could be a good idea?
>>>>>>>
>>>>>>> thank you again!
>>>>>>>
>>>>>>> Francesco
>>>>>>>
>>>>>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> benvenuto!
>>>>>>>> Martin-
>>>>>>>>
>>>>>>>> ----- Original Message -----
>>>>>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>>>>>> To: <so...@ws.apache.org>
>>>>>>>> Sent: Saturday, May 28, 2005 5:41 PM
>>>>>>>> Subject: Re: SOAP-over-UDP
>>>>>>>>
>>>>>>>> Thank you all for your very quick reply!
>>>>>>>>
>>>>>>>> I've heard about this SOAP-over-UDP spec
>>>>>>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en-
>>>>>>>> us/dnglobspec/html/soap-over-udp.asp).
>>>>>>>> So, Martin, you say that it could not be a solution? Perhaps it
>>>>>>>> should
>>>>>>>> be an idea using Mark's solution (with DNS).
>>>>>>>>
>>>>>>>> I thought to resolve the problem putting a SOAP envelope into
>>>>>>>> a UDP
>>>>>>>> datagram, send the datagram to a broadcast ip and that's all
>>>>>>>> folks...but I don't know how and, as you, Martins, wrote, I
>>>>>>>> was not
>>>>>>>> able to find anybody who has implemented this yet.
>>>>>>>>
>>>>>>>> Can you suggest me another solutions?
>>>>>>>>
>>>>>>>> Thank you very much again!!
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>>
>>>>>>>> Francesco
>>>>>>>>
>>>>>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> Mark/Francesco
>>>>>>>>> I would caution on use of UDP as the SOAP Portocols (e.g.  
>>>>>>>>> HTTP)
>>>>>>>>> is/are
>>>>>>>>> decidely not UDP but instead a connection-oriented TCP
>>>>>>>>> To date I have not seen UDP Ports used for SOAP transmission
>>>>>>>>> although
>>>>>>>>> since
>>>>>>>>> there is no requirement for verifiable connection and or
>>>>>>>>> handshakes
>>>>>>>>> I would venture to guess UDP is available as the transmission
>>>>>>>>> medium
>>>>>>>>> but
>>>>>>>>> I
>>>>>>>>> have not seen any UDP Ports used for SOAP thus far
>>>>>>>>> Anyone else ???
>>>>>>>>> Ciao-
>>>>>>>>> Martin-
>>>>>>>>>
>>>>>>>>> ----- Original Message -----
>>>>>>>>> From: "mdonaghue" <md...@mZeal.com>
>>>>>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
>>>>>>>>> <fm...@gmail.com>
>>>>>>>>> Sent: Saturday, May 28, 2005 3:14 PM
>>>>>>>>> Subject: RE: SOAP-over-UDP
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Hi Franceso,
>>>>>>>>>>
>>>>>>>>>> I've worked briefly with the apache soap api, not that
>>>>>>>>>> familiar with
>>>>>>>>>> it.
>>>>>>>>>> Typically a soap message is sent to a single soap server
>>>>>>>>>> address,
>>>>>>>>>> which
>>>>>>>>>> is
>>>>>>>>>> specified by a url or an ip address, as well as a port. So  
>>>>>>>>>> your
>>>>>>>>>> server
>>>>>>>>>> address on the LAN might be something like  
>>>>>>>>>> 192.168.100.2:8080.
>>>>>>>>>> (I'm
>>>>>>>>>> not
>>>>>>>>>> sure
>>>>>>>>>> what the port is for UDDI, so just using standard TomCat Web
>>>>>>>>>> Server
>>>>>>>>>> port).
>>>>>>>>>>
>>>>>>>>>> IIRC, you there's a point at which you specify that  
>>>>>>>>>> address in
>>>>>>>>>> the
>>>>>>>>>> setup
>>>>>>>>>> for
>>>>>>>>>> your soap call. One thing you could try is to change the
>>>>>>>>>> address to
>>>>>>>>>> the
>>>>>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
>>>>>>>>>> class c
>>>>>>>>>> network
>>>>>>>>>> where the first 3 quads specify the network portion of the
>>>>>>>>>> submask.
>>>>>>>>>>
>>>>>>>>>> However, this may not a scalable solution, since the  
>>>>>>>>>> broadcast
>>>>>>>>>> wouldn't
>>>>>>>>>> carry beyond the physical subnet on which you are located.
>>>>>>>>>> Using
>>>>>>>>>> UDDI
>>>>>>>>>> to
>>>>>>>>>> discover services is one thing, but dynamically discovering
>>>>>>>>>> UDDI
>>>>>>>>>> servers
>>>>>>>>>> is
>>>>>>>>>> obviously a different problem. It also doesn't address the
>>>>>>>>>> issue of
>>>>>>>>>> more
>>>>>>>>>> than one UDDI server running on the same subnet.
>>>>>>>>>>
>>>>>>>>>> A more generalized solution might involve a distributed ip
>>>>>>>>>> lookup
>>>>>>>>>> service,
>>>>>>>>>> namely DNS. For example when DNS looks up the ip address of
>>>>>>>>>> Yahoo.com,
>>>>>>>>>> at
>>>>>>>>>> some point the actual ip address that serves the request is
>>>>>>>>>> dynamically
>>>>>>>>>> assigned to one of dozens (or hundreds) of servers based on a
>>>>>>>>>> scheduling
>>>>>>>>>> scheme.  You could locally enable DNS lookup, and create an
>>>>>>>>>> entry
>>>>>>>>>> based
>>>>>>>>>> on
>>>>>>>>>> some url like "myuddpsever.com", and give it your local UDDI
>>>>>>>>>> server's
>>>>>>>>>> ip
>>>>>>>>>> address, and the rest would be handled within the network.  
>>>>>>>>>> The
>>>>>>>>>> advantage
>>>>>>>>>> to
>>>>>>>>>> this is your UDDP server could be anywhere and your message
>>>>>>>>>> would
>>>>>>>>>> still
>>>>>>>>>> reach it.
>>>>>>>>>>
>>>>>>>>>> hth,
>>>>>>>>>> Mark
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
>>>>>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
>>>>>>>>>> To: soap-user@ws.apache.org
>>>>>>>>>> Subject: SOAP-over-UDP
>>>>>>>>>>
>>>>>>>>>> Hi, I'm desperate!
>>>>>>>>>> I'm trying to find out how to send a broadcast SOAP request
>>>>>>>>>> to a
>>>>>>>>>> UDDI
>>>>>>>>>> registry in a LAN, but I'm not able to do this. I've looked
>>>>>>>>>> for some
>>>>>>>>>> example but I've not found anithing.
>>>>>>>>>>
>>>>>>>>>> Please...could anybody help me?
>>>>>>>>>> I'm making a thesis for the University of Florence (Italy)
>>>>>>>>>> and I
>>>>>>>>>> have
>>>>>>>>>> to discovery dinamically web service published in some UDDI
>>>>>>>>>> registry
>>>>>>>>>> somewhere in a LAN. I have to send a broadcast SOAP  
>>>>>>>>>> request to
>>>>>>>>>> these
>>>>>>>>>> UDDI registry (as I wrote few lines above).
>>>>>>>>>> Of course I'm using Java language.
>>>>>>>>>>
>>>>>>>>>> Thank you very much for your help...I'm in a great
>>>>>>>>>> hurry...thanks
>>>>>>>>>> very
>>>>>>>>>> very much to everyone could help me!
>>>>>>>>>>
>>>>>>>>>> Best reguards,
>>>>>>>>>>
>>>>>>>>>> Francesco
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>



Re: SOAP-over-UDP

Posted by Francesco Munari <fm...@gmail.com>.
But there isn't the risk of flooding the LAN with these continuous
broadcast messages?

2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> Have your server regularly broadcast its address on a port.
> Have your client act as a server on startup and listen on the same port.
> When the real server broadcasts its address, the client will receive
> a connection request.
> One you have the server address, ask the server for the information
> you need (what you call the context).
> 
> Le 31 mai 05 à 11:41, Francesco Munari a écrit :
> 
> > Hi, Eric.
> >
> > Ok, but how can I do this? I think I'm a newbie in this kind of
> > operation, sorry. How can I look to a port of servers in a LAN without
> > knowing their IP? And in this way may I keep the context-awareness of
> > the communication?
> >
> > thank you for you reply
> >
> > Cheers
> >
> > francesco
> >
> > 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> >
> >> I'm afraid that is a very verbose way of doing things. The typical
> >> way to do this is determine a port, have your server broadcast its IP
> >> address on that port, and your clients look on that port to grab the
> >> address.
> >>
> >> Once the address is found, you can safely interact with the server
> >> using SOAP over HTTP.
> >>
> >> Le 30 mai 05 à 22:19, Francesco Munari a écrit :
> >>
> >>
> >>> I'm alredy using UDDI4j. The idea is that I don't know where the
> >>> UDDI
> >>> registry can be in the LAN.
> >>> I assume that the client knows only two things:
> >>> 1) the network (of course)
> >>> 2) a "search key" for a particular tipe of service
> >>>
> >>> and that's all.
> >>> The client should send a broadcast SOAP (or XML-RPC) request
> >>> containing the search method to call on the server with the "key"
> >>> passed as a parameter and somewhere into the LAN should be a server
> >>> (or more) with its private UDDI registry that should reply with a
> >>> response containing the result of the invoking of the method
> >>> contained
> >>> in the sender's RPC request. The response should contain just the
> >>> URL
> >>> of the WSDL file related to the service found.
> >>>
> >>> The need of the broadcast message is that the client don't know
> >>> where
> >>> (or if) there could be any UDDI registry in the network. With this
> >>> framework a client can change network configuration (for example,
> >>> going from a floor to another with a Palm in a wireless LAN) and,
> >>> after leaving the service provided in the first network, find anothe
> >>> one similar on the other network only by pressing the button
> >>> "Refresh"
> >>> :)
> >>>
> >>> Francesco
> >>>
> >>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>>
> >>>
> >>>> The side effect of a broadcast without authentication is
> >>>> flooding the
> >>>> network with unwanted disovery packets
> >>>> I guess this is OK if you're utilising a high datarate
> >>>> transmission i guess
> >>>>
> >>>> In your case your SOAP Request should look like
> >>>>
> >>>> <?xml version="1.0"?>
> >>>> <SOAP-ENV:Envelope
> >>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
> >>>>  <SOAP-ENV:Body>
> >>>>    <getTest>
> >>>>      <Test>Test</Test>
> >>>>    </getTest>
> >>>>  </SOAP-ENV:Body>
> >>>> </SOAP-ENV:Envelope>
> >>>>
> >>>> If you want to discover a "SOAP based" web-service based on some
> >>>> characteristic such as Business Service Category why not use
> >>>> UDDI4J?
> >>>> Take a look at
> >>>> http://sourceforge.net/projects/uddi4j
> >>>>
> >>>> Martin-
> >>>>
> >>>> ----- Original Message -----
> >>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>> To: "Martin Gainty" <mg...@hotmail.com>
> >>>> Cc: <so...@ws.apache.org>
> >>>> Sent: Monday, May 30, 2005 12:44 PM
> >>>> Subject: Re: SOAP-over-UDP
> >>>>
> >>>> Martins,
> >>>>
> >>>> It is for this reason that I'd like to broadcast a SOAP request
> >>>> instead of a simple XML-RPC message. The goal of my framework is to
> >>>> keep the "context awareness" offered by XML language.
> >>>> If you are sure that there is no way to send a broadcast SOAP
> >>>> request,
> >>>> the last solution, I think, it could be XML-RPC.
> >>>>
> >>>> So, two questions:
> >>>>
> >>>> 1) are you sure ther's no way to send a broadcast SOAP request?
> >>>> 2) In order to send a broadcast XML-RPC message I've to cerate a
> >>>> StringWriter like this (for example)?
> >>>>
> >>>> <?xml version="1.0" ?>
> >>>>   <methodCall>
> >>>>       <methodName>getTest</methodName>
> >>>>       <params>
> >>>>           <param>
> >>>>               <value>
> >>>>                  <string>Test</string>
> >>>>               </value>
> >>>>           </param>
> >>>>       </params>
> >>>> </methodCall>
> >>>>
> >>>> Thank's Martin.
> >>>>
> >>>> Francesco
> >>>>
> >>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>>>
> >>>>
> >>>>> Francesco-
> >>>>> You can Broadcast XML-RPC assuming you dont mind flooding your
> >>>>> network
> >>>>> The question is can you confine your application to using the
> >>>>> more basic
> >>>>> datatypes supported by XML-RPC
> >>>>> vs implementing SOAP features (user-defined datatypes, namespace
> >>>>> URI)?
> >>>>> Anyone else?
> >>>>> Martin-
> >>>>> ----- Original Message -----
> >>>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>>> To: "Martin Gainty" <mg...@hotmail.com>
> >>>>> Cc: <so...@ws.apache.org>
> >>>>> Sent: Monday, May 30, 2005 6:45 AM
> >>>>> Subject: Re: SOAP-over-UDP
> >>>>>
> >>>>> Grazie! :)
> >>>>>
> >>>>> Could someone tell me if a simple XML-RPC message may be sent to a
> >>>>> broadcast address? A simple message with the medthod to be
> >>>>> invoked. In
> >>>>> this way I should be able to send a broadcast XML-RPC request
> >>>>> with the
> >>>>> appropriate UDDI inquiry method; a server (containing a UDDI
> >>>>> registry)
> >>>>> should receive it, invoke that method and send a reply in XML
> >>>>> format
> >>>>> to the sender.
> >>>>>
> >>>>> It could be a good idea?
> >>>>>
> >>>>> thank you again!
> >>>>>
> >>>>> Francesco
> >>>>>
> >>>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> >>>>>
> >>>>>
> >>>>>> benvenuto!
> >>>>>> Martin-
> >>>>>>
> >>>>>> ----- Original Message -----
> >>>>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>>>> To: <so...@ws.apache.org>
> >>>>>> Sent: Saturday, May 28, 2005 5:41 PM
> >>>>>> Subject: Re: SOAP-over-UDP
> >>>>>>
> >>>>>> Thank you all for your very quick reply!
> >>>>>>
> >>>>>> I've heard about this SOAP-over-UDP spec
> >>>>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en-
> >>>>>> us/dnglobspec/html/soap-over-udp.asp).
> >>>>>> So, Martin, you say that it could not be a solution? Perhaps it
> >>>>>> should
> >>>>>> be an idea using Mark's solution (with DNS).
> >>>>>>
> >>>>>> I thought to resolve the problem putting a SOAP envelope into
> >>>>>> a UDP
> >>>>>> datagram, send the datagram to a broadcast ip and that's all
> >>>>>> folks...but I don't know how and, as you, Martins, wrote, I
> >>>>>> was not
> >>>>>> able to find anybody who has implemented this yet.
> >>>>>>
> >>>>>> Can you suggest me another solutions?
> >>>>>>
> >>>>>> Thank you very much again!!
> >>>>>>
> >>>>>> Cheers,
> >>>>>>
> >>>>>> Francesco
> >>>>>>
> >>>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> >>>>>>
> >>>>>>
> >>>>>>> Mark/Francesco
> >>>>>>> I would caution on use of UDP as the SOAP Portocols (e.g. HTTP)
> >>>>>>> is/are
> >>>>>>> decidely not UDP but instead a connection-oriented TCP
> >>>>>>> To date I have not seen UDP Ports used for SOAP transmission
> >>>>>>> although
> >>>>>>> since
> >>>>>>> there is no requirement for verifiable connection and or
> >>>>>>> handshakes
> >>>>>>> I would venture to guess UDP is available as the transmission
> >>>>>>> medium
> >>>>>>> but
> >>>>>>> I
> >>>>>>> have not seen any UDP Ports used for SOAP thus far
> >>>>>>> Anyone else ???
> >>>>>>> Ciao-
> >>>>>>> Martin-
> >>>>>>>
> >>>>>>> ----- Original Message -----
> >>>>>>> From: "mdonaghue" <md...@mZeal.com>
> >>>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
> >>>>>>> <fm...@gmail.com>
> >>>>>>> Sent: Saturday, May 28, 2005 3:14 PM
> >>>>>>> Subject: RE: SOAP-over-UDP
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>> Hi Franceso,
> >>>>>>>>
> >>>>>>>> I've worked briefly with the apache soap api, not that
> >>>>>>>> familiar with
> >>>>>>>> it.
> >>>>>>>> Typically a soap message is sent to a single soap server
> >>>>>>>> address,
> >>>>>>>> which
> >>>>>>>> is
> >>>>>>>> specified by a url or an ip address, as well as a port. So your
> >>>>>>>> server
> >>>>>>>> address on the LAN might be something like 192.168.100.2:8080.
> >>>>>>>> (I'm
> >>>>>>>> not
> >>>>>>>> sure
> >>>>>>>> what the port is for UDDI, so just using standard TomCat Web
> >>>>>>>> Server
> >>>>>>>> port).
> >>>>>>>>
> >>>>>>>> IIRC, you there's a point at which you specify that address in
> >>>>>>>> the
> >>>>>>>> setup
> >>>>>>>> for
> >>>>>>>> your soap call. One thing you could try is to change the
> >>>>>>>> address to
> >>>>>>>> the
> >>>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
> >>>>>>>> class c
> >>>>>>>> network
> >>>>>>>> where the first 3 quads specify the network portion of the
> >>>>>>>> submask.
> >>>>>>>>
> >>>>>>>> However, this may not a scalable solution, since the broadcast
> >>>>>>>> wouldn't
> >>>>>>>> carry beyond the physical subnet on which you are located.
> >>>>>>>> Using
> >>>>>>>> UDDI
> >>>>>>>> to
> >>>>>>>> discover services is one thing, but dynamically discovering
> >>>>>>>> UDDI
> >>>>>>>> servers
> >>>>>>>> is
> >>>>>>>> obviously a different problem. It also doesn't address the
> >>>>>>>> issue of
> >>>>>>>> more
> >>>>>>>> than one UDDI server running on the same subnet.
> >>>>>>>>
> >>>>>>>> A more generalized solution might involve a distributed ip
> >>>>>>>> lookup
> >>>>>>>> service,
> >>>>>>>> namely DNS. For example when DNS looks up the ip address of
> >>>>>>>> Yahoo.com,
> >>>>>>>> at
> >>>>>>>> some point the actual ip address that serves the request is
> >>>>>>>> dynamically
> >>>>>>>> assigned to one of dozens (or hundreds) of servers based on a
> >>>>>>>> scheduling
> >>>>>>>> scheme.  You could locally enable DNS lookup, and create an
> >>>>>>>> entry
> >>>>>>>> based
> >>>>>>>> on
> >>>>>>>> some url like "myuddpsever.com", and give it your local UDDI
> >>>>>>>> server's
> >>>>>>>> ip
> >>>>>>>> address, and the rest would be handled within the network. The
> >>>>>>>> advantage
> >>>>>>>> to
> >>>>>>>> this is your UDDP server could be anywhere and your message
> >>>>>>>> would
> >>>>>>>> still
> >>>>>>>> reach it.
> >>>>>>>>
> >>>>>>>> hth,
> >>>>>>>> Mark
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> -----Original Message-----
> >>>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
> >>>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
> >>>>>>>> To: soap-user@ws.apache.org
> >>>>>>>> Subject: SOAP-over-UDP
> >>>>>>>>
> >>>>>>>> Hi, I'm desperate!
> >>>>>>>> I'm trying to find out how to send a broadcast SOAP request
> >>>>>>>> to a
> >>>>>>>> UDDI
> >>>>>>>> registry in a LAN, but I'm not able to do this. I've looked
> >>>>>>>> for some
> >>>>>>>> example but I've not found anithing.
> >>>>>>>>
> >>>>>>>> Please...could anybody help me?
> >>>>>>>> I'm making a thesis for the University of Florence (Italy)
> >>>>>>>> and I
> >>>>>>>> have
> >>>>>>>> to discovery dinamically web service published in some UDDI
> >>>>>>>> registry
> >>>>>>>> somewhere in a LAN. I have to send a broadcast SOAP request to
> >>>>>>>> these
> >>>>>>>> UDDI registry (as I wrote few lines above).
> >>>>>>>> Of course I'm using Java language.
> >>>>>>>>
> >>>>>>>> Thank you very much for your help...I'm in a great
> >>>>>>>> hurry...thanks
> >>>>>>>> very
> >>>>>>>> very much to everyone could help me!
> >>>>>>>>
> >>>>>>>> Best reguards,
> >>>>>>>>
> >>>>>>>> Francesco
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >
> 
>

Re: SOAP-over-UDP

Posted by Eric VERGNAUD <er...@jlynx.com>.
Have your server regularly broadcast its address on a port.
Have your client act as a server on startup and listen on the same port.
When the real server broadcasts its address, the client will receive  
a connection request.
One you have the server address, ask the server for the information  
you need (what you call the context).

Le 31 mai 05 à 11:41, Francesco Munari a écrit :

> Hi, Eric.
>
> Ok, but how can I do this? I think I'm a newbie in this kind of
> operation, sorry. How can I look to a port of servers in a LAN without
> knowing their IP? And in this way may I keep the context-awareness of
> the communication?
>
> thank you for you reply
>
> Cheers
>
> francesco
>
> 2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
>
>> I'm afraid that is a very verbose way of doing things. The typical
>> way to do this is determine a port, have your server broadcast its IP
>> address on that port, and your clients look on that port to grab the
>> address.
>>
>> Once the address is found, you can safely interact with the server
>> using SOAP over HTTP.
>>
>> Le 30 mai 05 à 22:19, Francesco Munari a écrit :
>>
>>
>>> I'm alredy using UDDI4j. The idea is that I don't know where the  
>>> UDDI
>>> registry can be in the LAN.
>>> I assume that the client knows only two things:
>>> 1) the network (of course)
>>> 2) a "search key" for a particular tipe of service
>>>
>>> and that's all.
>>> The client should send a broadcast SOAP (or XML-RPC) request
>>> containing the search method to call on the server with the "key"
>>> passed as a parameter and somewhere into the LAN should be a server
>>> (or more) with its private UDDI registry that should reply with a
>>> response containing the result of the invoking of the method  
>>> contained
>>> in the sender's RPC request. The response should contain just the  
>>> URL
>>> of the WSDL file related to the service found.
>>>
>>> The need of the broadcast message is that the client don't know  
>>> where
>>> (or if) there could be any UDDI registry in the network. With this
>>> framework a client can change network configuration (for example,
>>> going from a floor to another with a Palm in a wireless LAN) and,
>>> after leaving the service provided in the first network, find anothe
>>> one similar on the other network only by pressing the button  
>>> "Refresh"
>>> :)
>>>
>>> Francesco
>>>
>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
>>>
>>>
>>>> The side effect of a broadcast without authentication is  
>>>> flooding the
>>>> network with unwanted disovery packets
>>>> I guess this is OK if you're utilising a high datarate
>>>> transmission i guess
>>>>
>>>> In your case your SOAP Request should look like
>>>>
>>>> <?xml version="1.0"?>
>>>> <SOAP-ENV:Envelope
>>>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
>>>>  <SOAP-ENV:Body>
>>>>    <getTest>
>>>>      <Test>Test</Test>
>>>>    </getTest>
>>>>  </SOAP-ENV:Body>
>>>> </SOAP-ENV:Envelope>
>>>>
>>>> If you want to discover a "SOAP based" web-service based on some
>>>> characteristic such as Business Service Category why not use  
>>>> UDDI4J?
>>>> Take a look at
>>>> http://sourceforge.net/projects/uddi4j
>>>>
>>>> Martin-
>>>>
>>>> ----- Original Message -----
>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>> To: "Martin Gainty" <mg...@hotmail.com>
>>>> Cc: <so...@ws.apache.org>
>>>> Sent: Monday, May 30, 2005 12:44 PM
>>>> Subject: Re: SOAP-over-UDP
>>>>
>>>> Martins,
>>>>
>>>> It is for this reason that I'd like to broadcast a SOAP request
>>>> instead of a simple XML-RPC message. The goal of my framework is to
>>>> keep the "context awareness" offered by XML language.
>>>> If you are sure that there is no way to send a broadcast SOAP
>>>> request,
>>>> the last solution, I think, it could be XML-RPC.
>>>>
>>>> So, two questions:
>>>>
>>>> 1) are you sure ther's no way to send a broadcast SOAP request?
>>>> 2) In order to send a broadcast XML-RPC message I've to cerate a
>>>> StringWriter like this (for example)?
>>>>
>>>> <?xml version="1.0" ?>
>>>>   <methodCall>
>>>>       <methodName>getTest</methodName>
>>>>       <params>
>>>>           <param>
>>>>               <value>
>>>>                  <string>Test</string>
>>>>               </value>
>>>>           </param>
>>>>       </params>
>>>> </methodCall>
>>>>
>>>> Thank's Martin.
>>>>
>>>> Francesco
>>>>
>>>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
>>>>
>>>>
>>>>> Francesco-
>>>>> You can Broadcast XML-RPC assuming you dont mind flooding your
>>>>> network
>>>>> The question is can you confine your application to using the
>>>>> more basic
>>>>> datatypes supported by XML-RPC
>>>>> vs implementing SOAP features (user-defined datatypes, namespace
>>>>> URI)?
>>>>> Anyone else?
>>>>> Martin-
>>>>> ----- Original Message -----
>>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>>> To: "Martin Gainty" <mg...@hotmail.com>
>>>>> Cc: <so...@ws.apache.org>
>>>>> Sent: Monday, May 30, 2005 6:45 AM
>>>>> Subject: Re: SOAP-over-UDP
>>>>>
>>>>> Grazie! :)
>>>>>
>>>>> Could someone tell me if a simple XML-RPC message may be sent to a
>>>>> broadcast address? A simple message with the medthod to be
>>>>> invoked. In
>>>>> this way I should be able to send a broadcast XML-RPC request
>>>>> with the
>>>>> appropriate UDDI inquiry method; a server (containing a UDDI
>>>>> registry)
>>>>> should receive it, invoke that method and send a reply in XML  
>>>>> format
>>>>> to the sender.
>>>>>
>>>>> It could be a good idea?
>>>>>
>>>>> thank you again!
>>>>>
>>>>> Francesco
>>>>>
>>>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
>>>>>
>>>>>
>>>>>> benvenuto!
>>>>>> Martin-
>>>>>>
>>>>>> ----- Original Message -----
>>>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>>>> To: <so...@ws.apache.org>
>>>>>> Sent: Saturday, May 28, 2005 5:41 PM
>>>>>> Subject: Re: SOAP-over-UDP
>>>>>>
>>>>>> Thank you all for your very quick reply!
>>>>>>
>>>>>> I've heard about this SOAP-over-UDP spec
>>>>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en-
>>>>>> us/dnglobspec/html/soap-over-udp.asp).
>>>>>> So, Martin, you say that it could not be a solution? Perhaps it
>>>>>> should
>>>>>> be an idea using Mark's solution (with DNS).
>>>>>>
>>>>>> I thought to resolve the problem putting a SOAP envelope into  
>>>>>> a UDP
>>>>>> datagram, send the datagram to a broadcast ip and that's all
>>>>>> folks...but I don't know how and, as you, Martins, wrote, I  
>>>>>> was not
>>>>>> able to find anybody who has implemented this yet.
>>>>>>
>>>>>> Can you suggest me another solutions?
>>>>>>
>>>>>> Thank you very much again!!
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> Francesco
>>>>>>
>>>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
>>>>>>
>>>>>>
>>>>>>> Mark/Francesco
>>>>>>> I would caution on use of UDP as the SOAP Portocols (e.g. HTTP)
>>>>>>> is/are
>>>>>>> decidely not UDP but instead a connection-oriented TCP
>>>>>>> To date I have not seen UDP Ports used for SOAP transmission
>>>>>>> although
>>>>>>> since
>>>>>>> there is no requirement for verifiable connection and or
>>>>>>> handshakes
>>>>>>> I would venture to guess UDP is available as the transmission
>>>>>>> medium
>>>>>>> but
>>>>>>> I
>>>>>>> have not seen any UDP Ports used for SOAP thus far
>>>>>>> Anyone else ???
>>>>>>> Ciao-
>>>>>>> Martin-
>>>>>>>
>>>>>>> ----- Original Message -----
>>>>>>> From: "mdonaghue" <md...@mZeal.com>
>>>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
>>>>>>> <fm...@gmail.com>
>>>>>>> Sent: Saturday, May 28, 2005 3:14 PM
>>>>>>> Subject: RE: SOAP-over-UDP
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Hi Franceso,
>>>>>>>>
>>>>>>>> I've worked briefly with the apache soap api, not that
>>>>>>>> familiar with
>>>>>>>> it.
>>>>>>>> Typically a soap message is sent to a single soap server  
>>>>>>>> address,
>>>>>>>> which
>>>>>>>> is
>>>>>>>> specified by a url or an ip address, as well as a port. So your
>>>>>>>> server
>>>>>>>> address on the LAN might be something like 192.168.100.2:8080.
>>>>>>>> (I'm
>>>>>>>> not
>>>>>>>> sure
>>>>>>>> what the port is for UDDI, so just using standard TomCat Web
>>>>>>>> Server
>>>>>>>> port).
>>>>>>>>
>>>>>>>> IIRC, you there's a point at which you specify that address in
>>>>>>>> the
>>>>>>>> setup
>>>>>>>> for
>>>>>>>> your soap call. One thing you could try is to change the
>>>>>>>> address to
>>>>>>>> the
>>>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
>>>>>>>> class c
>>>>>>>> network
>>>>>>>> where the first 3 quads specify the network portion of the
>>>>>>>> submask.
>>>>>>>>
>>>>>>>> However, this may not a scalable solution, since the broadcast
>>>>>>>> wouldn't
>>>>>>>> carry beyond the physical subnet on which you are located.  
>>>>>>>> Using
>>>>>>>> UDDI
>>>>>>>> to
>>>>>>>> discover services is one thing, but dynamically discovering  
>>>>>>>> UDDI
>>>>>>>> servers
>>>>>>>> is
>>>>>>>> obviously a different problem. It also doesn't address the
>>>>>>>> issue of
>>>>>>>> more
>>>>>>>> than one UDDI server running on the same subnet.
>>>>>>>>
>>>>>>>> A more generalized solution might involve a distributed ip  
>>>>>>>> lookup
>>>>>>>> service,
>>>>>>>> namely DNS. For example when DNS looks up the ip address of
>>>>>>>> Yahoo.com,
>>>>>>>> at
>>>>>>>> some point the actual ip address that serves the request is
>>>>>>>> dynamically
>>>>>>>> assigned to one of dozens (or hundreds) of servers based on a
>>>>>>>> scheduling
>>>>>>>> scheme.  You could locally enable DNS lookup, and create an  
>>>>>>>> entry
>>>>>>>> based
>>>>>>>> on
>>>>>>>> some url like "myuddpsever.com", and give it your local UDDI
>>>>>>>> server's
>>>>>>>> ip
>>>>>>>> address, and the rest would be handled within the network. The
>>>>>>>> advantage
>>>>>>>> to
>>>>>>>> this is your UDDP server could be anywhere and your message  
>>>>>>>> would
>>>>>>>> still
>>>>>>>> reach it.
>>>>>>>>
>>>>>>>> hth,
>>>>>>>> Mark
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
>>>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
>>>>>>>> To: soap-user@ws.apache.org
>>>>>>>> Subject: SOAP-over-UDP
>>>>>>>>
>>>>>>>> Hi, I'm desperate!
>>>>>>>> I'm trying to find out how to send a broadcast SOAP request  
>>>>>>>> to a
>>>>>>>> UDDI
>>>>>>>> registry in a LAN, but I'm not able to do this. I've looked
>>>>>>>> for some
>>>>>>>> example but I've not found anithing.
>>>>>>>>
>>>>>>>> Please...could anybody help me?
>>>>>>>> I'm making a thesis for the University of Florence (Italy)  
>>>>>>>> and I
>>>>>>>> have
>>>>>>>> to discovery dinamically web service published in some UDDI
>>>>>>>> registry
>>>>>>>> somewhere in a LAN. I have to send a broadcast SOAP request to
>>>>>>>> these
>>>>>>>> UDDI registry (as I wrote few lines above).
>>>>>>>> Of course I'm using Java language.
>>>>>>>>
>>>>>>>> Thank you very much for your help...I'm in a great  
>>>>>>>> hurry...thanks
>>>>>>>> very
>>>>>>>> very much to everyone could help me!
>>>>>>>>
>>>>>>>> Best reguards,
>>>>>>>>
>>>>>>>> Francesco
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>



Re: SOAP-over-UDP

Posted by Francesco Munari <fm...@gmail.com>.
Hi, Eric.

Ok, but how can I do this? I think I'm a newbie in this kind of
operation, sorry. How can I look to a port of servers in a LAN without
knowing their IP? And in this way may I keep the context-awareness of
the communication?

thank you for you reply

Cheers

francesco

2005/5/31, Eric VERGNAUD <er...@jlynx.com>:
> I'm afraid that is a very verbose way of doing things. The typical
> way to do this is determine a port, have your server broadcast its IP
> address on that port, and your clients look on that port to grab the
> address.
> 
> Once the address is found, you can safely interact with the server
> using SOAP over HTTP.
> 
> Le 30 mai 05 à 22:19, Francesco Munari a écrit :
> 
> > I'm alredy using UDDI4j. The idea is that I don't know where the UDDI
> > registry can be in the LAN.
> > I assume that the client knows only two things:
> > 1) the network (of course)
> > 2) a "search key" for a particular tipe of service
> >
> > and that's all.
> > The client should send a broadcast SOAP (or XML-RPC) request
> > containing the search method to call on the server with the "key"
> > passed as a parameter and somewhere into the LAN should be a server
> > (or more) with its private UDDI registry that should reply with a
> > response containing the result of the invoking of the method contained
> > in the sender's RPC request. The response should contain just the URL
> > of the WSDL file related to the service found.
> >
> > The need of the broadcast message is that the client don't know where
> > (or if) there could be any UDDI registry in the network. With this
> > framework a client can change network configuration (for example,
> > going from a floor to another with a Palm in a wireless LAN) and,
> > after leaving the service provided in the first network, find anothe
> > one similar on the other network only by pressing the button "Refresh"
> > :)
> >
> > Francesco
> >
> > 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >
> >> The side effect of a broadcast without authentication is flooding the
> >> network with unwanted disovery packets
> >> I guess this is OK if you're utilising a high datarate
> >> transmission i guess
> >>
> >> In your case your SOAP Request should look like
> >>
> >> <?xml version="1.0"?>
> >> <SOAP-ENV:Envelope
> >> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
> >>  <SOAP-ENV:Body>
> >>    <getTest>
> >>      <Test>Test</Test>
> >>    </getTest>
> >>  </SOAP-ENV:Body>
> >> </SOAP-ENV:Envelope>
> >>
> >> If you want to discover a "SOAP based" web-service based on some
> >> characteristic such as Business Service Category why not use UDDI4J?
> >> Take a look at
> >> http://sourceforge.net/projects/uddi4j
> >>
> >> Martin-
> >>
> >> ----- Original Message -----
> >> From: "Francesco Munari" <fm...@gmail.com>
> >> To: "Martin Gainty" <mg...@hotmail.com>
> >> Cc: <so...@ws.apache.org>
> >> Sent: Monday, May 30, 2005 12:44 PM
> >> Subject: Re: SOAP-over-UDP
> >>
> >> Martins,
> >>
> >> It is for this reason that I'd like to broadcast a SOAP request
> >> instead of a simple XML-RPC message. The goal of my framework is to
> >> keep the "context awareness" offered by XML language.
> >> If you are sure that there is no way to send a broadcast SOAP
> >> request,
> >> the last solution, I think, it could be XML-RPC.
> >>
> >> So, two questions:
> >>
> >> 1) are you sure ther's no way to send a broadcast SOAP request?
> >> 2) In order to send a broadcast XML-RPC message I've to cerate a
> >> StringWriter like this (for example)?
> >>
> >> <?xml version="1.0" ?>
> >>   <methodCall>
> >>       <methodName>getTest</methodName>
> >>       <params>
> >>           <param>
> >>               <value>
> >>                  <string>Test</string>
> >>               </value>
> >>           </param>
> >>       </params>
> >> </methodCall>
> >>
> >> Thank's Martin.
> >>
> >> Francesco
> >>
> >> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> >>
> >>> Francesco-
> >>> You can Broadcast XML-RPC assuming you dont mind flooding your
> >>> network
> >>> The question is can you confine your application to using the
> >>> more basic
> >>> datatypes supported by XML-RPC
> >>> vs implementing SOAP features (user-defined datatypes, namespace
> >>> URI)?
> >>> Anyone else?
> >>> Martin-
> >>> ----- Original Message -----
> >>> From: "Francesco Munari" <fm...@gmail.com>
> >>> To: "Martin Gainty" <mg...@hotmail.com>
> >>> Cc: <so...@ws.apache.org>
> >>> Sent: Monday, May 30, 2005 6:45 AM
> >>> Subject: Re: SOAP-over-UDP
> >>>
> >>> Grazie! :)
> >>>
> >>> Could someone tell me if a simple XML-RPC message may be sent to a
> >>> broadcast address? A simple message with the medthod to be
> >>> invoked. In
> >>> this way I should be able to send a broadcast XML-RPC request
> >>> with the
> >>> appropriate UDDI inquiry method; a server (containing a UDDI
> >>> registry)
> >>> should receive it, invoke that method and send a reply in XML format
> >>> to the sender.
> >>>
> >>> It could be a good idea?
> >>>
> >>> thank you again!
> >>>
> >>> Francesco
> >>>
> >>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> >>>
> >>>> benvenuto!
> >>>> Martin-
> >>>>
> >>>> ----- Original Message -----
> >>>> From: "Francesco Munari" <fm...@gmail.com>
> >>>> To: <so...@ws.apache.org>
> >>>> Sent: Saturday, May 28, 2005 5:41 PM
> >>>> Subject: Re: SOAP-over-UDP
> >>>>
> >>>> Thank you all for your very quick reply!
> >>>>
> >>>> I've heard about this SOAP-over-UDP spec
> >>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en-
> >>>> us/dnglobspec/html/soap-over-udp.asp).
> >>>> So, Martin, you say that it could not be a solution? Perhaps it
> >>>> should
> >>>> be an idea using Mark's solution (with DNS).
> >>>>
> >>>> I thought to resolve the problem putting a SOAP envelope into a UDP
> >>>> datagram, send the datagram to a broadcast ip and that's all
> >>>> folks...but I don't know how and, as you, Martins, wrote, I was not
> >>>> able to find anybody who has implemented this yet.
> >>>>
> >>>> Can you suggest me another solutions?
> >>>>
> >>>> Thank you very much again!!
> >>>>
> >>>> Cheers,
> >>>>
> >>>> Francesco
> >>>>
> >>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> >>>>
> >>>>> Mark/Francesco
> >>>>> I would caution on use of UDP as the SOAP Portocols (e.g. HTTP)
> >>>>> is/are
> >>>>> decidely not UDP but instead a connection-oriented TCP
> >>>>> To date I have not seen UDP Ports used for SOAP transmission
> >>>>> although
> >>>>> since
> >>>>> there is no requirement for verifiable connection and or
> >>>>> handshakes
> >>>>> I would venture to guess UDP is available as the transmission
> >>>>> medium
> >>>>> but
> >>>>> I
> >>>>> have not seen any UDP Ports used for SOAP thus far
> >>>>> Anyone else ???
> >>>>> Ciao-
> >>>>> Martin-
> >>>>>
> >>>>> ----- Original Message -----
> >>>>> From: "mdonaghue" <md...@mZeal.com>
> >>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
> >>>>> <fm...@gmail.com>
> >>>>> Sent: Saturday, May 28, 2005 3:14 PM
> >>>>> Subject: RE: SOAP-over-UDP
> >>>>>
> >>>>>
> >>>>>> Hi Franceso,
> >>>>>>
> >>>>>> I've worked briefly with the apache soap api, not that
> >>>>>> familiar with
> >>>>>> it.
> >>>>>> Typically a soap message is sent to a single soap server address,
> >>>>>> which
> >>>>>> is
> >>>>>> specified by a url or an ip address, as well as a port. So your
> >>>>>> server
> >>>>>> address on the LAN might be something like 192.168.100.2:8080.
> >>>>>> (I'm
> >>>>>> not
> >>>>>> sure
> >>>>>> what the port is for UDDI, so just using standard TomCat Web
> >>>>>> Server
> >>>>>> port).
> >>>>>>
> >>>>>> IIRC, you there's a point at which you specify that address in
> >>>>>> the
> >>>>>> setup
> >>>>>> for
> >>>>>> your soap call. One thing you could try is to change the
> >>>>>> address to
> >>>>>> the
> >>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
> >>>>>> class c
> >>>>>> network
> >>>>>> where the first 3 quads specify the network portion of the
> >>>>>> submask.
> >>>>>>
> >>>>>> However, this may not a scalable solution, since the broadcast
> >>>>>> wouldn't
> >>>>>> carry beyond the physical subnet on which you are located. Using
> >>>>>> UDDI
> >>>>>> to
> >>>>>> discover services is one thing, but dynamically discovering UDDI
> >>>>>> servers
> >>>>>> is
> >>>>>> obviously a different problem. It also doesn't address the
> >>>>>> issue of
> >>>>>> more
> >>>>>> than one UDDI server running on the same subnet.
> >>>>>>
> >>>>>> A more generalized solution might involve a distributed ip lookup
> >>>>>> service,
> >>>>>> namely DNS. For example when DNS looks up the ip address of
> >>>>>> Yahoo.com,
> >>>>>> at
> >>>>>> some point the actual ip address that serves the request is
> >>>>>> dynamically
> >>>>>> assigned to one of dozens (or hundreds) of servers based on a
> >>>>>> scheduling
> >>>>>> scheme.  You could locally enable DNS lookup, and create an entry
> >>>>>> based
> >>>>>> on
> >>>>>> some url like "myuddpsever.com", and give it your local UDDI
> >>>>>> server's
> >>>>>> ip
> >>>>>> address, and the rest would be handled within the network. The
> >>>>>> advantage
> >>>>>> to
> >>>>>> this is your UDDP server could be anywhere and your message would
> >>>>>> still
> >>>>>> reach it.
> >>>>>>
> >>>>>> hth,
> >>>>>> Mark
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
> >>>>>> Sent: Saturday, May 28, 2005 4:58 AM
> >>>>>> To: soap-user@ws.apache.org
> >>>>>> Subject: SOAP-over-UDP
> >>>>>>
> >>>>>> Hi, I'm desperate!
> >>>>>> I'm trying to find out how to send a broadcast SOAP request to a
> >>>>>> UDDI
> >>>>>> registry in a LAN, but I'm not able to do this. I've looked
> >>>>>> for some
> >>>>>> example but I've not found anithing.
> >>>>>>
> >>>>>> Please...could anybody help me?
> >>>>>> I'm making a thesis for the University of Florence (Italy) and I
> >>>>>> have
> >>>>>> to discovery dinamically web service published in some UDDI
> >>>>>> registry
> >>>>>> somewhere in a LAN. I have to send a broadcast SOAP request to
> >>>>>> these
> >>>>>> UDDI registry (as I wrote few lines above).
> >>>>>> Of course I'm using Java language.
> >>>>>>
> >>>>>> Thank you very much for your help...I'm in a great hurry...thanks
> >>>>>> very
> >>>>>> very much to everyone could help me!
> >>>>>>
> >>>>>> Best reguards,
> >>>>>>
> >>>>>> Francesco
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>>
> >>
> >
> 
>

AW: SOAP-over-UDP

Posted by Malte Kempff <Ke...@medicalcolumbus.de>.
Hi ,
I hope it is not off topic I have 2 links found to a framework called JXTA
http://www.jxta.org/white_papers.html
http://www.openp2p.com/pub/a/p2p/2001/06/05/jxtachat.html

may be this could help a little

Malte


-----Ursprüngliche Nachricht-----
Von: Eric VERGNAUD [mailto:eric.vergnaud@jlynx.com]
Gesendet: Dienstag, 31. Mai 2005 07:29
An: soap-user@ws.apache.org
Betreff: Re: SOAP-over-UDP


I'm afraid that is a very verbose way of doing things. The typical
way to do this is determine a port, have your server broadcast its IP
address on that port, and your clients look on that port to grab the
address.

Once the address is found, you can safely interact with the server
using SOAP over HTTP.

Le 30 mai 05 à 22:19, Francesco Munari a écrit :

> I'm alredy using UDDI4j. The idea is that I don't know where the UDDI
> registry can be in the LAN.
> I assume that the client knows only two things:
> 1) the network (of course)
> 2) a "search key" for a particular tipe of service
>
> and that's all.
> The client should send a broadcast SOAP (or XML-RPC) request
> containing the search method to call on the server with the "key"
> passed as a parameter and somewhere into the LAN should be a server
> (or more) with its private UDDI registry that should reply with a
> response containing the result of the invoking of the method contained
> in the sender's RPC request. The response should contain just the URL
> of the WSDL file related to the service found.
>
> The need of the broadcast message is that the client don't know where
> (or if) there could be any UDDI registry in the network. With this
> framework a client can change network configuration (for example,
> going from a floor to another with a Palm in a wireless LAN) and,
> after leaving the service provided in the first network, find anothe
> one similar on the other network only by pressing the button "Refresh"
> :)
>
> Francesco
>
> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
>
>> The side effect of a broadcast without authentication is flooding the
>> network with unwanted disovery packets
>> I guess this is OK if you're utilising a high datarate
>> transmission i guess
>>
>> In your case your SOAP Request should look like
>>
>> <?xml version="1.0"?>
>> <SOAP-ENV:Envelope
>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
>>  <SOAP-ENV:Body>
>>    <getTest>
>>      <Test>Test</Test>
>>    </getTest>
>>  </SOAP-ENV:Body>
>> </SOAP-ENV:Envelope>
>>
>> If you want to discover a "SOAP based" web-service based on some
>> characteristic such as Business Service Category why not use UDDI4J?
>> Take a look at
>> http://sourceforge.net/projects/uddi4j
>>
>> Martin-
>>
>> ----- Original Message -----
>> From: "Francesco Munari" <fm...@gmail.com>
>> To: "Martin Gainty" <mg...@hotmail.com>
>> Cc: <so...@ws.apache.org>
>> Sent: Monday, May 30, 2005 12:44 PM
>> Subject: Re: SOAP-over-UDP
>>
>> Martins,
>>
>> It is for this reason that I'd like to broadcast a SOAP request
>> instead of a simple XML-RPC message. The goal of my framework is to
>> keep the "context awareness" offered by XML language.
>> If you are sure that there is no way to send a broadcast SOAP
>> request,
>> the last solution, I think, it could be XML-RPC.
>>
>> So, two questions:
>>
>> 1) are you sure ther's no way to send a broadcast SOAP request?
>> 2) In order to send a broadcast XML-RPC message I've to cerate a
>> StringWriter like this (for example)?
>>
>> <?xml version="1.0" ?>
>>   <methodCall>
>>       <methodName>getTest</methodName>
>>       <params>
>>           <param>
>>               <value>
>>                  <string>Test</string>
>>               </value>
>>           </param>
>>       </params>
>> </methodCall>
>>
>> Thank's Martin.
>>
>> Francesco
>>
>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
>>
>>> Francesco-
>>> You can Broadcast XML-RPC assuming you dont mind flooding your
>>> network
>>> The question is can you confine your application to using the
>>> more basic
>>> datatypes supported by XML-RPC
>>> vs implementing SOAP features (user-defined datatypes, namespace
>>> URI)?
>>> Anyone else?
>>> Martin-
>>> ----- Original Message -----
>>> From: "Francesco Munari" <fm...@gmail.com>
>>> To: "Martin Gainty" <mg...@hotmail.com>
>>> Cc: <so...@ws.apache.org>
>>> Sent: Monday, May 30, 2005 6:45 AM
>>> Subject: Re: SOAP-over-UDP
>>>
>>> Grazie! :)
>>>
>>> Could someone tell me if a simple XML-RPC message may be sent to a
>>> broadcast address? A simple message with the medthod to be
>>> invoked. In
>>> this way I should be able to send a broadcast XML-RPC request
>>> with the
>>> appropriate UDDI inquiry method; a server (containing a UDDI
>>> registry)
>>> should receive it, invoke that method and send a reply in XML format
>>> to the sender.
>>>
>>> It could be a good idea?
>>>
>>> thank you again!
>>>
>>> Francesco
>>>
>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
>>>
>>>> benvenuto!
>>>> Martin-
>>>>
>>>> ----- Original Message -----
>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>> To: <so...@ws.apache.org>
>>>> Sent: Saturday, May 28, 2005 5:41 PM
>>>> Subject: Re: SOAP-over-UDP
>>>>
>>>> Thank you all for your very quick reply!
>>>>
>>>> I've heard about this SOAP-over-UDP spec
>>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en-
>>>> us/dnglobspec/html/soap-over-udp.asp).
>>>> So, Martin, you say that it could not be a solution? Perhaps it
>>>> should
>>>> be an idea using Mark's solution (with DNS).
>>>>
>>>> I thought to resolve the problem putting a SOAP envelope into a UDP
>>>> datagram, send the datagram to a broadcast ip and that's all
>>>> folks...but I don't know how and, as you, Martins, wrote, I was not
>>>> able to find anybody who has implemented this yet.
>>>>
>>>> Can you suggest me another solutions?
>>>>
>>>> Thank you very much again!!
>>>>
>>>> Cheers,
>>>>
>>>> Francesco
>>>>
>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
>>>>
>>>>> Mark/Francesco
>>>>> I would caution on use of UDP as the SOAP Portocols (e.g. HTTP)
>>>>> is/are
>>>>> decidely not UDP but instead a connection-oriented TCP
>>>>> To date I have not seen UDP Ports used for SOAP transmission
>>>>> although
>>>>> since
>>>>> there is no requirement for verifiable connection and or
>>>>> handshakes
>>>>> I would venture to guess UDP is available as the transmission
>>>>> medium
>>>>> but
>>>>> I
>>>>> have not seen any UDP Ports used for SOAP thus far
>>>>> Anyone else ???
>>>>> Ciao-
>>>>> Martin-
>>>>>
>>>>> ----- Original Message -----
>>>>> From: "mdonaghue" <md...@mZeal.com>
>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
>>>>> <fm...@gmail.com>
>>>>> Sent: Saturday, May 28, 2005 3:14 PM
>>>>> Subject: RE: SOAP-over-UDP
>>>>>
>>>>>
>>>>>> Hi Franceso,
>>>>>>
>>>>>> I've worked briefly with the apache soap api, not that
>>>>>> familiar with
>>>>>> it.
>>>>>> Typically a soap message is sent to a single soap server address,
>>>>>> which
>>>>>> is
>>>>>> specified by a url or an ip address, as well as a port. So your
>>>>>> server
>>>>>> address on the LAN might be something like 192.168.100.2:8080.
>>>>>> (I'm
>>>>>> not
>>>>>> sure
>>>>>> what the port is for UDDI, so just using standard TomCat Web
>>>>>> Server
>>>>>> port).
>>>>>>
>>>>>> IIRC, you there's a point at which you specify that address in
>>>>>> the
>>>>>> setup
>>>>>> for
>>>>>> your soap call. One thing you could try is to change the
>>>>>> address to
>>>>>> the
>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a
>>>>>> class c
>>>>>> network
>>>>>> where the first 3 quads specify the network portion of the
>>>>>> submask.
>>>>>>
>>>>>> However, this may not a scalable solution, since the broadcast
>>>>>> wouldn't
>>>>>> carry beyond the physical subnet on which you are located. Using
>>>>>> UDDI
>>>>>> to
>>>>>> discover services is one thing, but dynamically discovering UDDI
>>>>>> servers
>>>>>> is
>>>>>> obviously a different problem. It also doesn't address the
>>>>>> issue of
>>>>>> more
>>>>>> than one UDDI server running on the same subnet.
>>>>>>
>>>>>> A more generalized solution might involve a distributed ip lookup
>>>>>> service,
>>>>>> namely DNS. For example when DNS looks up the ip address of
>>>>>> Yahoo.com,
>>>>>> at
>>>>>> some point the actual ip address that serves the request is
>>>>>> dynamically
>>>>>> assigned to one of dozens (or hundreds) of servers based on a
>>>>>> scheduling
>>>>>> scheme.  You could locally enable DNS lookup, and create an entry
>>>>>> based
>>>>>> on
>>>>>> some url like "myuddpsever.com", and give it your local UDDI
>>>>>> server's
>>>>>> ip
>>>>>> address, and the rest would be handled within the network. The
>>>>>> advantage
>>>>>> to
>>>>>> this is your UDDP server could be anywhere and your message would
>>>>>> still
>>>>>> reach it.
>>>>>>
>>>>>> hth,
>>>>>> Mark
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
>>>>>> To: soap-user@ws.apache.org
>>>>>> Subject: SOAP-over-UDP
>>>>>>
>>>>>> Hi, I'm desperate!
>>>>>> I'm trying to find out how to send a broadcast SOAP request to a
>>>>>> UDDI
>>>>>> registry in a LAN, but I'm not able to do this. I've looked
>>>>>> for some
>>>>>> example but I've not found anithing.
>>>>>>
>>>>>> Please...could anybody help me?
>>>>>> I'm making a thesis for the University of Florence (Italy) and I
>>>>>> have
>>>>>> to discovery dinamically web service published in some UDDI
>>>>>> registry
>>>>>> somewhere in a LAN. I have to send a broadcast SOAP request to
>>>>>> these
>>>>>> UDDI registry (as I wrote few lines above).
>>>>>> Of course I'm using Java language.
>>>>>>
>>>>>> Thank you very much for your help...I'm in a great hurry...thanks
>>>>>> very
>>>>>> very much to everyone could help me!
>>>>>>
>>>>>> Best reguards,
>>>>>>
>>>>>> Francesco
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>



Re: SOAP-over-UDP

Posted by Eric VERGNAUD <er...@jlynx.com>.
I'm afraid that is a very verbose way of doing things. The typical  
way to do this is determine a port, have your server broadcast its IP  
address on that port, and your clients look on that port to grab the  
address.

Once the address is found, you can safely interact with the server  
using SOAP over HTTP.

Le 30 mai 05 à 22:19, Francesco Munari a écrit :

> I'm alredy using UDDI4j. The idea is that I don't know where the UDDI
> registry can be in the LAN.
> I assume that the client knows only two things:
> 1) the network (of course)
> 2) a "search key" for a particular tipe of service
>
> and that's all.
> The client should send a broadcast SOAP (or XML-RPC) request
> containing the search method to call on the server with the "key"
> passed as a parameter and somewhere into the LAN should be a server
> (or more) with its private UDDI registry that should reply with a
> response containing the result of the invoking of the method contained
> in the sender's RPC request. The response should contain just the URL
> of the WSDL file related to the service found.
>
> The need of the broadcast message is that the client don't know where
> (or if) there could be any UDDI registry in the network. With this
> framework a client can change network configuration (for example,
> going from a floor to another with a Palm in a wireless LAN) and,
> after leaving the service provided in the first network, find anothe
> one similar on the other network only by pressing the button "Refresh"
> :)
>
> Francesco
>
> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
>
>> The side effect of a broadcast without authentication is flooding the
>> network with unwanted disovery packets
>> I guess this is OK if you're utilising a high datarate  
>> transmission i guess
>>
>> In your case your SOAP Request should look like
>>
>> <?xml version="1.0"?>
>> <SOAP-ENV:Envelope
>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
>>  <SOAP-ENV:Body>
>>    <getTest>
>>      <Test>Test</Test>
>>    </getTest>
>>  </SOAP-ENV:Body>
>> </SOAP-ENV:Envelope>
>>
>> If you want to discover a "SOAP based" web-service based on some
>> characteristic such as Business Service Category why not use UDDI4J?
>> Take a look at
>> http://sourceforge.net/projects/uddi4j
>>
>> Martin-
>>
>> ----- Original Message -----
>> From: "Francesco Munari" <fm...@gmail.com>
>> To: "Martin Gainty" <mg...@hotmail.com>
>> Cc: <so...@ws.apache.org>
>> Sent: Monday, May 30, 2005 12:44 PM
>> Subject: Re: SOAP-over-UDP
>>
>> Martins,
>>
>> It is for this reason that I'd like to broadcast a SOAP request
>> instead of a simple XML-RPC message. The goal of my framework is to
>> keep the "context awareness" offered by XML language.
>> If you are sure that there is no way to send a broadcast SOAP  
>> request,
>> the last solution, I think, it could be XML-RPC.
>>
>> So, two questions:
>>
>> 1) are you sure ther's no way to send a broadcast SOAP request?
>> 2) In order to send a broadcast XML-RPC message I've to cerate a
>> StringWriter like this (for example)?
>>
>> <?xml version="1.0" ?>
>>   <methodCall>
>>       <methodName>getTest</methodName>
>>       <params>
>>           <param>
>>               <value>
>>                  <string>Test</string>
>>               </value>
>>           </param>
>>       </params>
>> </methodCall>
>>
>> Thank's Martin.
>>
>> Francesco
>>
>> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
>>
>>> Francesco-
>>> You can Broadcast XML-RPC assuming you dont mind flooding your  
>>> network
>>> The question is can you confine your application to using the  
>>> more basic
>>> datatypes supported by XML-RPC
>>> vs implementing SOAP features (user-defined datatypes, namespace  
>>> URI)?
>>> Anyone else?
>>> Martin-
>>> ----- Original Message -----
>>> From: "Francesco Munari" <fm...@gmail.com>
>>> To: "Martin Gainty" <mg...@hotmail.com>
>>> Cc: <so...@ws.apache.org>
>>> Sent: Monday, May 30, 2005 6:45 AM
>>> Subject: Re: SOAP-over-UDP
>>>
>>> Grazie! :)
>>>
>>> Could someone tell me if a simple XML-RPC message may be sent to a
>>> broadcast address? A simple message with the medthod to be  
>>> invoked. In
>>> this way I should be able to send a broadcast XML-RPC request  
>>> with the
>>> appropriate UDDI inquiry method; a server (containing a UDDI  
>>> registry)
>>> should receive it, invoke that method and send a reply in XML format
>>> to the sender.
>>>
>>> It could be a good idea?
>>>
>>> thank you again!
>>>
>>> Francesco
>>>
>>> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
>>>
>>>> benvenuto!
>>>> Martin-
>>>>
>>>> ----- Original Message -----
>>>> From: "Francesco Munari" <fm...@gmail.com>
>>>> To: <so...@ws.apache.org>
>>>> Sent: Saturday, May 28, 2005 5:41 PM
>>>> Subject: Re: SOAP-over-UDP
>>>>
>>>> Thank you all for your very quick reply!
>>>>
>>>> I've heard about this SOAP-over-UDP spec
>>>> (http://msdn.microsoft.com/library/default.asp?url=/library/en- 
>>>> us/dnglobspec/html/soap-over-udp.asp).
>>>> So, Martin, you say that it could not be a solution? Perhaps it  
>>>> should
>>>> be an idea using Mark's solution (with DNS).
>>>>
>>>> I thought to resolve the problem putting a SOAP envelope into a UDP
>>>> datagram, send the datagram to a broadcast ip and that's all
>>>> folks...but I don't know how and, as you, Martins, wrote, I was not
>>>> able to find anybody who has implemented this yet.
>>>>
>>>> Can you suggest me another solutions?
>>>>
>>>> Thank you very much again!!
>>>>
>>>> Cheers,
>>>>
>>>> Francesco
>>>>
>>>> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
>>>>
>>>>> Mark/Francesco
>>>>> I would caution on use of UDP as the SOAP Portocols (e.g. HTTP)  
>>>>> is/are
>>>>> decidely not UDP but instead a connection-oriented TCP
>>>>> To date I have not seen UDP Ports used for SOAP transmission  
>>>>> although
>>>>> since
>>>>> there is no requirement for verifiable connection and or  
>>>>> handshakes
>>>>> I would venture to guess UDP is available as the transmission  
>>>>> medium
>>>>> but
>>>>> I
>>>>> have not seen any UDP Ports used for SOAP thus far
>>>>> Anyone else ???
>>>>> Ciao-
>>>>> Martin-
>>>>>
>>>>> ----- Original Message -----
>>>>> From: "mdonaghue" <md...@mZeal.com>
>>>>> To: <so...@ws.apache.org>; "'Francesco Munari'"
>>>>> <fm...@gmail.com>
>>>>> Sent: Saturday, May 28, 2005 3:14 PM
>>>>> Subject: RE: SOAP-over-UDP
>>>>>
>>>>>
>>>>>> Hi Franceso,
>>>>>>
>>>>>> I've worked briefly with the apache soap api, not that  
>>>>>> familiar with
>>>>>> it.
>>>>>> Typically a soap message is sent to a single soap server address,
>>>>>> which
>>>>>> is
>>>>>> specified by a url or an ip address, as well as a port. So your
>>>>>> server
>>>>>> address on the LAN might be something like 192.168.100.2:8080.  
>>>>>> (I'm
>>>>>> not
>>>>>> sure
>>>>>> what the port is for UDDI, so just using standard TomCat Web  
>>>>>> Server
>>>>>> port).
>>>>>>
>>>>>> IIRC, you there's a point at which you specify that address in  
>>>>>> the
>>>>>> setup
>>>>>> for
>>>>>> your soap call. One thing you could try is to change the  
>>>>>> address to
>>>>>> the
>>>>>> subnet's broadcast address, 255.255.255.0:8080, assuming a  
>>>>>> class c
>>>>>> network
>>>>>> where the first 3 quads specify the network portion of the  
>>>>>> submask.
>>>>>>
>>>>>> However, this may not a scalable solution, since the broadcast
>>>>>> wouldn't
>>>>>> carry beyond the physical subnet on which you are located. Using
>>>>>> UDDI
>>>>>> to
>>>>>> discover services is one thing, but dynamically discovering UDDI
>>>>>> servers
>>>>>> is
>>>>>> obviously a different problem. It also doesn't address the  
>>>>>> issue of
>>>>>> more
>>>>>> than one UDDI server running on the same subnet.
>>>>>>
>>>>>> A more generalized solution might involve a distributed ip lookup
>>>>>> service,
>>>>>> namely DNS. For example when DNS looks up the ip address of
>>>>>> Yahoo.com,
>>>>>> at
>>>>>> some point the actual ip address that serves the request is
>>>>>> dynamically
>>>>>> assigned to one of dozens (or hundreds) of servers based on a
>>>>>> scheduling
>>>>>> scheme.  You could locally enable DNS lookup, and create an entry
>>>>>> based
>>>>>> on
>>>>>> some url like "myuddpsever.com", and give it your local UDDI
>>>>>> server's
>>>>>> ip
>>>>>> address, and the rest would be handled within the network. The
>>>>>> advantage
>>>>>> to
>>>>>> this is your UDDP server could be anywhere and your message would
>>>>>> still
>>>>>> reach it.
>>>>>>
>>>>>> hth,
>>>>>> Mark
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Francesco Munari [mailto:fmunari@gmail.com]
>>>>>> Sent: Saturday, May 28, 2005 4:58 AM
>>>>>> To: soap-user@ws.apache.org
>>>>>> Subject: SOAP-over-UDP
>>>>>>
>>>>>> Hi, I'm desperate!
>>>>>> I'm trying to find out how to send a broadcast SOAP request to a
>>>>>> UDDI
>>>>>> registry in a LAN, but I'm not able to do this. I've looked  
>>>>>> for some
>>>>>> example but I've not found anithing.
>>>>>>
>>>>>> Please...could anybody help me?
>>>>>> I'm making a thesis for the University of Florence (Italy) and I
>>>>>> have
>>>>>> to discovery dinamically web service published in some UDDI  
>>>>>> registry
>>>>>> somewhere in a LAN. I have to send a broadcast SOAP request to  
>>>>>> these
>>>>>> UDDI registry (as I wrote few lines above).
>>>>>> Of course I'm using Java language.
>>>>>>
>>>>>> Thank you very much for your help...I'm in a great hurry...thanks
>>>>>> very
>>>>>> very much to everyone could help me!
>>>>>>
>>>>>> Best reguards,
>>>>>>
>>>>>> Francesco
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>



Re: SOAP-over-UDP

Posted by Martin Gainty <mg...@hotmail.com>.
Buongiorno Francesco-
How is this situation going?
Martin-
----- Original Message ----- 
From: "Francesco Munari" <fm...@gmail.com>
To: "Martin Gainty" <mg...@hotmail.com>
Cc: <so...@ws.apache.org>
Sent: Monday, May 30, 2005 3:19 PM
Subject: Re: SOAP-over-UDP


I'm alredy using UDDI4j. The idea is that I don't know where the UDDI
registry can be in the LAN.
I assume that the client knows only two things:
1) the network (of course)
2) a "search key" for a particular tipe of service

and that's all.
The client should send a broadcast SOAP (or XML-RPC) request
containing the search method to call on the server with the "key"
passed as a parameter and somewhere into the LAN should be a server
(or more) with its private UDDI registry that should reply with a
response containing the result of the invoking of the method contained
in the sender's RPC request. The response should contain just the URL
of the WSDL file related to the service found.

The need of the broadcast message is that the client don't know where
(or if) there could be any UDDI registry in the network. With this
framework a client can change network configuration (for example,
going from a floor to another with a Palm in a wireless LAN) and,
after leaving the service provided in the first network, find anothe
one similar on the other network only by pressing the button "Refresh"
:)

Francesco

2005/5/30, Martin Gainty <mg...@hotmail.com>:
> The side effect of a broadcast without authentication is flooding the
> network with unwanted disovery packets
> I guess this is OK if you're utilising a high datarate transmission i guess
> 
> In your case your SOAP Request should look like
> 
> <?xml version="1.0"?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
>  <SOAP-ENV:Body>
>    <getTest>
>      <Test>Test</Test>
>    </getTest>
>  </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> 
> If you want to discover a "SOAP based" web-service based on some
> characteristic such as Business Service Category why not use UDDI4J?
> Take a look at
> http://sourceforge.net/projects/uddi4j
> 
> Martin-
> 
> ----- Original Message -----
> From: "Francesco Munari" <fm...@gmail.com>
> To: "Martin Gainty" <mg...@hotmail.com>
> Cc: <so...@ws.apache.org>
> Sent: Monday, May 30, 2005 12:44 PM
> Subject: Re: SOAP-over-UDP
> 
> Martins,
> 
> It is for this reason that I'd like to broadcast a SOAP request
> instead of a simple XML-RPC message. The goal of my framework is to
> keep the "context awareness" offered by XML language.
> If you are sure that there is no way to send a broadcast SOAP request,
> the last solution, I think, it could be XML-RPC.
> 
> So, two questions:
> 
> 1) are you sure ther's no way to send a broadcast SOAP request?
> 2) In order to send a broadcast XML-RPC message I've to cerate a
> StringWriter like this (for example)?
> 
> <?xml version="1.0" ?>
>   <methodCall>
>       <methodName>getTest</methodName>
>       <params>
>           <param>
>               <value>
>                  <string>Test</string>
>               </value>
>           </param>
>       </params>
> </methodCall>
> 
> Thank's Martin.
> 
> Francesco
> 
> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> > Francesco-
> > You can Broadcast XML-RPC assuming you dont mind flooding your network
> > The question is can you confine your application to using the more basic
> > datatypes supported by XML-RPC
> > vs implementing SOAP features (user-defined datatypes, namespace URI)?
> > Anyone else?
> > Martin-
> > ----- Original Message -----
> > From: "Francesco Munari" <fm...@gmail.com>
> > To: "Martin Gainty" <mg...@hotmail.com>
> > Cc: <so...@ws.apache.org>
> > Sent: Monday, May 30, 2005 6:45 AM
> > Subject: Re: SOAP-over-UDP
> >
> > Grazie! :)
> >
> > Could someone tell me if a simple XML-RPC message may be sent to a
> > broadcast address? A simple message with the medthod to be invoked. In
> > this way I should be able to send a broadcast XML-RPC request with the
> > appropriate UDDI inquiry method; a server (containing a UDDI registry)
> > should receive it, invoke that method and send a reply in XML format
> > to the sender.
> >
> > It could be a good idea?
> >
> > thank you again!
> >
> > Francesco
> >
> > 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> > > benvenuto!
> > > Martin-
> > >
> > > ----- Original Message -----
> > > From: "Francesco Munari" <fm...@gmail.com>
> > > To: <so...@ws.apache.org>
> > > Sent: Saturday, May 28, 2005 5:41 PM
> > > Subject: Re: SOAP-over-UDP
> > >
> > > Thank you all for your very quick reply!
> > >
> > > I've heard about this SOAP-over-UDP spec
> > > (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/soap-over-udp.asp).
> > > So, Martin, you say that it could not be a solution? Perhaps it should
> > > be an idea using Mark's solution (with DNS).
> > >
> > > I thought to resolve the problem putting a SOAP envelope into a UDP
> > > datagram, send the datagram to a broadcast ip and that's all
> > > folks...but I don't know how and, as you, Martins, wrote, I was not
> > > able to find anybody who has implemented this yet.
> > >
> > > Can you suggest me another solutions?
> > >
> > > Thank you very much again!!
> > >
> > > Cheers,
> > >
> > > Francesco
> > >
> > > 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> > > > Mark/Francesco
> > > > I would caution on use of UDP as the SOAP Portocols (e.g. HTTP) is/are
> > > > decidely not UDP but instead a connection-oriented TCP
> > > > To date I have not seen UDP Ports used for SOAP transmission although
> > > > since
> > > > there is no requirement for verifiable connection and or handshakes
> > > > I would venture to guess UDP is available as the transmission medium
> > > > but
> > > > I
> > > > have not seen any UDP Ports used for SOAP thus far
> > > > Anyone else ???
> > > > Ciao-
> > > > Martin-
> > > >
> > > > ----- Original Message -----
> > > > From: "mdonaghue" <md...@mZeal.com>
> > > > To: <so...@ws.apache.org>; "'Francesco Munari'"
> > > > <fm...@gmail.com>
> > > > Sent: Saturday, May 28, 2005 3:14 PM
> > > > Subject: RE: SOAP-over-UDP
> > > >
> > > > > Hi Franceso,
> > > > >
> > > > > I've worked briefly with the apache soap api, not that familiar with
> > > > > it.
> > > > > Typically a soap message is sent to a single soap server address,
> > > > > which
> > > > > is
> > > > > specified by a url or an ip address, as well as a port. So your
> > > > > server
> > > > > address on the LAN might be something like 192.168.100.2:8080. (I'm
> > > > > not
> > > > > sure
> > > > > what the port is for UDDI, so just using standard TomCat Web Server
> > > > > port).
> > > > >
> > > > > IIRC, you there's a point at which you specify that address in the
> > > > > setup
> > > > > for
> > > > > your soap call. One thing you could try is to change the address to
> > > > > the
> > > > > subnet's broadcast address, 255.255.255.0:8080, assuming a class c
> > > > > network
> > > > > where the first 3 quads specify the network portion of the submask.
> > > > >
> > > > > However, this may not a scalable solution, since the broadcast
> > > > > wouldn't
> > > > > carry beyond the physical subnet on which you are located. Using
> > > > > UDDI
> > > > > to
> > > > > discover services is one thing, but dynamically discovering UDDI
> > > > > servers
> > > > > is
> > > > > obviously a different problem. It also doesn't address the issue of
> > > > > more
> > > > > than one UDDI server running on the same subnet.
> > > > >
> > > > > A more generalized solution might involve a distributed ip lookup
> > > > > service,
> > > > > namely DNS. For example when DNS looks up the ip address of
> > > > > Yahoo.com,
> > > > > at
> > > > > some point the actual ip address that serves the request is
> > > > > dynamically
> > > > > assigned to one of dozens (or hundreds) of servers based on a
> > > > > scheduling
> > > > > scheme.  You could locally enable DNS lookup, and create an entry
> > > > > based
> > > > > on
> > > > > some url like "myuddpsever.com", and give it your local UDDI
> > > > > server's
> > > > > ip
> > > > > address, and the rest would be handled within the network. The
> > > > > advantage
> > > > > to
> > > > > this is your UDDP server could be anywhere and your message would
> > > > > still
> > > > > reach it.
> > > > >
> > > > > hth,
> > > > > Mark
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Francesco Munari [mailto:fmunari@gmail.com]
> > > > > Sent: Saturday, May 28, 2005 4:58 AM
> > > > > To: soap-user@ws.apache.org
> > > > > Subject: SOAP-over-UDP
> > > > >
> > > > > Hi, I'm desperate!
> > > > > I'm trying to find out how to send a broadcast SOAP request to a
> > > > > UDDI
> > > > > registry in a LAN, but I'm not able to do this. I've looked for some
> > > > > example but I've not found anithing.
> > > > >
> > > > > Please...could anybody help me?
> > > > > I'm making a thesis for the University of Florence (Italy) and I
> > > > > have
> > > > > to discovery dinamically web service published in some UDDI registry
> > > > > somewhere in a LAN. I have to send a broadcast SOAP request to these
> > > > > UDDI registry (as I wrote few lines above).
> > > > > Of course I'm using Java language.
> > > > >
> > > > > Thank you very much for your help...I'm in a great hurry...thanks
> > > > > very
> > > > > very much to everyone could help me!
> > > > >
> > > > > Best reguards,
> > > > >
> > > > > Francesco
> > > > >
> > > > >
> > > >
> > >
> >
>

Re: SOAP-over-UDP

Posted by Martin Gainty <mg...@hotmail.com>.
Interesting
is RMI currently/ will RMI be supported on all of these platforms 
specifically will the Palm unit have to have MIDP support?

Feel free to contact me offline
Molte Grazie,

Martin-
(e)mgainty@hotmail.com
001-617-852-7822

----- Original Message ----- 
From: "Francesco Munari" <fm...@gmail.com>
To: "Martin Gainty" <mg...@hotmail.com>
Cc: <so...@ws.apache.org>
Sent: Monday, May 30, 2005 4:19 PM
Subject: Re: SOAP-over-UDP


I'm alredy using UDDI4j. The idea is that I don't know where the UDDI
registry can be in the LAN.
I assume that the client knows only two things:
1) the network (of course)
2) a "search key" for a particular tipe of service

and that's all.
The client should send a broadcast SOAP (or XML-RPC) request
containing the search method to call on the server with the "key"
passed as a parameter and somewhere into the LAN should be a server
(or more) with its private UDDI registry that should reply with a
response containing the result of the invoking of the method contained
in the sender's RPC request. The response should contain just the URL
of the WSDL file related to the service found.

The need of the broadcast message is that the client don't know where
(or if) there could be any UDDI registry in the network. With this
framework a client can change network configuration (for example,
going from a floor to another with a Palm in a wireless LAN) and,
after leaving the service provided in the first network, find anothe
one similar on the other network only by pressing the button "Refresh"
:)

Francesco

2005/5/30, Martin Gainty <mg...@hotmail.com>:
> The side effect of a broadcast without authentication is flooding the
> network with unwanted disovery packets
> I guess this is OK if you're utilising a high datarate transmission i 
> guess
>
> In your case your SOAP Request should look like
>
> <?xml version="1.0"?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
>  <SOAP-ENV:Body>
>    <getTest>
>      <Test>Test</Test>
>    </getTest>
>  </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> If you want to discover a "SOAP based" web-service based on some
> characteristic such as Business Service Category why not use UDDI4J?
> Take a look at
> http://sourceforge.net/projects/uddi4j
>
> Martin-
>
> ----- Original Message -----
> From: "Francesco Munari" <fm...@gmail.com>
> To: "Martin Gainty" <mg...@hotmail.com>
> Cc: <so...@ws.apache.org>
> Sent: Monday, May 30, 2005 12:44 PM
> Subject: Re: SOAP-over-UDP
>
> Martins,
>
> It is for this reason that I'd like to broadcast a SOAP request
> instead of a simple XML-RPC message. The goal of my framework is to
> keep the "context awareness" offered by XML language.
> If you are sure that there is no way to send a broadcast SOAP request,
> the last solution, I think, it could be XML-RPC.
>
> So, two questions:
>
> 1) are you sure ther's no way to send a broadcast SOAP request?
> 2) In order to send a broadcast XML-RPC message I've to cerate a
> StringWriter like this (for example)?
>
> <?xml version="1.0" ?>
>   <methodCall>
>       <methodName>getTest</methodName>
>       <params>
>           <param>
>               <value>
>                  <string>Test</string>
>               </value>
>           </param>
>       </params>
> </methodCall>
>
> Thank's Martin.
>
> Francesco
>
> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> > Francesco-
> > You can Broadcast XML-RPC assuming you dont mind flooding your network
> > The question is can you confine your application to using the more basic
> > datatypes supported by XML-RPC
> > vs implementing SOAP features (user-defined datatypes, namespace URI)?
> > Anyone else?
> > Martin-
> > ----- Original Message -----
> > From: "Francesco Munari" <fm...@gmail.com>
> > To: "Martin Gainty" <mg...@hotmail.com>
> > Cc: <so...@ws.apache.org>
> > Sent: Monday, May 30, 2005 6:45 AM
> > Subject: Re: SOAP-over-UDP
> >
> > Grazie! :)
> >
> > Could someone tell me if a simple XML-RPC message may be sent to a
> > broadcast address? A simple message with the medthod to be invoked. In
> > this way I should be able to send a broadcast XML-RPC request with the
> > appropriate UDDI inquiry method; a server (containing a UDDI registry)
> > should receive it, invoke that method and send a reply in XML format
> > to the sender.
> >
> > It could be a good idea?
> >
> > thank you again!
> >
> > Francesco
> >
> > 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> > > benvenuto!
> > > Martin-
> > >
> > > ----- Original Message -----
> > > From: "Francesco Munari" <fm...@gmail.com>
> > > To: <so...@ws.apache.org>
> > > Sent: Saturday, May 28, 2005 5:41 PM
> > > Subject: Re: SOAP-over-UDP
> > >
> > > Thank you all for your very quick reply!
> > >
> > > I've heard about this SOAP-over-UDP spec
> > > (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/soap-over-udp.asp).
> > > So, Martin, you say that it could not be a solution? Perhaps it should
> > > be an idea using Mark's solution (with DNS).
> > >
> > > I thought to resolve the problem putting a SOAP envelope into a UDP
> > > datagram, send the datagram to a broadcast ip and that's all
> > > folks...but I don't know how and, as you, Martins, wrote, I was not
> > > able to find anybody who has implemented this yet.
> > >
> > > Can you suggest me another solutions?
> > >
> > > Thank you very much again!!
> > >
> > > Cheers,
> > >
> > > Francesco
> > >
> > > 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> > > > Mark/Francesco
> > > > I would caution on use of UDP as the SOAP Portocols (e.g. HTTP) 
> > > > is/are
> > > > decidely not UDP but instead a connection-oriented TCP
> > > > To date I have not seen UDP Ports used for SOAP transmission 
> > > > although
> > > > since
> > > > there is no requirement for verifiable connection and or handshakes
> > > > I would venture to guess UDP is available as the transmission medium
> > > > but
> > > > I
> > > > have not seen any UDP Ports used for SOAP thus far
> > > > Anyone else ???
> > > > Ciao-
> > > > Martin-
> > > >
> > > > ----- Original Message -----
> > > > From: "mdonaghue" <md...@mZeal.com>
> > > > To: <so...@ws.apache.org>; "'Francesco Munari'"
> > > > <fm...@gmail.com>
> > > > Sent: Saturday, May 28, 2005 3:14 PM
> > > > Subject: RE: SOAP-over-UDP
> > > >
> > > > > Hi Franceso,
> > > > >
> > > > > I've worked briefly with the apache soap api, not that familiar 
> > > > > with
> > > > > it.
> > > > > Typically a soap message is sent to a single soap server address,
> > > > > which
> > > > > is
> > > > > specified by a url or an ip address, as well as a port. So your
> > > > > server
> > > > > address on the LAN might be something like 192.168.100.2:8080. 
> > > > > (I'm
> > > > > not
> > > > > sure
> > > > > what the port is for UDDI, so just using standard TomCat Web 
> > > > > Server
> > > > > port).
> > > > >
> > > > > IIRC, you there's a point at which you specify that address in the
> > > > > setup
> > > > > for
> > > > > your soap call. One thing you could try is to change the address 
> > > > > to
> > > > > the
> > > > > subnet's broadcast address, 255.255.255.0:8080, assuming a class c
> > > > > network
> > > > > where the first 3 quads specify the network portion of the 
> > > > > submask.
> > > > >
> > > > > However, this may not a scalable solution, since the broadcast
> > > > > wouldn't
> > > > > carry beyond the physical subnet on which you are located. Using
> > > > > UDDI
> > > > > to
> > > > > discover services is one thing, but dynamically discovering UDDI
> > > > > servers
> > > > > is
> > > > > obviously a different problem. It also doesn't address the issue 
> > > > > of
> > > > > more
> > > > > than one UDDI server running on the same subnet.
> > > > >
> > > > > A more generalized solution might involve a distributed ip lookup
> > > > > service,
> > > > > namely DNS. For example when DNS looks up the ip address of
> > > > > Yahoo.com,
> > > > > at
> > > > > some point the actual ip address that serves the request is
> > > > > dynamically
> > > > > assigned to one of dozens (or hundreds) of servers based on a
> > > > > scheduling
> > > > > scheme.  You could locally enable DNS lookup, and create an entry
> > > > > based
> > > > > on
> > > > > some url like "myuddpsever.com", and give it your local UDDI
> > > > > server's
> > > > > ip
> > > > > address, and the rest would be handled within the network. The
> > > > > advantage
> > > > > to
> > > > > this is your UDDP server could be anywhere and your message would
> > > > > still
> > > > > reach it.
> > > > >
> > > > > hth,
> > > > > Mark
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Francesco Munari [mailto:fmunari@gmail.com]
> > > > > Sent: Saturday, May 28, 2005 4:58 AM
> > > > > To: soap-user@ws.apache.org
> > > > > Subject: SOAP-over-UDP
> > > > >
> > > > > Hi, I'm desperate!
> > > > > I'm trying to find out how to send a broadcast SOAP request to a
> > > > > UDDI
> > > > > registry in a LAN, but I'm not able to do this. I've looked for 
> > > > > some
> > > > > example but I've not found anithing.
> > > > >
> > > > > Please...could anybody help me?
> > > > > I'm making a thesis for the University of Florence (Italy) and I
> > > > > have
> > > > > to discovery dinamically web service published in some UDDI 
> > > > > registry
> > > > > somewhere in a LAN. I have to send a broadcast SOAP request to 
> > > > > these
> > > > > UDDI registry (as I wrote few lines above).
> > > > > Of course I'm using Java language.
> > > > >
> > > > > Thank you very much for your help...I'm in a great hurry...thanks
> > > > > very
> > > > > very much to everyone could help me!
> > > > >
> > > > > Best reguards,
> > > > >
> > > > > Francesco
> > > > >
> > > > >
> > > >
> > >
> >
>

Re: SOAP-over-UDP

Posted by Francesco Munari <fm...@gmail.com>.
I'm alredy using UDDI4j. The idea is that I don't know where the UDDI
registry can be in the LAN.
I assume that the client knows only two things:
1) the network (of course)
2) a "search key" for a particular tipe of service

and that's all.
The client should send a broadcast SOAP (or XML-RPC) request
containing the search method to call on the server with the "key"
passed as a parameter and somewhere into the LAN should be a server
(or more) with its private UDDI registry that should reply with a
response containing the result of the invoking of the method contained
in the sender's RPC request. The response should contain just the URL
of the WSDL file related to the service found.

The need of the broadcast message is that the client don't know where
(or if) there could be any UDDI registry in the network. With this
framework a client can change network configuration (for example,
going from a floor to another with a Palm in a wireless LAN) and,
after leaving the service provided in the first network, find anothe
one similar on the other network only by pressing the button "Refresh"
:)

Francesco

2005/5/30, Martin Gainty <mg...@hotmail.com>:
> The side effect of a broadcast without authentication is flooding the
> network with unwanted disovery packets
> I guess this is OK if you're utilising a high datarate transmission i guess
> 
> In your case your SOAP Request should look like
> 
> <?xml version="1.0"?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
>  <SOAP-ENV:Body>
>    <getTest>
>      <Test>Test</Test>
>    </getTest>
>  </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> 
> If you want to discover a "SOAP based" web-service based on some
> characteristic such as Business Service Category why not use UDDI4J?
> Take a look at
> http://sourceforge.net/projects/uddi4j
> 
> Martin-
> 
> ----- Original Message -----
> From: "Francesco Munari" <fm...@gmail.com>
> To: "Martin Gainty" <mg...@hotmail.com>
> Cc: <so...@ws.apache.org>
> Sent: Monday, May 30, 2005 12:44 PM
> Subject: Re: SOAP-over-UDP
> 
> Martins,
> 
> It is for this reason that I'd like to broadcast a SOAP request
> instead of a simple XML-RPC message. The goal of my framework is to
> keep the "context awareness" offered by XML language.
> If you are sure that there is no way to send a broadcast SOAP request,
> the last solution, I think, it could be XML-RPC.
> 
> So, two questions:
> 
> 1) are you sure ther's no way to send a broadcast SOAP request?
> 2) In order to send a broadcast XML-RPC message I've to cerate a
> StringWriter like this (for example)?
> 
> <?xml version="1.0" ?>
>   <methodCall>
>       <methodName>getTest</methodName>
>       <params>
>           <param>
>               <value>
>                  <string>Test</string>
>               </value>
>           </param>
>       </params>
> </methodCall>
> 
> Thank's Martin.
> 
> Francesco
> 
> 2005/5/30, Martin Gainty <mg...@hotmail.com>:
> > Francesco-
> > You can Broadcast XML-RPC assuming you dont mind flooding your network
> > The question is can you confine your application to using the more basic
> > datatypes supported by XML-RPC
> > vs implementing SOAP features (user-defined datatypes, namespace URI)?
> > Anyone else?
> > Martin-
> > ----- Original Message -----
> > From: "Francesco Munari" <fm...@gmail.com>
> > To: "Martin Gainty" <mg...@hotmail.com>
> > Cc: <so...@ws.apache.org>
> > Sent: Monday, May 30, 2005 6:45 AM
> > Subject: Re: SOAP-over-UDP
> >
> > Grazie! :)
> >
> > Could someone tell me if a simple XML-RPC message may be sent to a
> > broadcast address? A simple message with the medthod to be invoked. In
> > this way I should be able to send a broadcast XML-RPC request with the
> > appropriate UDDI inquiry method; a server (containing a UDDI registry)
> > should receive it, invoke that method and send a reply in XML format
> > to the sender.
> >
> > It could be a good idea?
> >
> > thank you again!
> >
> > Francesco
> >
> > 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> > > benvenuto!
> > > Martin-
> > >
> > > ----- Original Message -----
> > > From: "Francesco Munari" <fm...@gmail.com>
> > > To: <so...@ws.apache.org>
> > > Sent: Saturday, May 28, 2005 5:41 PM
> > > Subject: Re: SOAP-over-UDP
> > >
> > > Thank you all for your very quick reply!
> > >
> > > I've heard about this SOAP-over-UDP spec
> > > (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/soap-over-udp.asp).
> > > So, Martin, you say that it could not be a solution? Perhaps it should
> > > be an idea using Mark's solution (with DNS).
> > >
> > > I thought to resolve the problem putting a SOAP envelope into a UDP
> > > datagram, send the datagram to a broadcast ip and that's all
> > > folks...but I don't know how and, as you, Martins, wrote, I was not
> > > able to find anybody who has implemented this yet.
> > >
> > > Can you suggest me another solutions?
> > >
> > > Thank you very much again!!
> > >
> > > Cheers,
> > >
> > > Francesco
> > >
> > > 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> > > > Mark/Francesco
> > > > I would caution on use of UDP as the SOAP Portocols (e.g. HTTP) is/are
> > > > decidely not UDP but instead a connection-oriented TCP
> > > > To date I have not seen UDP Ports used for SOAP transmission although
> > > > since
> > > > there is no requirement for verifiable connection and or handshakes
> > > > I would venture to guess UDP is available as the transmission medium
> > > > but
> > > > I
> > > > have not seen any UDP Ports used for SOAP thus far
> > > > Anyone else ???
> > > > Ciao-
> > > > Martin-
> > > >
> > > > ----- Original Message -----
> > > > From: "mdonaghue" <md...@mZeal.com>
> > > > To: <so...@ws.apache.org>; "'Francesco Munari'"
> > > > <fm...@gmail.com>
> > > > Sent: Saturday, May 28, 2005 3:14 PM
> > > > Subject: RE: SOAP-over-UDP
> > > >
> > > > > Hi Franceso,
> > > > >
> > > > > I've worked briefly with the apache soap api, not that familiar with
> > > > > it.
> > > > > Typically a soap message is sent to a single soap server address,
> > > > > which
> > > > > is
> > > > > specified by a url or an ip address, as well as a port. So your
> > > > > server
> > > > > address on the LAN might be something like 192.168.100.2:8080. (I'm
> > > > > not
> > > > > sure
> > > > > what the port is for UDDI, so just using standard TomCat Web Server
> > > > > port).
> > > > >
> > > > > IIRC, you there's a point at which you specify that address in the
> > > > > setup
> > > > > for
> > > > > your soap call. One thing you could try is to change the address to
> > > > > the
> > > > > subnet's broadcast address, 255.255.255.0:8080, assuming a class c
> > > > > network
> > > > > where the first 3 quads specify the network portion of the submask.
> > > > >
> > > > > However, this may not a scalable solution, since the broadcast
> > > > > wouldn't
> > > > > carry beyond the physical subnet on which you are located. Using
> > > > > UDDI
> > > > > to
> > > > > discover services is one thing, but dynamically discovering UDDI
> > > > > servers
> > > > > is
> > > > > obviously a different problem. It also doesn't address the issue of
> > > > > more
> > > > > than one UDDI server running on the same subnet.
> > > > >
> > > > > A more generalized solution might involve a distributed ip lookup
> > > > > service,
> > > > > namely DNS. For example when DNS looks up the ip address of
> > > > > Yahoo.com,
> > > > > at
> > > > > some point the actual ip address that serves the request is
> > > > > dynamically
> > > > > assigned to one of dozens (or hundreds) of servers based on a
> > > > > scheduling
> > > > > scheme.  You could locally enable DNS lookup, and create an entry
> > > > > based
> > > > > on
> > > > > some url like "myuddpsever.com", and give it your local UDDI
> > > > > server's
> > > > > ip
> > > > > address, and the rest would be handled within the network. The
> > > > > advantage
> > > > > to
> > > > > this is your UDDP server could be anywhere and your message would
> > > > > still
> > > > > reach it.
> > > > >
> > > > > hth,
> > > > > Mark
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Francesco Munari [mailto:fmunari@gmail.com]
> > > > > Sent: Saturday, May 28, 2005 4:58 AM
> > > > > To: soap-user@ws.apache.org
> > > > > Subject: SOAP-over-UDP
> > > > >
> > > > > Hi, I'm desperate!
> > > > > I'm trying to find out how to send a broadcast SOAP request to a
> > > > > UDDI
> > > > > registry in a LAN, but I'm not able to do this. I've looked for some
> > > > > example but I've not found anithing.
> > > > >
> > > > > Please...could anybody help me?
> > > > > I'm making a thesis for the University of Florence (Italy) and I
> > > > > have
> > > > > to discovery dinamically web service published in some UDDI registry
> > > > > somewhere in a LAN. I have to send a broadcast SOAP request to these
> > > > > UDDI registry (as I wrote few lines above).
> > > > > Of course I'm using Java language.
> > > > >
> > > > > Thank you very much for your help...I'm in a great hurry...thanks
> > > > > very
> > > > > very much to everyone could help me!
> > > > >
> > > > > Best reguards,
> > > > >
> > > > > Francesco
> > > > >
> > > > >
> > > >
> > >
> >
>

Re: SOAP-over-UDP

Posted by Martin Gainty <mg...@hotmail.com>.
The side effect of a broadcast without authentication is flooding the 
network with unwanted disovery packets
I guess this is OK if you're utilising a high datarate transmission i guess

In your case your SOAP Request should look like

<?xml version="1.0"?>
<SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
  <SOAP-ENV:Body>
    <getTest>
      <Test>Test</Test>
    </getTest>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

If you want to discover a "SOAP based" web-service based on some 
characteristic such as Business Service Category why not use UDDI4J?
Take a look at
http://sourceforge.net/projects/uddi4j

Martin-

----- Original Message ----- 
From: "Francesco Munari" <fm...@gmail.com>
To: "Martin Gainty" <mg...@hotmail.com>
Cc: <so...@ws.apache.org>
Sent: Monday, May 30, 2005 12:44 PM
Subject: Re: SOAP-over-UDP


Martins,

It is for this reason that I'd like to broadcast a SOAP request
instead of a simple XML-RPC message. The goal of my framework is to
keep the "context awareness" offered by XML language.
If you are sure that there is no way to send a broadcast SOAP request,
the last solution, I think, it could be XML-RPC.

So, two questions:

1) are you sure ther's no way to send a broadcast SOAP request?
2) In order to send a broadcast XML-RPC message I've to cerate a
StringWriter like this (for example)?

<?xml version="1.0" ?>
   <methodCall>
       <methodName>getTest</methodName>
       <params>
           <param>
               <value>
                  <string>Test</string>
               </value>
           </param>
       </params>
</methodCall>

Thank's Martin.

Francesco

2005/5/30, Martin Gainty <mg...@hotmail.com>:
> Francesco-
> You can Broadcast XML-RPC assuming you dont mind flooding your network
> The question is can you confine your application to using the more basic
> datatypes supported by XML-RPC
> vs implementing SOAP features (user-defined datatypes, namespace URI)?
> Anyone else?
> Martin-
> ----- Original Message -----
> From: "Francesco Munari" <fm...@gmail.com>
> To: "Martin Gainty" <mg...@hotmail.com>
> Cc: <so...@ws.apache.org>
> Sent: Monday, May 30, 2005 6:45 AM
> Subject: Re: SOAP-over-UDP
>
> Grazie! :)
>
> Could someone tell me if a simple XML-RPC message may be sent to a
> broadcast address? A simple message with the medthod to be invoked. In
> this way I should be able to send a broadcast XML-RPC request with the
> appropriate UDDI inquiry method; a server (containing a UDDI registry)
> should receive it, invoke that method and send a reply in XML format
> to the sender.
>
> It could be a good idea?
>
> thank you again!
>
> Francesco
>
> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> > benvenuto!
> > Martin-
> >
> > ----- Original Message -----
> > From: "Francesco Munari" <fm...@gmail.com>
> > To: <so...@ws.apache.org>
> > Sent: Saturday, May 28, 2005 5:41 PM
> > Subject: Re: SOAP-over-UDP
> >
> > Thank you all for your very quick reply!
> >
> > I've heard about this SOAP-over-UDP spec
> > (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/soap-over-udp.asp).
> > So, Martin, you say that it could not be a solution? Perhaps it should
> > be an idea using Mark's solution (with DNS).
> >
> > I thought to resolve the problem putting a SOAP envelope into a UDP
> > datagram, send the datagram to a broadcast ip and that's all
> > folks...but I don't know how and, as you, Martins, wrote, I was not
> > able to find anybody who has implemented this yet.
> >
> > Can you suggest me another solutions?
> >
> > Thank you very much again!!
> >
> > Cheers,
> >
> > Francesco
> >
> > 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> > > Mark/Francesco
> > > I would caution on use of UDP as the SOAP Portocols (e.g. HTTP) is/are
> > > decidely not UDP but instead a connection-oriented TCP
> > > To date I have not seen UDP Ports used for SOAP transmission although
> > > since
> > > there is no requirement for verifiable connection and or handshakes
> > > I would venture to guess UDP is available as the transmission medium 
> > > but
> > > I
> > > have not seen any UDP Ports used for SOAP thus far
> > > Anyone else ???
> > > Ciao-
> > > Martin-
> > >
> > > ----- Original Message -----
> > > From: "mdonaghue" <md...@mZeal.com>
> > > To: <so...@ws.apache.org>; "'Francesco Munari'" 
> > > <fm...@gmail.com>
> > > Sent: Saturday, May 28, 2005 3:14 PM
> > > Subject: RE: SOAP-over-UDP
> > >
> > > > Hi Franceso,
> > > >
> > > > I've worked briefly with the apache soap api, not that familiar with
> > > > it.
> > > > Typically a soap message is sent to a single soap server address,
> > > > which
> > > > is
> > > > specified by a url or an ip address, as well as a port. So your 
> > > > server
> > > > address on the LAN might be something like 192.168.100.2:8080. (I'm
> > > > not
> > > > sure
> > > > what the port is for UDDI, so just using standard TomCat Web Server
> > > > port).
> > > >
> > > > IIRC, you there's a point at which you specify that address in the
> > > > setup
> > > > for
> > > > your soap call. One thing you could try is to change the address to
> > > > the
> > > > subnet's broadcast address, 255.255.255.0:8080, assuming a class c
> > > > network
> > > > where the first 3 quads specify the network portion of the submask.
> > > >
> > > > However, this may not a scalable solution, since the broadcast
> > > > wouldn't
> > > > carry beyond the physical subnet on which you are located. Using 
> > > > UDDI
> > > > to
> > > > discover services is one thing, but dynamically discovering UDDI
> > > > servers
> > > > is
> > > > obviously a different problem. It also doesn't address the issue of
> > > > more
> > > > than one UDDI server running on the same subnet.
> > > >
> > > > A more generalized solution might involve a distributed ip lookup
> > > > service,
> > > > namely DNS. For example when DNS looks up the ip address of 
> > > > Yahoo.com,
> > > > at
> > > > some point the actual ip address that serves the request is
> > > > dynamically
> > > > assigned to one of dozens (or hundreds) of servers based on a
> > > > scheduling
> > > > scheme.  You could locally enable DNS lookup, and create an entry
> > > > based
> > > > on
> > > > some url like "myuddpsever.com", and give it your local UDDI 
> > > > server's
> > > > ip
> > > > address, and the rest would be handled within the network. The
> > > > advantage
> > > > to
> > > > this is your UDDP server could be anywhere and your message would
> > > > still
> > > > reach it.
> > > >
> > > > hth,
> > > > Mark
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Francesco Munari [mailto:fmunari@gmail.com]
> > > > Sent: Saturday, May 28, 2005 4:58 AM
> > > > To: soap-user@ws.apache.org
> > > > Subject: SOAP-over-UDP
> > > >
> > > > Hi, I'm desperate!
> > > > I'm trying to find out how to send a broadcast SOAP request to a 
> > > > UDDI
> > > > registry in a LAN, but I'm not able to do this. I've looked for some
> > > > example but I've not found anithing.
> > > >
> > > > Please...could anybody help me?
> > > > I'm making a thesis for the University of Florence (Italy) and I 
> > > > have
> > > > to discovery dinamically web service published in some UDDI registry
> > > > somewhere in a LAN. I have to send a broadcast SOAP request to these
> > > > UDDI registry (as I wrote few lines above).
> > > > Of course I'm using Java language.
> > > >
> > > > Thank you very much for your help...I'm in a great hurry...thanks 
> > > > very
> > > > very much to everyone could help me!
> > > >
> > > > Best reguards,
> > > >
> > > > Francesco
> > > >
> > > >
> > >
> >
>

Re: SOAP-over-UDP

Posted by Francesco Munari <fm...@gmail.com>.
Martins, 

It is for this reason that I'd like to broadcast a SOAP request
instead of a simple XML-RPC message. The goal of my framework is to
keep the "context awareness" offered by XML language.
If you are sure that there is no way to send a broadcast SOAP request,
the last solution, I think, it could be XML-RPC.

So, two questions:

1) are you sure ther's no way to send a broadcast SOAP request?
2) In order to send a broadcast XML-RPC message I've to cerate a
StringWriter like this (for example)?

<?xml version="1.0" ?> 
   <methodCall> 
       <methodName>getTest</methodName> 
       <params> 
           <param> 
               <value> 
                  <string>Test</string> 
               </value> 
           </param> 
       </params> 
</methodCall> 

Thank's Martin.

Francesco

2005/5/30, Martin Gainty <mg...@hotmail.com>:
> Francesco-
> You can Broadcast XML-RPC assuming you dont mind flooding your network
> The question is can you confine your application to using the more basic
> datatypes supported by XML-RPC
> vs implementing SOAP features (user-defined datatypes, namespace URI)?
> Anyone else?
> Martin-
> ----- Original Message -----
> From: "Francesco Munari" <fm...@gmail.com>
> To: "Martin Gainty" <mg...@hotmail.com>
> Cc: <so...@ws.apache.org>
> Sent: Monday, May 30, 2005 6:45 AM
> Subject: Re: SOAP-over-UDP
> 
> Grazie! :)
> 
> Could someone tell me if a simple XML-RPC message may be sent to a
> broadcast address? A simple message with the medthod to be invoked. In
> this way I should be able to send a broadcast XML-RPC request with the
> appropriate UDDI inquiry method; a server (containing a UDDI registry)
> should receive it, invoke that method and send a reply in XML format
> to the sender.
> 
> It could be a good idea?
> 
> thank you again!
> 
> Francesco
> 
> 2005/5/29, Martin Gainty <mg...@hotmail.com>:
> > benvenuto!
> > Martin-
> >
> > ----- Original Message -----
> > From: "Francesco Munari" <fm...@gmail.com>
> > To: <so...@ws.apache.org>
> > Sent: Saturday, May 28, 2005 5:41 PM
> > Subject: Re: SOAP-over-UDP
> >
> > Thank you all for your very quick reply!
> >
> > I've heard about this SOAP-over-UDP spec
> > (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/soap-over-udp.asp).
> > So, Martin, you say that it could not be a solution? Perhaps it should
> > be an idea using Mark's solution (with DNS).
> >
> > I thought to resolve the problem putting a SOAP envelope into a UDP
> > datagram, send the datagram to a broadcast ip and that's all
> > folks...but I don't know how and, as you, Martins, wrote, I was not
> > able to find anybody who has implemented this yet.
> >
> > Can you suggest me another solutions?
> >
> > Thank you very much again!!
> >
> > Cheers,
> >
> > Francesco
> >
> > 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> > > Mark/Francesco
> > > I would caution on use of UDP as the SOAP Portocols (e.g. HTTP) is/are
> > > decidely not UDP but instead a connection-oriented TCP
> > > To date I have not seen UDP Ports used for SOAP transmission although
> > > since
> > > there is no requirement for verifiable connection and or handshakes
> > > I would venture to guess UDP is available as the transmission medium but
> > > I
> > > have not seen any UDP Ports used for SOAP thus far
> > > Anyone else ???
> > > Ciao-
> > > Martin-
> > >
> > > ----- Original Message -----
> > > From: "mdonaghue" <md...@mZeal.com>
> > > To: <so...@ws.apache.org>; "'Francesco Munari'" <fm...@gmail.com>
> > > Sent: Saturday, May 28, 2005 3:14 PM
> > > Subject: RE: SOAP-over-UDP
> > >
> > > > Hi Franceso,
> > > >
> > > > I've worked briefly with the apache soap api, not that familiar with
> > > > it.
> > > > Typically a soap message is sent to a single soap server address,
> > > > which
> > > > is
> > > > specified by a url or an ip address, as well as a port. So your server
> > > > address on the LAN might be something like 192.168.100.2:8080. (I'm
> > > > not
> > > > sure
> > > > what the port is for UDDI, so just using standard TomCat Web Server
> > > > port).
> > > >
> > > > IIRC, you there's a point at which you specify that address in the
> > > > setup
> > > > for
> > > > your soap call. One thing you could try is to change the address to
> > > > the
> > > > subnet's broadcast address, 255.255.255.0:8080, assuming a class c
> > > > network
> > > > where the first 3 quads specify the network portion of the submask.
> > > >
> > > > However, this may not a scalable solution, since the broadcast
> > > > wouldn't
> > > > carry beyond the physical subnet on which you are located. Using UDDI
> > > > to
> > > > discover services is one thing, but dynamically discovering UDDI
> > > > servers
> > > > is
> > > > obviously a different problem. It also doesn't address the issue of
> > > > more
> > > > than one UDDI server running on the same subnet.
> > > >
> > > > A more generalized solution might involve a distributed ip lookup
> > > > service,
> > > > namely DNS. For example when DNS looks up the ip address of Yahoo.com,
> > > > at
> > > > some point the actual ip address that serves the request is
> > > > dynamically
> > > > assigned to one of dozens (or hundreds) of servers based on a
> > > > scheduling
> > > > scheme.  You could locally enable DNS lookup, and create an entry
> > > > based
> > > > on
> > > > some url like "myuddpsever.com", and give it your local UDDI server's
> > > > ip
> > > > address, and the rest would be handled within the network. The
> > > > advantage
> > > > to
> > > > this is your UDDP server could be anywhere and your message would
> > > > still
> > > > reach it.
> > > >
> > > > hth,
> > > > Mark
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Francesco Munari [mailto:fmunari@gmail.com]
> > > > Sent: Saturday, May 28, 2005 4:58 AM
> > > > To: soap-user@ws.apache.org
> > > > Subject: SOAP-over-UDP
> > > >
> > > > Hi, I'm desperate!
> > > > I'm trying to find out how to send a broadcast SOAP request to a UDDI
> > > > registry in a LAN, but I'm not able to do this. I've looked for some
> > > > example but I've not found anithing.
> > > >
> > > > Please...could anybody help me?
> > > > I'm making a thesis for the University of Florence (Italy) and I have
> > > > to discovery dinamically web service published in some UDDI registry
> > > > somewhere in a LAN. I have to send a broadcast SOAP request to these
> > > > UDDI registry (as I wrote few lines above).
> > > > Of course I'm using Java language.
> > > >
> > > > Thank you very much for your help...I'm in a great hurry...thanks very
> > > > very much to everyone could help me!
> > > >
> > > > Best reguards,
> > > >
> > > > Francesco
> > > >
> > > >
> > >
> >
>

Re: SOAP-over-UDP

Posted by Martin Gainty <mg...@hotmail.com>.
Francesco-
You can Broadcast XML-RPC assuming you dont mind flooding your network
The question is can you confine your application to using the more basic 
datatypes supported by XML-RPC
vs implementing SOAP features (user-defined datatypes, namespace URI)?
Anyone else?
Martin-
----- Original Message ----- 
From: "Francesco Munari" <fm...@gmail.com>
To: "Martin Gainty" <mg...@hotmail.com>
Cc: <so...@ws.apache.org>
Sent: Monday, May 30, 2005 6:45 AM
Subject: Re: SOAP-over-UDP


Grazie! :)

Could someone tell me if a simple XML-RPC message may be sent to a
broadcast address? A simple message with the medthod to be invoked. In
this way I should be able to send a broadcast XML-RPC request with the
appropriate UDDI inquiry method; a server (containing a UDDI registry)
should receive it, invoke that method and send a reply in XML format
to the sender.

It could be a good idea?

thank you again!

Francesco

2005/5/29, Martin Gainty <mg...@hotmail.com>:
> benvenuto!
> Martin-
>
> ----- Original Message -----
> From: "Francesco Munari" <fm...@gmail.com>
> To: <so...@ws.apache.org>
> Sent: Saturday, May 28, 2005 5:41 PM
> Subject: Re: SOAP-over-UDP
>
> Thank you all for your very quick reply!
>
> I've heard about this SOAP-over-UDP spec
> (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/soap-over-udp.asp).
> So, Martin, you say that it could not be a solution? Perhaps it should
> be an idea using Mark's solution (with DNS).
>
> I thought to resolve the problem putting a SOAP envelope into a UDP
> datagram, send the datagram to a broadcast ip and that's all
> folks...but I don't know how and, as you, Martins, wrote, I was not
> able to find anybody who has implemented this yet.
>
> Can you suggest me another solutions?
>
> Thank you very much again!!
>
> Cheers,
>
> Francesco
>
> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> > Mark/Francesco
> > I would caution on use of UDP as the SOAP Portocols (e.g. HTTP) is/are
> > decidely not UDP but instead a connection-oriented TCP
> > To date I have not seen UDP Ports used for SOAP transmission although
> > since
> > there is no requirement for verifiable connection and or handshakes
> > I would venture to guess UDP is available as the transmission medium but 
> > I
> > have not seen any UDP Ports used for SOAP thus far
> > Anyone else ???
> > Ciao-
> > Martin-
> >
> > ----- Original Message -----
> > From: "mdonaghue" <md...@mZeal.com>
> > To: <so...@ws.apache.org>; "'Francesco Munari'" <fm...@gmail.com>
> > Sent: Saturday, May 28, 2005 3:14 PM
> > Subject: RE: SOAP-over-UDP
> >
> > > Hi Franceso,
> > >
> > > I've worked briefly with the apache soap api, not that familiar with 
> > > it.
> > > Typically a soap message is sent to a single soap server address, 
> > > which
> > > is
> > > specified by a url or an ip address, as well as a port. So your server
> > > address on the LAN might be something like 192.168.100.2:8080. (I'm 
> > > not
> > > sure
> > > what the port is for UDDI, so just using standard TomCat Web Server
> > > port).
> > >
> > > IIRC, you there's a point at which you specify that address in the 
> > > setup
> > > for
> > > your soap call. One thing you could try is to change the address to 
> > > the
> > > subnet's broadcast address, 255.255.255.0:8080, assuming a class c
> > > network
> > > where the first 3 quads specify the network portion of the submask.
> > >
> > > However, this may not a scalable solution, since the broadcast 
> > > wouldn't
> > > carry beyond the physical subnet on which you are located. Using UDDI 
> > > to
> > > discover services is one thing, but dynamically discovering UDDI 
> > > servers
> > > is
> > > obviously a different problem. It also doesn't address the issue of 
> > > more
> > > than one UDDI server running on the same subnet.
> > >
> > > A more generalized solution might involve a distributed ip lookup
> > > service,
> > > namely DNS. For example when DNS looks up the ip address of Yahoo.com,
> > > at
> > > some point the actual ip address that serves the request is 
> > > dynamically
> > > assigned to one of dozens (or hundreds) of servers based on a 
> > > scheduling
> > > scheme.  You could locally enable DNS lookup, and create an entry 
> > > based
> > > on
> > > some url like "myuddpsever.com", and give it your local UDDI server's 
> > > ip
> > > address, and the rest would be handled within the network. The 
> > > advantage
> > > to
> > > this is your UDDP server could be anywhere and your message would 
> > > still
> > > reach it.
> > >
> > > hth,
> > > Mark
> > >
> > >
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Francesco Munari [mailto:fmunari@gmail.com]
> > > Sent: Saturday, May 28, 2005 4:58 AM
> > > To: soap-user@ws.apache.org
> > > Subject: SOAP-over-UDP
> > >
> > > Hi, I'm desperate!
> > > I'm trying to find out how to send a broadcast SOAP request to a UDDI
> > > registry in a LAN, but I'm not able to do this. I've looked for some
> > > example but I've not found anithing.
> > >
> > > Please...could anybody help me?
> > > I'm making a thesis for the University of Florence (Italy) and I have
> > > to discovery dinamically web service published in some UDDI registry
> > > somewhere in a LAN. I have to send a broadcast SOAP request to these
> > > UDDI registry (as I wrote few lines above).
> > > Of course I'm using Java language.
> > >
> > > Thank you very much for your help...I'm in a great hurry...thanks very
> > > very much to everyone could help me!
> > >
> > > Best reguards,
> > >
> > > Francesco
> > >
> > >
> >
>

Re: SOAP-over-UDP

Posted by Francesco Munari <fm...@gmail.com>.
Grazie! :)

Could someone tell me if a simple XML-RPC message may be sent to a
broadcast address? A simple message with the medthod to be invoked. In
this way I should be able to send a broadcast XML-RPC request with the
appropriate UDDI inquiry method; a server (containing a UDDI registry)
should receive it, invoke that method and send a reply in XML format
to the sender.

It could be a good idea?

thank you again!

Francesco

2005/5/29, Martin Gainty <mg...@hotmail.com>:
> benvenuto!
> Martin-
> 
> ----- Original Message -----
> From: "Francesco Munari" <fm...@gmail.com>
> To: <so...@ws.apache.org>
> Sent: Saturday, May 28, 2005 5:41 PM
> Subject: Re: SOAP-over-UDP
> 
> Thank you all for your very quick reply!
> 
> I've heard about this SOAP-over-UDP spec
> (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/soap-over-udp.asp).
> So, Martin, you say that it could not be a solution? Perhaps it should
> be an idea using Mark's solution (with DNS).
> 
> I thought to resolve the problem putting a SOAP envelope into a UDP
> datagram, send the datagram to a broadcast ip and that's all
> folks...but I don't know how and, as you, Martins, wrote, I was not
> able to find anybody who has implemented this yet.
> 
> Can you suggest me another solutions?
> 
> Thank you very much again!!
> 
> Cheers,
> 
> Francesco
> 
> 2005/5/28, Martin Gainty <mg...@hotmail.com>:
> > Mark/Francesco
> > I would caution on use of UDP as the SOAP Portocols (e.g. HTTP) is/are
> > decidely not UDP but instead a connection-oriented TCP
> > To date I have not seen UDP Ports used for SOAP transmission although
> > since
> > there is no requirement for verifiable connection and or handshakes
> > I would venture to guess UDP is available as the transmission medium but I
> > have not seen any UDP Ports used for SOAP thus far
> > Anyone else ???
> > Ciao-
> > Martin-
> >
> > ----- Original Message -----
> > From: "mdonaghue" <md...@mZeal.com>
> > To: <so...@ws.apache.org>; "'Francesco Munari'" <fm...@gmail.com>
> > Sent: Saturday, May 28, 2005 3:14 PM
> > Subject: RE: SOAP-over-UDP
> >
> > > Hi Franceso,
> > >
> > > I've worked briefly with the apache soap api, not that familiar with it.
> > > Typically a soap message is sent to a single soap server address, which
> > > is
> > > specified by a url or an ip address, as well as a port. So your server
> > > address on the LAN might be something like 192.168.100.2:8080. (I'm not
> > > sure
> > > what the port is for UDDI, so just using standard TomCat Web Server
> > > port).
> > >
> > > IIRC, you there's a point at which you specify that address in the setup
> > > for
> > > your soap call. One thing you could try is to change the address to the
> > > subnet's broadcast address, 255.255.255.0:8080, assuming a class c
> > > network
> > > where the first 3 quads specify the network portion of the submask.
> > >
> > > However, this may not a scalable solution, since the broadcast wouldn't
> > > carry beyond the physical subnet on which you are located. Using UDDI to
> > > discover services is one thing, but dynamically discovering UDDI servers
> > > is
> > > obviously a different problem. It also doesn't address the issue of more
> > > than one UDDI server running on the same subnet.
> > >
> > > A more generalized solution might involve a distributed ip lookup
> > > service,
> > > namely DNS. For example when DNS looks up the ip address of Yahoo.com,
> > > at
> > > some point the actual ip address that serves the request is dynamically
> > > assigned to one of dozens (or hundreds) of servers based on a scheduling
> > > scheme.  You could locally enable DNS lookup, and create an entry based
> > > on
> > > some url like "myuddpsever.com", and give it your local UDDI server's ip
> > > address, and the rest would be handled within the network. The advantage
> > > to
> > > this is your UDDP server could be anywhere and your message would still
> > > reach it.
> > >
> > > hth,
> > > Mark
> > >
> > >
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Francesco Munari [mailto:fmunari@gmail.com]
> > > Sent: Saturday, May 28, 2005 4:58 AM
> > > To: soap-user@ws.apache.org
> > > Subject: SOAP-over-UDP
> > >
> > > Hi, I'm desperate!
> > > I'm trying to find out how to send a broadcast SOAP request to a UDDI
> > > registry in a LAN, but I'm not able to do this. I've looked for some
> > > example but I've not found anithing.
> > >
> > > Please...could anybody help me?
> > > I'm making a thesis for the University of Florence (Italy) and I have
> > > to discovery dinamically web service published in some UDDI registry
> > > somewhere in a LAN. I have to send a broadcast SOAP request to these
> > > UDDI registry (as I wrote few lines above).
> > > Of course I'm using Java language.
> > >
> > > Thank you very much for your help...I'm in a great hurry...thanks very
> > > very much to everyone could help me!
> > >
> > > Best reguards,
> > >
> > > Francesco
> > >
> > >
> >
>

Re: SOAP-over-UDP

Posted by Martin Gainty <mg...@hotmail.com>.
benvenuto!
Martin-

----- Original Message ----- 
From: "Francesco Munari" <fm...@gmail.com>
To: <so...@ws.apache.org>
Sent: Saturday, May 28, 2005 5:41 PM
Subject: Re: SOAP-over-UDP


Thank you all for your very quick reply!

I've heard about this SOAP-over-UDP spec
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/soap-over-udp.asp).
So, Martin, you say that it could not be a solution? Perhaps it should
be an idea using Mark's solution (with DNS).

I thought to resolve the problem putting a SOAP envelope into a UDP
datagram, send the datagram to a broadcast ip and that's all
folks...but I don't know how and, as you, Martins, wrote, I was not
able to find anybody who has implemented this yet.

Can you suggest me another solutions?

Thank you very much again!!

Cheers,

Francesco

2005/5/28, Martin Gainty <mg...@hotmail.com>:
> Mark/Francesco
> I would caution on use of UDP as the SOAP Portocols (e.g. HTTP) is/are
> decidely not UDP but instead a connection-oriented TCP
> To date I have not seen UDP Ports used for SOAP transmission although 
> since
> there is no requirement for verifiable connection and or handshakes
> I would venture to guess UDP is available as the transmission medium but I
> have not seen any UDP Ports used for SOAP thus far
> Anyone else ???
> Ciao-
> Martin-
>
> ----- Original Message -----
> From: "mdonaghue" <md...@mZeal.com>
> To: <so...@ws.apache.org>; "'Francesco Munari'" <fm...@gmail.com>
> Sent: Saturday, May 28, 2005 3:14 PM
> Subject: RE: SOAP-over-UDP
>
> > Hi Franceso,
> >
> > I've worked briefly with the apache soap api, not that familiar with it.
> > Typically a soap message is sent to a single soap server address, which 
> > is
> > specified by a url or an ip address, as well as a port. So your server
> > address on the LAN might be something like 192.168.100.2:8080. (I'm not
> > sure
> > what the port is for UDDI, so just using standard TomCat Web Server 
> > port).
> >
> > IIRC, you there's a point at which you specify that address in the setup
> > for
> > your soap call. One thing you could try is to change the address to the
> > subnet's broadcast address, 255.255.255.0:8080, assuming a class c 
> > network
> > where the first 3 quads specify the network portion of the submask.
> >
> > However, this may not a scalable solution, since the broadcast wouldn't
> > carry beyond the physical subnet on which you are located. Using UDDI to
> > discover services is one thing, but dynamically discovering UDDI servers
> > is
> > obviously a different problem. It also doesn't address the issue of more
> > than one UDDI server running on the same subnet.
> >
> > A more generalized solution might involve a distributed ip lookup 
> > service,
> > namely DNS. For example when DNS looks up the ip address of Yahoo.com, 
> > at
> > some point the actual ip address that serves the request is dynamically
> > assigned to one of dozens (or hundreds) of servers based on a scheduling
> > scheme.  You could locally enable DNS lookup, and create an entry based 
> > on
> > some url like "myuddpsever.com", and give it your local UDDI server's ip
> > address, and the rest would be handled within the network. The advantage
> > to
> > this is your UDDP server could be anywhere and your message would still
> > reach it.
> >
> > hth,
> > Mark
> >
> >
> >
> >
> >
> > -----Original Message-----
> > From: Francesco Munari [mailto:fmunari@gmail.com]
> > Sent: Saturday, May 28, 2005 4:58 AM
> > To: soap-user@ws.apache.org
> > Subject: SOAP-over-UDP
> >
> > Hi, I'm desperate!
> > I'm trying to find out how to send a broadcast SOAP request to a UDDI
> > registry in a LAN, but I'm not able to do this. I've looked for some
> > example but I've not found anithing.
> >
> > Please...could anybody help me?
> > I'm making a thesis for the University of Florence (Italy) and I have
> > to discovery dinamically web service published in some UDDI registry
> > somewhere in a LAN. I have to send a broadcast SOAP request to these
> > UDDI registry (as I wrote few lines above).
> > Of course I'm using Java language.
> >
> > Thank you very much for your help...I'm in a great hurry...thanks very
> > very much to everyone could help me!
> >
> > Best reguards,
> >
> > Francesco
> >
> >
>

Re: SOAP-over-UDP

Posted by Francesco Munari <fm...@gmail.com>.
Thank you all for your very quick reply!

I've heard about this SOAP-over-UDP spec
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/soap-over-udp.asp).
So, Martin, you say that it could not be a solution? Perhaps it should
be an idea using Mark's solution (with DNS).

I thought to resolve the problem putting a SOAP envelope into a UDP
datagram, send the datagram to a broadcast ip and that's all
folks...but I don't know how and, as you, Martins, wrote, I was not
able to find anybody who has implemented this yet.

Can you suggest me another solutions?

Thank you very much again!!

Cheers,

Francesco

2005/5/28, Martin Gainty <mg...@hotmail.com>:
> Mark/Francesco
> I would caution on use of UDP as the SOAP Portocols (e.g. HTTP) is/are
> decidely not UDP but instead a connection-oriented TCP
> To date I have not seen UDP Ports used for SOAP transmission although since
> there is no requirement for verifiable connection and or handshakes
> I would venture to guess UDP is available as the transmission medium but I
> have not seen any UDP Ports used for SOAP thus far
> Anyone else ???
> Ciao-
> Martin-
> 
> ----- Original Message -----
> From: "mdonaghue" <md...@mZeal.com>
> To: <so...@ws.apache.org>; "'Francesco Munari'" <fm...@gmail.com>
> Sent: Saturday, May 28, 2005 3:14 PM
> Subject: RE: SOAP-over-UDP
> 
> > Hi Franceso,
> >
> > I've worked briefly with the apache soap api, not that familiar with it.
> > Typically a soap message is sent to a single soap server address, which is
> > specified by a url or an ip address, as well as a port. So your server
> > address on the LAN might be something like 192.168.100.2:8080. (I'm not
> > sure
> > what the port is for UDDI, so just using standard TomCat Web Server port).
> >
> > IIRC, you there's a point at which you specify that address in the setup
> > for
> > your soap call. One thing you could try is to change the address to the
> > subnet's broadcast address, 255.255.255.0:8080, assuming a class c network
> > where the first 3 quads specify the network portion of the submask.
> >
> > However, this may not a scalable solution, since the broadcast wouldn't
> > carry beyond the physical subnet on which you are located. Using UDDI to
> > discover services is one thing, but dynamically discovering UDDI servers
> > is
> > obviously a different problem. It also doesn't address the issue of more
> > than one UDDI server running on the same subnet.
> >
> > A more generalized solution might involve a distributed ip lookup service,
> > namely DNS. For example when DNS looks up the ip address of Yahoo.com, at
> > some point the actual ip address that serves the request is dynamically
> > assigned to one of dozens (or hundreds) of servers based on a scheduling
> > scheme.  You could locally enable DNS lookup, and create an entry based on
> > some url like "myuddpsever.com", and give it your local UDDI server's ip
> > address, and the rest would be handled within the network. The advantage
> > to
> > this is your UDDP server could be anywhere and your message would still
> > reach it.
> >
> > hth,
> > Mark
> >
> >
> >
> >
> >
> > -----Original Message-----
> > From: Francesco Munari [mailto:fmunari@gmail.com]
> > Sent: Saturday, May 28, 2005 4:58 AM
> > To: soap-user@ws.apache.org
> > Subject: SOAP-over-UDP
> >
> > Hi, I'm desperate!
> > I'm trying to find out how to send a broadcast SOAP request to a UDDI
> > registry in a LAN, but I'm not able to do this. I've looked for some
> > example but I've not found anithing.
> >
> > Please...could anybody help me?
> > I'm making a thesis for the University of Florence (Italy) and I have
> > to discovery dinamically web service published in some UDDI registry
> > somewhere in a LAN. I have to send a broadcast SOAP request to these
> > UDDI registry (as I wrote few lines above).
> > Of course I'm using Java language.
> >
> > Thank you very much for your help...I'm in a great hurry...thanks very
> > very much to everyone could help me!
> >
> > Best reguards,
> >
> > Francesco
> >
> >
>

Re: SOAP-over-UDP

Posted by Martin Gainty <mg...@hotmail.com>.
Mark/Francesco
I would caution on use of UDP as the SOAP Portocols (e.g. HTTP) is/are 
decidely not UDP but instead a connection-oriented TCP
To date I have not seen UDP Ports used for SOAP transmission although since 
there is no requirement for verifiable connection and or handshakes
I would venture to guess UDP is available as the transmission medium but I 
have not seen any UDP Ports used for SOAP thus far
Anyone else ???
Ciao-
Martin-

----- Original Message ----- 
From: "mdonaghue" <md...@mZeal.com>
To: <so...@ws.apache.org>; "'Francesco Munari'" <fm...@gmail.com>
Sent: Saturday, May 28, 2005 3:14 PM
Subject: RE: SOAP-over-UDP


> Hi Franceso,
>
> I've worked briefly with the apache soap api, not that familiar with it.
> Typically a soap message is sent to a single soap server address, which is
> specified by a url or an ip address, as well as a port. So your server
> address on the LAN might be something like 192.168.100.2:8080. (I'm not 
> sure
> what the port is for UDDI, so just using standard TomCat Web Server port).
>
> IIRC, you there's a point at which you specify that address in the setup 
> for
> your soap call. One thing you could try is to change the address to the
> subnet's broadcast address, 255.255.255.0:8080, assuming a class c network
> where the first 3 quads specify the network portion of the submask.
>
> However, this may not a scalable solution, since the broadcast wouldn't
> carry beyond the physical subnet on which you are located. Using UDDI to
> discover services is one thing, but dynamically discovering UDDI servers 
> is
> obviously a different problem. It also doesn't address the issue of more
> than one UDDI server running on the same subnet.
>
> A more generalized solution might involve a distributed ip lookup service,
> namely DNS. For example when DNS looks up the ip address of Yahoo.com, at
> some point the actual ip address that serves the request is dynamically
> assigned to one of dozens (or hundreds) of servers based on a scheduling
> scheme.  You could locally enable DNS lookup, and create an entry based on
> some url like "myuddpsever.com", and give it your local UDDI server's ip
> address, and the rest would be handled within the network. The advantage 
> to
> this is your UDDP server could be anywhere and your message would still
> reach it.
>
> hth,
> Mark
>
>
>
>
>
> -----Original Message-----
> From: Francesco Munari [mailto:fmunari@gmail.com]
> Sent: Saturday, May 28, 2005 4:58 AM
> To: soap-user@ws.apache.org
> Subject: SOAP-over-UDP
>
> Hi, I'm desperate!
> I'm trying to find out how to send a broadcast SOAP request to a UDDI
> registry in a LAN, but I'm not able to do this. I've looked for some
> example but I've not found anithing.
>
> Please...could anybody help me?
> I'm making a thesis for the University of Florence (Italy) and I have
> to discovery dinamically web service published in some UDDI registry
> somewhere in a LAN. I have to send a broadcast SOAP request to these
> UDDI registry (as I wrote few lines above).
> Of course I'm using Java language.
>
> Thank you very much for your help...I'm in a great hurry...thanks very
> very much to everyone could help me!
>
> Best reguards,
>
> Francesco
>
> 

RE: SOAP-over-UDP

Posted by mdonaghue <md...@mZeal.com>.
Hi Franceso,

I've worked briefly with the apache soap api, not that familiar with it.
Typically a soap message is sent to a single soap server address, which is
specified by a url or an ip address, as well as a port. So your server
address on the LAN might be something like 192.168.100.2:8080. (I'm not sure
what the port is for UDDI, so just using standard TomCat Web Server port). 

IIRC, you there's a point at which you specify that address in the setup for
your soap call. One thing you could try is to change the address to the
subnet's broadcast address, 255.255.255.0:8080, assuming a class c network
where the first 3 quads specify the network portion of the submask.  

However, this may not a scalable solution, since the broadcast wouldn't
carry beyond the physical subnet on which you are located. Using UDDI to
discover services is one thing, but dynamically discovering UDDI servers is
obviously a different problem. It also doesn't address the issue of more
than one UDDI server running on the same subnet. 

A more generalized solution might involve a distributed ip lookup service,
namely DNS. For example when DNS looks up the ip address of Yahoo.com, at
some point the actual ip address that serves the request is dynamically
assigned to one of dozens (or hundreds) of servers based on a scheduling
scheme.  You could locally enable DNS lookup, and create an entry based on
some url like "myuddpsever.com", and give it your local UDDI server's ip
address, and the rest would be handled within the network. The advantage to
this is your UDDP server could be anywhere and your message would still
reach it.

hth, 
Mark
 

 


-----Original Message-----
From: Francesco Munari [mailto:fmunari@gmail.com] 
Sent: Saturday, May 28, 2005 4:58 AM
To: soap-user@ws.apache.org
Subject: SOAP-over-UDP

Hi, I'm desperate!
I'm trying to find out how to send a broadcast SOAP request to a UDDI
registry in a LAN, but I'm not able to do this. I've looked for some
example but I've not found anithing.

Please...could anybody help me?
I'm making a thesis for the University of Florence (Italy) and I have
to discovery dinamically web service published in some UDDI registry
somewhere in a LAN. I have to send a broadcast SOAP request to these
UDDI registry (as I wrote few lines above).
Of course I'm using Java language.

Thank you very much for your help...I'm in a great hurry...thanks very
very much to everyone could help me!

Best reguards,

Francesco