I am trying to convert the ONVIF WSDL files from https://www.onvif.org/profiles/specifications/ to C++.
But I keep getting similar errors about certain data types missing. For example, doing the following command:
wsdl /language:CPP /protocol:SOAP12 media.wsdl
I get the following error:
Error: Unable to import binding 'MediaBinding' from namespace 'http://www.onvif.org/ver10/media/wsdl'.
- Unable to import operation 'GetVideoSources'.
- The datatype 'http://www.onvif.org/ver10/schema:VideoSource' is missing.
And if I try doing with a URL like so:
wsdl /language:CPP /protocol:SOAP12 https://www.onvif.org/ver10/media/wsdl/media.wsdl
I get the following error:
Error: There was an error processing 'https://www.onvif.org/ver10/media/wsdl/media.wsdl'.
- There was an error downloading 'https://www.onvif.org/ver10/media/wsdl/media.wsdl'.
- The request was aborted: Could not create SSL/TLS secure channel.
This is using Visual Studio 2015.
I am not using gSOAP because this may be used commercially.
Answered here: https://github.com/onvif/specs/discussions/249
When using a URL, "http" must be used.
The schema validation errors are known and has to do with the Microsoft XML parser being being 1.0 where ONVIF is using 1.1.
Related
I've compiled an application written using the Qt (5.15.2, C++) framework on a MacBook Pro (2019) and I have a certificate provided by my boss to authenticate the app. This is what I'm running to certify the app:
macdeployqt appName.app -codesign="Developer ID Application: company" -dmg -always-overwrite
This function call is not certifying the application and it is throwing error which from my research online doesn't seem to be well documented.
First, I get the non-fatal error:
/Library/Developer/CommandLineTools/usr/bin/install_name_tool: fatal error: string table not at the end of the file (can't be processed) in file: ...
Where ... is the path of a .dylib included in the appName.app bundle. This error is iterated for all .dylib files in the app bundle. I have checked and the files are present in the directories. Why is this happening? I can view the files because they are binaries so I have no idea what they're doing inside.
Macdeployqt then continues and reports:
ERROR: "error: The specified item could not be found in the keychain.\n"
I'm thinking that I might be specifying the wrong name for the certificate (I'm not an app developer at all and the company is joking themselves if they think I know that I'm doing!)?
I have two questions.
Why am I getting string table errors in dylib files?
Why am I getting codesign errors? If I'm getting the codesign developer id name wrong, what part of the certificate information in key chain am I looking at?
I am currently added a whole Objective-C project into Swift project. When I run only Objective-C project independently it works just fine, but when I call the Objective-C project from the swift I am getting this error.
[error] curl_easy_perform fail: URL using bad/illegal format or missing URL
I don't have the access to the internal code of the framework.
Because of this I am unable to get any data from the API as I don't have the direct access to the API.
And I am also having error "vector file not found" when I want to call a framework header from the swift
While building an Angular 6 app i get a compile error in #angular/core/src/render3/interfaces on line 35. The line is:
[ACTIVE_INDEX]: number | null;
and the error is:
error TS1169: A computed property name in an interface must directly refer to a built-in symbol.
I an using #angular/core#6.1.6. Am I doing something wrong or is this an Angular bug?
Verify that Visual Studio is targeting the correct version of Typescript (as seen in your package.json), then try deleting your node_modules folder, and rerunning npm install.
I believe that this is caused by running Angular 6 with an earlier, incompatible version of typescript (<2.7), because it looks like the ability used by the container.d.ts file (referenced in your error) to use Constant-Named Properties was added in Typescript 2.7. Of course, if it were that simple then ng serve would tell you about the Typescript incompatibility, so I assume that I'm either wrong, or that your environment is playing tricks on you.
See here for a related question.
Using ASP.NET / Visual Studio 2005 / 2012:
I have a .wsdl file from service provider, which I need to test.
I ran wsdl.exe myfile.wsdl from Vs command promopt but I get this error:
Error: Unable to import binding 'CustomBinding_IWSTrustFeb2005Async' from namespace 'http://schemas.microsoft.com/ws/2008/06/identity/securitytokenservice'.
- Unable to import operation 'TrustFeb2005IssueAsync'.
- The element 'http://schemas.xmlsoap.org/ws/2005/02/trust:RequestSecurityToken' is missing.
I also tried to Add Web Reference from VS 2005 and VS 2012 but that is also throwing weird error.
- The WSDL document contains links that could not be resolved.
- There was an error downloading 'file:///C:/Users/abcd12/Documents/Visual Studio 2005/MyWebserviceTest/mex.xsd'.
Any idea what's wrong or where should I start looking into?
Update: The Visual Studio error adding reference is gone once I removed the entry to type import referencing mex.xsd.
But now VS is also giving the same error as command prompt.
Update: Looks like the wsdl is corrupted. Waiting from the provider to give me updated wsdl.
I will update here if I need any further help.
Some .xsd files imported in the wsdl weren't provided to me. Once I got those files, all went fine.
I'm trying to consume a webservice in java, using a client generated from the wsdl file with wsdl2java.
I'm using Eclipse version Helios and jdk 1.6.0_20, and I've generated the .class files using wsld2java with the options:
"-d c:\WebServices\Generated -client -verbose -compile -autoNameResolution -p org.dwservice -sn DWService -wsdlLocation /WEB-INF/wsdl/DWService.wsdl c:\WebServices\DWService.wsdl"
I packed the resultant files into a .jar and added it to my project that compiles ok.
But when I try to use the webservice, I got the exception:
javax.xml.ws.WebServiceException: Port {http://tempuri.org/}WSHttpBinding_IDWService not found.
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:311)
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:302)
at javax.xml.ws.Service.getPort(Service.java:92)
at org.dwservice.DWService.getWSHttpBindingIDWService(DWService.java:63)
And this is my code:
import org.dwservice.*;
...
private DWService dwService = new DWService();
private IDWService iDWService = ***dwService.getWSHttpBindingIDWService()***;
Any idea would be very much appreciated.
I know this post is over a year old, but it's a highly ranked search result for this error. I'm adding this answer for posterity.
Your wsdl2java command suggests your WSDL is local and you're packaging it into a web app. I suspect the app isn't finding the packaged WSDL at runtime. One option is to load it as a Java resource and pass its location into your service's constructor:
QName qname = new QName("my.name.space", "myName");
URL wsdlLocation = MyServiceClient.class.getResource("/WEB-INF/wsdl/DWService.wsdl");
dwService = new DWService(wsdlLocation, qname);
If you use this approach, triple-check the path to your WSDL. It's easy for getResource() to silently fail, which will produce the same error.