On Sat, Jun 18, 2011 at 5:12 AM, J. Lewis Muir <[email protected]> wrote:
> On 6/17/11 3:44 PM, Scott Baily wrote:
>> I would like to have an IOC talk to hardware that communicates
>> using SOAP. In theory, I could setup an appropriate protocol
>> file for Streamdevice and use a raw TCP connection to port 80.
>> Has anyone done this? Is there a better method?
>
> Hi, Scott.
>
> If you can get that to work with your particular device, that
> may be the easiest solution. I've done something similar just
> using asyn records to query readings from a temperature and
> humidity sensor via HTTP.
>
> A better method, but more work, would be to actually use a SOAP
> library on the IOC to communicate with the device. Since SOAP
> uses XML, you would need an XML parser which would typically be
> included with or used by your SOAP library. With your
> StreamDevice approach, you are really just doing pattern
> matching which is likely to work with your particular device,
> but could fail given a different device implementing the same
> API (e.g. XML allows whitespace characters in lots of places and
> one device could place them differently than another).
>
> While not perfect, in most situations I'd probably do something
> like what you are thinking with StreamDevice (or asyn records).
>
> Lewis
>
Hi Scott
Decoding a SOAP document by parsing the characters may be hard work.
I'd echo Lewis and say use an XML parser, actually go one step
further and use a SOAP package like gSOAP to write a client app that
talks to the service. Two advantages to this (apart from portability,
above), it's easy to test and debug a standalone app, and you can then
choose a simple fixed output format that would let you easily parse
the info in EPICS. I mention gSOAP because it's C++, compiles down to
a small binary and we've used it successfully on relatively low power
hardware.
/Peter
- References:
- SOAP device communication. Scott Baily
- Re: SOAP device communication. J. Lewis Muir
- Navigate by Date:
- Prev:
Re: SOAP device communication. J. Lewis Muir
- Next:
RE: AreaDetector: Prosilica camera on different subnet? Mark Rivers
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
<2011>
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: SOAP device communication. J. Lewis Muir
- Next:
Re: SOAP device communication. Dirk Zimoch
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
<2011>
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|