我在Glassfish上创建了一个JAX-WS Web服务,需要基本的HTTP身份验证。
现在我想为该Web服务创建一个独立的Java应用程序客户端,但我不知道如何传递用户名和密码。
它可以使用Eclipse的Web服务浏览器,并且通过检查wire(数据流)我发现了以下内容:
POST /SnaProvisioning/SnaProvisioningV1_0 HTTP/1.1
Host: localhost:8080
Content-Type: text/xml; charset=utf-8
Content-Length: 311
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: IBM Web Services Explorer
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Authorization: Basic Z2VybWFuOmdlcm1hbg==
Connection: close
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://ngin.ericsson.com/sna/types/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<q0:listServiceScripts/>
</soapenv:Body>
</soapenv:Envelope>
如何使用Java代码在“Authorization”头部传递用户名和密码?它是否进行了哈希处理或类似的操作?算法是什么?
没有涉及安全性的情况下,我有一个可工作的独立Java客户端:
SnaProvisioning myPort = new SnaProvisioning_Service().getSnaProvisioningV10Port();
myPort.listServiceScripts();
BindingProvider
添加此依赖项: <!-- https://mvnrepository.com/artifact/javax.xml/webservices-api --> <dependency> <groupId>javax.xml</groupId> <artifactId>webservices-api</artifactId> <version>1.5</version> </dependency> - boly38