Java,使用用户名和密码访问安全的 WSO2 网络服务

Java, access secure WSO2 web service with Username and Password

我有一个 Maven 项目,并且已成功连接到使用 WSO2 创建的不安全 Web 服务。启用安全性后,如何通过凭据(即用户名和密码)连接到服务?

首先,我可以通过在 Java 代码本身中引入用户名和密码来快速完成吗?

我是否必须像我在几篇文章中看到的那样生成证书,或者是否有任何其他方法可以完成此操作?

我的 pom.xml 有以下条目

<execution>
    <id>getTestService</id>
    <goals>
        <goal>wsdl2code</goal>
    </goals>
    <configuration>
        <unpackClasses>true</unpackClasses>
        <databindingName>xmlbeans</databindingName>
        <packageName>com.test.esb</packageName>
        <wsdlFile>http://test:8080/services/getTestService?wsdl</wsdlFile>
        <syncMode>sync</syncMode>
    </configuration>
</execution>

在我的 Java class 中,我使用以下代码调用该服务。

final TestServiceStub testStub = new TestServiceStub();
final TestServiceDocument testDoc = 
    TestServiceDocument.Factory.newInstance();

final TestService testReq = TestService.Factory.newInstance();

...

testDoc.setTestService(testReq);
testStub.TestService(testDoc);

不确定这是否涵盖您的情况,但是 this 博客 post 详细说明了如何访问 Java 中的用户名令牌安全服务。您需要在信任库中拥有服务器证书,并且需要向存根提供用户名和密码。