向 MockWebServiceClient 添加基本的 http 身份验证

Add basic http authentication to MockWebServiceClient

我有一些旧的测试正在调用一些网络服务。之前网络服务没有安全性。现在已经添加了基本的 http 身份验证,因此测试失败了。测试正在使用 org.springframework.ws.test.server.MockWebServiceClient

测试示例:

@Autowired
MockWebServiceClient mockClient

def "import valid entity"() {

    setup:
    def request = loadEntitesToRequest(validEntityFile)
    Source requestPayload = createStringSourceFromObject(request)

    when: 'Endpoint is requested to import valid entity'
    mockClient.sendRequest(withPayload(requestPayload)).andExpect(new ResponseMatcher() {
        void match(WebServiceMessage req, WebServiceMessage resp) {
            EntityImportResponse response = marshaller.unmarshal(resp.payloadSource)
            assert response.errorMessage.isEmpty()
            assert response.isSuccess()
        }
    })

    then: 'Entity is successfully imported'
    noExceptionThrown()
}

有什么方法可以为这个客户端添加基本的 http 身份验证吗?我知道如何将它添加到 WebServiceTemplate 但为此我还没有找到任何方法。

好吧,这个问题其实是一个不好的问题,MockWebserviceClient根本不处理http,你需要在这个客户端之外的http请求中设置你需要的东西