如何从需要 HTTP 身份验证才能访问的 WSDL 创建代理服务?

How to Create Proxy Service from WSDL That Requires HTTP Authentication to Access?

我正在尝试基于另一台机器上托管的 WSDL 创建代理服务。在连接到该机器以在我的浏览器中显示 WSDL 时,系统提示我提供用户名和密码。 WSO2 ESB 中的代理配置不允许我提供任何身份验证详细信息,因此基于此 WSDL 生成服务失败。

是否有任何方法允许 WSO2 ESB 默认验证对该服务器的请求,以便它可以检索 WSDL?

您可以简单地下载 wsdl 并在创建代理时从文件系统或注册表添加它。你可以找到一个 few options here.

如果后端服务是安全的,则可以将在 ESB 收到的身份验证 headers 传递到后端或发送一些存储的凭据。

@Rajeev 但是否也可以在 URI 中发送 username:password?因为这似乎行不通。例如:https://username:password@host:5443/Service/Service?wsdl SoapUI 可以执行此操作但 publishWSDL 不接受此结构。

这种内联规范适用于简单的服务,但对于依赖大量模式定义的服务来说有点痛苦。因为您还需要下载并映射它们。

所以您实际上希望能够将用户名和密码传递给托管 WSDL 的网络服务器。