Java SAAJ基本身份验证
我有一个基本的SOAP服务端点,实际上是SAP ECC,它提供了一个服务。我已经使用SOAPUI4.5测试了该服务,并且它使用HTTP身份验证正常工作,从外观上看是抢先的。我看到一个出站“Authorization:basicbase64”,服务会做出相应的响应 我现在正试图将其应用到Java中。我想我会采取SAAJ方法,包括:Java SAAJ基本身份验证,java,web-services,authentication,soap,saaj,Java,Web Services,Authentication,Soap,Saaj,我有一个基本的SOAP服务端点,实际上是SAP ECC,它提供了一个服务。我已经使用SOAPUI4.5测试了该服务,并且它使用HTTP身份验证正常工作,从外观上看是抢先的。我看到一个出站“Authorization:basicbase64”,服务会做出相应的响应 我现在正试图将其应用到Java中。我想我会采取SAAJ方法,包括: SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
SOAPConnection soapConnection = soapConnectionFactory.createConnection();
String url = "http://SAPSERVER:8006/sap/bc/srt/rfc/sap/z_lookup_generic_prototype/300/z_user/z_user_binding";
SOAPMessage message = messageFactory.createMessage();
SOAPMessage response = connection.call(message, url);
但是我找不到一种方法来添加HTTP身份验证。我相信SAAJ提供了控制SOAP消息的方法,但是如何在其中添加身份验证呢?是否有值得考虑的替代方案?本页:
SOAPMessage message = ...
String authorization = new sun.misc.BASE64Encoder().encode((username+":"+password).getBytes());
MimeHeaders hd = message.getMimeHeaders();
hd.addHeader("Authorization", "Basic " + authorization);