所以我有一个我正在努力解决的问题。也许一些 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="无法加载 WSDL。如果当前在线,请验证 URI 和/或 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 开发人员:-)