Agreed - but on page 56 of the 2.7.17 doc it explains how to chain servers - 
and I've tried that but am still not getting past the first server, because 
it'll just send an error. I'm going to experiment with the .dispatch method 
before sending.
Anyone have luck with chaining servers? TIA.

--- In gsoap@yahoogroups.com, "rabidcicada" <rabidcic...@...> wrote:
>
> The problem is clearly that the services have now way of knowing which 
> service you really want.  Each is made to run as a service on a certain port.
> 
> You need to change your design.  
> 
> Run each server on a different port---or---put both service's code in the 
> same soap object and put logic in there to differentiate.
> 
> If you think about how SOAP is designed....it's validates the format, and 
> namespace of the messsage.  If you have two services responding on the same 
> port and you send a message to that port then both will try to interpret 
> what's coming in.
> 
> 
> 
> --- In gsoap@yahoogroups.com, "Joseph" <PvtHudson@> wrote:
> >
> >         When I converted the Onvif source xml files, I created one big 
> > project. Up till now, I've only used the "DeviceBindingService" soap 
> > object, and have had good results. As you can see from the code snippit for 
> > main(), I'm using the serve() method & running as a CGI application - and 
> > all is well.
> >         Now, I'm moving along with the Onvif testing and I now need to code 
> > responses for the "MediaBindingService" soap object. I can create a new 
> > object & I can call the serve() method "MediaDevice.serve()", and while it 
> > compiles fine, both of the soap objects respond! Using Wireshark, I can see 
> > the response has both - a pass from the service that it's intended for, and 
> > a fail from the other service.
> >         I know that I can have multiple soap objects, do you have any 
> > suggestions on how to get mulitple soap objects working at same time? Do I 
> > need to setup threads? How can I prevent one from responding as a error to 
> > the other?
> >         Thanks in advance for your help & ideas.
> > 
> >         -JF
> >         Joseph Fitzgerald
> >         Vicon Industries
> > 
> > code -
> > file onvif_namespace.cpp -
> > 
> > #include "soapDeviceBindingService.h"
> > #include "DeviceBinding.nsmap" //gobal namespaces
> > 
> > #include "soapMediaBindingService.h"
> > //#include "MediaBinding.nsmap"
> > 
> > int main(int argc, char **argv)
> > {
> >  DeviceBindingService OnvifDevice ;
> >  MediaBindingService MediaDevice;
> >  if (argc < 2)
> >  {
> >   OnvifDevice.serve();  /* serve as CGI application */
> >   //MediaDevice.serve(); /* when added - causes the errors for device 
> > messages */
> >  }
> > ...
> >
>


Reply via email to