所以我有一个问题正在努力解决。也许一些 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 故障 =[RPC 故障故障字符串 =“HTTP 请求错误”faultCode =“Server.Error.Request”faultDetail =“无法加载 WSDL。如果当前在线,请验证 WSDL 的 URI 和/或格式(https:///services/ApiService?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 作为我们系统的潜在客户端,但这今天给我带来了各种悲伤。谷歌似乎没有给我任何快速的答案,我有点困惑。
关于 StackOverflow 的第一个问题,希望这能有所帮助,并帮助其他一些周五晚上在办公室熬夜的可怜的 Java 开发人员:-)