8000 doorcontrol.wsdl: Workaround for xs:any not last in Door by johado · Pull Request #100 · onvif/specs · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

doorcontrol.wsdl: Workaround for xs:any not last in Door #100

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 25, 2021

Conversation

johado
Copy link
Contributor
@johado johado commented Apr 15, 2021

When Door extends DoorInfo it got the extensions, which gsoap
doesn't like causing occurance violation errors.
This solves https://wush.net/trac/onvif/ticket/2727

Change-Id: Ibb95984a41dfed35fa5cdd6ade5fbb9c45745be0

@HansBusch
Copy link
Member

Looks like the door xml design has an issue. Not sure whether this change is backward compatible and makes it better?
Is there really a need for some many extension types? Experience showed that straight types are much easier to handle especially with schema 1.1 extensibility.

@johado
Copy link
Contributor Author
johado commented Apr 16, 2021

I think it should be backwards compatible. We have just basically moved the Capabilities so we don't extend the type that already have the xs:any.

@HansBusch
Copy link
Member

Still try to grasp why this kind of hack is needed. You will at least break any privately extension and loose a future extension point.
What would a clean solution look like?

@johado
Copy link
Contributor Author
johado commented Apr 20, 2021

The original wsdl extends type like this: DoorInfoBase -> DoorInfo (adds Capabilities+extendability)-> Door (adds more Door stuff + extendability)
I believe the use of DoorInfoBase followed the guidelines we had back then, but the wsdls are generated from the textual API description we did.
Now we instead skip the DoorInfo and copies the stuff from that to the Door definition:
DoorInfoBase -> Door (adds Capabilities + adds more Door stuff + extendability)
The resulting Door would look exactly the same (apart form the extra misplaced xs:any) and all the tools should be happy.
We could still extend DoorInfo in the future I think (unlikely though?), but would have to extend Door in the same way.

@HansBusch
Copy link
Member

Could you also add the xs:any extension point from DoorInfo? With that it would be 100% backward compatible.

We could even think about dropping the old style "Extension" including its class. I have no clue why it was added as such since schema 1.0 required it only after optional elements. With schema 1.1 that restriction is gone.

@johado johado force-pushed the doorcontrol/fix-2727-multiple_xsany branch from 4b80d11 to 735d316 Compare April 26, 2021 10:10
@johado
Copy link
Contributor Author
johado commented Apr 26, 2021

Added xs:any and also updated the commit message.

When Door extends DoorInfo it got the extensions in the "middle" of the
type which gsoap doesn't like causing occurance violation errors.
Instead extend DoorInfoBase and add the Capabilities element first
to Door type.

This solves https://wush.net/trac/onvif/ticket/2727

Change-Id: Ibb95984a41dfed35fa5cdd6ade5fbb9c45745be0
@johado johado force-pushed the doorcontrol/fix-2727-multiple_xsany branch from 735d316 to 639860b Compare May 7, 2021 12:36
@johado
Copy link
Contributor Author
johado commented May 7, 2021

Removed the added xs:any

@HansBusch HansBusch merged commit 1385991 into onvif:21.06 May 25, 2021
HansBusch added a commit that referenced this pull request Jun 23, 2021
* Update Analytics.xml

Change 'shall' to 'should' in partial config updates requirement

* Align message source definition with Annex A update. Insert reference to avoid that the items are defined by examples.

* Clarify class likelihood. (#78)

* Clarify class likelihood.

* Range is [0..1].
* Remove requirement that sum shall be <= 1.
* Update example.

Change-Id: Ie0574ad87e2d6924c5c335e5b18ba20fb8026a6b

* Typo

Change-Id: I1adb70934a52a318db3772ee0d9af4648f16ce89

* Use enumerations for AudioClassType restriction values (#75)

Closes #72

* Add capability to signal no support for discovery. (#74)

* added CertPathValidationPolicyID to EventBrokerConfig (#76)

* added CertPathValidationPolicyID to EventBrokerConfig

* Annex D: updated to include analytics module and rule based on generic description language (#79)

* added common requirement for field parameter for region based detector rules (#81)

Co-authored-by: Sriram Bhetanabottla <sriramb@axis.com>

* Update counting rule based on new rule structure (#53)

* Split the counter into line crossing and occupancy counter.
* Clarify reset time as local time.
* Remove Direction from example to align OccupancyCounter example with specification.

* Move sigC definition to 5.4 since it may apply to any signing not onl… (#83)

* Move sigC definition to 5.4 since it may apply to any signing not only repeated.
Refactor layout since structure got lost in docbook format.

* Remove outdated explanation related to obsolete version zero using UUID references. (#84)

* Core/attr list (#87)

* Align simple item list types with elements for float and int.
Reuse onvif.xsd list types instead of redefining.

* Remove accidentally added file devicemgmt.xml.

* Core/app mgmt links (#82)

* Add two optional links for app configuration.

* Add error code for version mismatch.

* Clarify that the URI refers to the interface definition not the interface itself. Improve requirements.

* Improve section on timeout and keep-alive handling. (#88)

* Add reference to RTSP 2.0.
Improve section on timeout and keep-alive handling.
Improve chapter structure of the RTSP section.

* Related to #88: remove deprecated method SetTimeout also from chart.

* Replace text with xref in links to 5.2.3 section (#89)

Some places with links to 5.2.3 section in Analytic service spec are designed as a text instead of <xref linkend="_Ref9001629" />.

* Fix maxOccurrs to maxOccurs typo (#93)

Occurrence section has typo: maxOccurrs (double 'r')

* Fix order of parameter items in tt:LineCounting (#92)

Description of tt:LineCounting has invalid order of items inside Parameters.
ElementItemDescription shall follow after all SimpleItemDescription according to xml schema of ItemListDescription type.

* Fix incorrect xml, Class can only exist once per object (#99)

* Analytics/coordinate system (#94)

Replace Default by Normalized to align naming of standard coordinate system.
Related to ticket ext-2186.

* Add combined type bike. (#95)

* Update introduction section to GetEventProperties.  (#97)

Update introduction section to GetEventProperties.

* Fix ABNF missing example changes and improve readability by splitting long construct.  (#98)

* Fix ABNF missing example changes.

* Improve readability by splitting long construct.

* Change ABNF code to programlisting.

* Replace curved double quotes in ABNF by simple double quotes.

* Align example output with analytics spec.

* Remove superfluous curly bracket in JSON example

Co-authored-by: Fredrik Svensson <fredriks@axis.com>

* Sync credential.wsdl to 21.06 branch (#102)

This appears to have been lost in transition to github and should have been in 20.12.

* coordinates system clarification to media2 (#107)

* Add PasswordPolicySupported capability (#105)

* Add PasswordPolicySupported capability

* capabilities as stringlist

* Add flow.svg to new Use case examples appendix (annex) (#96)

flow.svg is based on source/flow.uml using http://www.plantuml.com

Change-Id: Id42e61714ebc6ead2a69a93b716237701175213c

Co-authored-by: Johan Adolfsson <johana@axis.com>

* doorcontrol.wsdl: Workaround for xs:any not last in Door (#100)

When Door extends DoorInfo it got the extensions in the "middle" of the
type which gsoap doesn't like causing occurance violation errors.
Instead extend DoorInfoBase and add the Capabilities element first
to Door type.

This solves https://wush.net/trac/onvif/ticket/2727

Change-Id: Ibb95984a41dfed35fa5cdd6ade5fbb9c45745be0

Co-authored-by: Johan Adolfsson <johana@axis.com>

* Fix typo in xml example

* Remove hidden annotation with wrong restriction (related to ext-2179) (#110)

* Remove hidden annotation with wrong restriction (related to ext-2179)

* Fix typo related to change.

* Change example coordinates to normative (related to ext-2214) (#109)

* Update revision information.

* Update revision information.

* Update version information.

* Update version information.

* Update version information.

* Update version information.

* Update version information.

* Update version information.

* Update version information.

* Update version information.

* Update replay.wsdl

* Update version information.

* Update version information.

* Apply review findings:
1. short title "AppMgmtSrv" vs "App Mgmt. Service". Other specs omit service. Should be corrected to "App Mgmt."
2. Missing line breaks in 6.2.1 after http codes
3. Missing explanation alignment of list in section 6.3.1
4. GetCapabilities response has wrong namespace timg (both old & new)
5. Figure 1 a bit too large and not centered because wrong dimensions (pixel instead of mm).
Fixed media directory name

* Review feedback: replace orderedlist because not supported by stylesheets.

* Correction of typos from specification review.

* Improve formatting based on review feedback.

* Move new item CertPathValidationPolicyID to extension point to avoid breaking change. (#117)

Co-authored-by: OksanaTyushkina <76164127+OksanaTyushkina@users.noreply.github.com>
Co-authored-by: Fredrik Svensson <fredriks@axis.com>
Co-authored-by: Matthew Brush <mbrush@codebrainz.ca>
Co-authored-by: Davide Cristanelli <davide.cristanelli@videotec.com>
Co-authored-by: sujith raman <67031640+sujithhanwha@users.noreply.github.com>
Co-authored-by: Sriram Bhetanabottla <1432443+bsriramprasad@users.noreply.github.com>
Co-authored-by: Sriram Bhetanabottla <sriramb@axis.com>
Co-authored-by: johado <papputten@gmail.com>
Co-authored-by: Johan Adolfsson <johana@axis.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
0