[Xml-compile] ONVIF wsdl and XML::Compile::WSDL11

DEIGNAN Ciaran C.DEIGNAN at rsd.com
Mon Feb 8 13:53:06 GMT 2016


Hi,
I believe that you just have to specify a URL for the service.

In most of my scripts I start with something like this:

my $trans = XML::Compile::Transport::SOAPHTTP->new(timeout => 5000, address =>'http://example.com/soap');
$ws->compileCalls(endpoint => 'http://example.com/soap' , transport => $trans);

Hope this helps,

Ciaran Deignan
RSD Open Systems Support

-----Original Message-----
From: Sandro Magrí [mailto:sandro at freenetst.it] 
Sent: dimanche 7 février 2016 15:20
To: xml-compile at lists.scsys.co.uk
Subject: [Xml-compile] ONVIF wsdl and XML::Compile::WSDL11


I state not to know almost nothing about SOAP and XML,
but I tried using XML::Compile::SOAP to make a ONVIF client
to get information and move around some PTZ cameras and NVT (network 
video transmitter),
because I still prefer perl to other more modern languages
and this library seems to me the best and the most complete
for XML and SOAP among those present on CPAN, a very goog work.
The specifications are on the Open Network Video InterFace site:
http://www.onvif.org/onvif/ver10/schema/onvif.xsd
http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl
http://www.onvif.org/onvif/ver10/media/wsdl/media.wsdl
http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl
....

After downloading the locally .wsdl and .xsd files, I tried
  ./wsdl-explain.pl --wsdl /etc/onvif/wsdl/devicemgmt.wsdl --xsd 
/etc/onvif/schema/onvif.xsd
but give the error
error: operation GetServices has a message for its portType but no 
encoding in the binding

The same error is given by the compile method in all the code that I had 
tried to write.
A look at the source and is the problem is in the sub operation of 
XML::Compile::WSDL11 operation,
  which chooses SOAP11 for a SOAP12 only webservice (the wsdl files 
haven't address).
I did a quick and dirty change to WSDL11.pm (one line,  $prefix = 
$prefix."12" ),
to finish quickly a first version of the script, that now work well.

But I wanted to know if there's a neat and clean way
to force the use of SOAP12 in WSDL11.

                Best Regards,
                        Sandro Magri   <sandro at freenetst.it>
                        FreeNet ST      http://www.freenetst.it




_______________________________________________
Xml-compile mailing list
Xml-compile at lists.scsys.co.uk
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile



More information about the Xml-compile mailing list