You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 3, 2020. It is now read-only.
Repository navigation
This repository was archived by the owner on Feb 3, 2020. It is now read-only.
I am trying to use Lark to implement an ONVIF client in Swift. For those unfamiliar with the ONVIF specification, its goal is the "standardization of communication between IP-based physical security products."
ONVIF provides a number of documents which outline the networking specifications along with corresponding WSDL files.
I took the file titled device.wsdl from the networking specifications page and fed it into lark-generate-client:
There are a few types defined within a XSD https://www.onvif.org/ver10/schema/onvif.xsd which is included by the WSDL. The first two I ran into are these;
Currently Lark doesn't support the ref attribute on an element:
Currently Lark doesn't support a complexType with a choice value type:
<xs:complexTypename="ColorOptions">
<xs:annotation>...</xs:annotation>
<xs:choice>
<xs:elementname="ColorList"type="tt:Color"maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>List the supported color.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:elementname="ColorspaceRange"type="tt:ColorspaceRange"maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Define the rang of color supported.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:anyAttributeprocessContents="lax"></xs:anyAttribute>
</xs:complexType>
Ideally Lark would support these message types. Or maybe skip the parts of the WSDL/XSD it cannot deal with. I've created a branch feature/more-complex and committed three failing tests for each of the types listed above. I don't know if/when I might have time to further look at this, but at least it's recorded somewhere now.
However at this moment you'd have to work around the limitations of Lark to get the client generated. It shouldn't be too hard by running lark-generate-client from Xcode and put in a small workaround at those spots it's throwing a error.
Activity
Bouke commentedon Nov 12, 2017
There are a few types defined within a XSD
https://www.onvif.org/ver10/schema/onvif.xsdwhich is included by the WSDL. The first two I ran into are these;Currently Lark doesn't support the
refattribute on anelement:Currently Lark doesn't support a
complexTypewithsimpleContent:Currently Lark doesn't support a
complexTypewith achoicevalue type:Ideally Lark would support these message types. Or maybe skip the parts of the WSDL/XSD it cannot deal with. I've created a branch
feature/more-complexand committed three failing tests for each of the types listed above. I don't know if/when I might have time to further look at this, but at least it's recorded somewhere now.However at this moment you'd have to work around the limitations of Lark to get the client generated. It shouldn't be too hard by running
lark-generate-clientfrom Xcode and put in a small workaround at those spots it's throwing a error.