Why are some services missing the wsdl:service definition? #90
-
Hi, I am trying to generate java code to implement all the wsdls, but they only generated the interface, and not the service/implementation. After some digging, it is because some of the wsdl's no longer define a service. I needed to manually add:
Any specific reason they are no longer present? Or we're they never present and did the library add them? |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 1 reply
-
Hi Robin, -Steven |
Beta Was this translation helpful? Give feedback.
-
Python client (suds) also requires service definition |
Beta Was this translation helpful? Give feedback.
-
We had service definitions in the very first release back in 2008. They resulted in some stubs automatically connecting to the provided URL. |
Beta Was this translation helpful? Give feedback.
-
I like Steve's suggestion with the master service wsdl. I'm not sure whether it makes sense for ONVIF to maintain such a master file since applications may typically do not want to import all wsdl files ONVIF has defined at once. |
Beta Was this translation helpful? Give feedback.
Hi Robin,
Java (
wsimport
) is one of the few (maybe the only) parsers that required the service to be defined. The ONVIF WSDL files never provided the service definition. Since ONVIF is only specifying the interface, this makes sense to leave it up to each individual implementation how to provide those services. I always defined the service either directly in the ONVIF WSDL file or creating a parent WSDL file that imported the ONVIF WSDLs and defined all the services I needed to generate. I recommend the latter as it is easier when ONVIF publishes updates to the WSDL file you don't need to keep re-adding the service.-Steven