Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SAAJ基本身份验证_Java_Web Services_Authentication_Soap_Saaj - Fatal编程技术网

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();

我有一个基本的SOAP服务端点,实际上是SAP ECC,它提供了一个服务。我已经使用SOAPUI4.5测试了该服务,并且它使用HTTP身份验证正常工作,从外观上看是抢先的。我看到一个出站“Authorization:basicbase64”,服务会做出相应的响应

我现在正试图将其应用到Java中。我想我会采取SAAJ方法,包括:

 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);