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 has been 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.
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Hello,
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
:After running the command, the following error was produced:
However, Client.swift was still created. But instead of containing Swift code, it instead contained a plain text list of names from the WSDL file:
Any suggestions? Thanks in advance.
The text was updated successfully, but these errors were encountered: