Closed zebity closed 4 months ago
+1
facing the same error
Most probable cause for the failure is that the device doesn't include the namespace definition for prefix 'ter'. Some parser need it to correctly map QNames. Would be helpful to see the fault xml instance diagram.
HI @HansBusch ,
could I clarify what you are saying please.
When you say "the device doesn't include the namespace definition for prefix 'ter'", are you indicating the the Service Endpoint Interface (SEI) should:
This would then mean that responsibility for creation of "ter" namespace would then be via the device and not via the published specification.
I can see this would be a way of ensuring that the onvif specification is locked at a per device level, but this would make communications much more complex for the onvif client.
Also could you clarify what you mean by the "fault xml instance diagram".
My understanding is that the potential SOAP faults returned (and hence QNAMEs) are as per "ONVIF ONVIF Core Specification" section "5.8.2.2 Generic faults".
Thank you for review.
Please provide the xml response document to see whether it contains the namespace definition for prefix ter.
Close as inactive for more than a month
Issue
I have found when you get authentication failure when using camera with ws-security (ws-usernameToken) rather than http/ DIGEST the resulting "ter:NotAuthorized" return in the SOAP:Fault payload is undefined, and so results in invalid QName in generated CXF java code:
Diagnosis
I believe this is because the "ter" namesspace ONVIF Core - http://www.onvif.org/ver10/error , points to non-existent schema file.
I believe this should have definition of set of valid error such as "NotAuthorized" to avoid the invalid QName exception which will then allow catch of the correct Java SOAPFaultException (currently this doe not get back the valid QName listl
See this Java code snippet from: https://github.com/zebity/onvif-relay/blob/main/onvif-cxf-relay/src/main/java/onvif_relay/relay/invokers/CheckClockSyncAndAccess.java
Resolution
The solution is to reinstate "http://www.onvif.org/ver10/error" content in the source tree with correct QName definitions.
Could people better versed in SOAP/ONVIF please provide feedback.