具有身份验证的Java ServiceNow SOAP Web服务客户端

具有身份验证的Java ServiceNow SOAP Web服务客户端,java,web-services,soap,http-headers,servicenow,Java,Web Services,Soap,Http Headers,Servicenow,我创建了一个简单的SwingWeb服务客户端,用于从ServiceNow()dev服务调用示例SOAPWeb服务。它调用正确,但给了我“服务器发送的HTTP状态代码401:Unauthorized”错误。但是,我们已经在SoapUI中进行了尝试,在将身份验证详细信息添加到请求属性时,它工作正常 已经尝试在代码中执行相同的操作,但仍然得到401错误 注意:在SOAPUIWS调用程序日志中,它显示最初它得到401错误,第二次尝试得到正确的响应 代码片段 ServiceNowIncid

我创建了一个简单的SwingWeb服务客户端,用于从ServiceNow()dev服务调用示例SOAPWeb服务。它调用正确,但给了我“服务器发送的HTTP状态代码401:Unauthorized”错误。但是,我们已经在SoapUI中进行了尝试,在将身份验证详细信息添加到请求属性时,它工作正常

已经尝试在代码中执行相同的操作,但仍然得到401错误

注意:在SOAPUIWS调用程序日志中,它显示最初它得到401错误,第二次尝试得到正确的响应

代码片段

        ServiceNowIncident service = new ServiceNowIncident();
        ServiceNowSoap snSoap = service.getPort(ServiceNowSoap.class);

        Map<String, Object> req_ctx = ((BindingProvider) snSoap).getRequestContext();
        req_ctx.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, WEBSERVICE_URL);

        req_ctx.put(BindingProvider.USERNAME_PROPERTY, "user_name");
        req_ctx.put(BindingProvider.PASSWORD_PROPERTY, "password");
ServiceNowIncident服务=新ServiceNowIncident();
ServiceNowSoap snSoap=service.getPort(ServiceNowSoap.class);
Map req_ctx=((BindingProvider)snSoap).getRequestContext();
req_ctx.put(BindingProvider.ENDPOINT_ADDRESS_属性,WEBSERVICE_URL);
req_ctx.put(BindingProvider.USERNAME_属性,“用户名”);
req_ctx.put(BindingProvider.PASSWORD_属性,“PASSWORD”);
SoapUI请求属性

SoapUI日志