所以我遇到了一个问题,我正在努力解决。也许一些 Flex 专家可以提供帮助?
我有一个 WebService 实例,它试图从我们的 JBoss 应用服务器加载 WSDL 文件。如果我这样做:
webService = new WebService();
webService.destination = WebService.DEFAULT_DESTINATION_HTTP;
webService.wsdl = "http://<removed>/services/ApiService?wsdl";
webService.loadWSDL();
一切正常。 WSDL 已成功加载,应用程序可以针对 Web 服务调用方法。
问题是当我需要添加一些 HTTP 身份验证时:
webService.setCredentials(userName, password);
此行最终会抛出一个错误,指出凭据仅在 HTTPS 上受支持。好吧,我还是想使用安全的 HTTPS!
然后我试着把它改成这样......
webService = new WebService();
webService.destination = WebService.DEFAULT_DESTINATION_HTTPS;
webService.wsdl = "https://<removed>/services/ApiService?wsdl";
webService.setCredentials(userName, password);
webService.loadWSDL();
现在 WebService 实例无法加载 WSDL。收到的错误是:
[FaultEvent fault=[RPC Fault faultString="HTTP request error" faultCode="Server.Error.Request" faultDetail="Unable to load WSDL. If currently online, please verify the URI and/or format of the WSDL (https://<removed>/services/ApiService?wsdl)"] messageId="6905CC5B-5317-C4B3-2D12-84647EE648A7" type="fault" bubbles=false cancelable=true eventPhase=2]
我可以在浏览器中很好地访问这个 URI,它会按预期返回 WSDL。
我不是 Flex 人(学习),而是 Java 开发人员。我正在尝试将 Flex 作为我们系统的潜在客户,但这让我今天感到非常悲伤。 Google 似乎没有给我任何快速答案,我有点难过。
关于 StackOverflow 的第一个问题,希望这能在某个地方有所帮助,并帮助其他一些周五晚上在办公室熬夜的可怜的 Java 开发人员:-)
最佳答案
This似乎与你的问题有关。我们计划在未来使用 https,所以我很想知道您的问题的解决方案。
关于apache-flex - Webservice.wsdl 和凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1616759/