我创建了一个在JDeveloper 11.1.1.4中使用基本身份验证的Web服务。
当我使用客户端应用程序测试我的应用程序时运行正常,所以我知道身份验证机制没有问题。
如何通过右键单击Webservices并选择Test Web Service
将身份验证信息传递到HTTP Analyzer?
我尝试通过SOAP Headers > :WS-Security:Header
传递凭据,如下所示,但无效
我还尝试通过Credentials
选项传递身份验证,如下所示
在这两种情况下,我都会收到此错误500 HTTP Analyzer Server Error The server sent HTTP status code 401: Unauthorized: .....
我怎样才能解决这个问题? 感谢
更新
我还尝试将Authentication
选项传递给Request HTTP Headers
,但收到错误消息:
错误403 - 禁止 来自RFC 2068超文本传输协议 - HTTP / 1.1: 10.4.4 403禁止 服务器理解请求,但拒绝履行请求。授权无效,请求不应重复。如果请求方法不是HEAD并且服务器希望公开为什么请求没有得到满足,那么它应该描述实体中拒绝的原因。当服务器不希望明确拒绝请求的原因,或者没有其他响应适用时,通常会使用此状态代码。
答案 0 :(得分:1)
如果您使用的是基本身份验证,则只需设置请求标头Authorization
即可。此标头的值:前缀Basic
,一个空格,带有usrname:password的Base64编码字符串,因此Aladin:sesam open
的标头应如下所示:Basic QWxhZGluOnNlc2FtIG9wZW4=
。
在屏幕截图中,我会看到Request HTTP headers
部分,向其添加Authorization
标题。
答案 1 :(得分:1)
我知道这是一个旧帖子,但这可能会使遇到此问题的人受益。
我正在使用Jdeveloper 11.1.2
。我已经使用基本身份验证保护了JAX-RPC Web服务(通过公开PL / SQL poackage创建)。 我使用向导附加了安全策略:" Auth.xml" 。
我能够使用HTTP Analyzer进行测试。 我刚刚在SOAP Headers中传递了用户凭据,如下所示,它对我来说很好。(我也传递了无效的信用证,没有信任,看看安全是否按预期工作。)
希望这有帮助!!!