使用WSO2 ECLIPSE Developer Studio的SOAP API

时间:2018-09-15 10:21:01

标签: wso2 wso2esb wso2carbon wso2developerstudio

我需要使用两个SOAP API的解决方案。

首先,我有一个wsdl网址,一旦在计算机上安装了证书,该网址就可以工作,我只是想问在创建流程时是否需要在Developer Studio上进行任何类型的配置。

第二,我需要在wso2开发人员工作室中进行一个流程,该流程将调用SOAP WSDL URL并给出响应,但是问题是wsdl包含安全策略用户名令牌ws-security配置,任何专家都告诉我该流程。

这两种方案都可以在SOAP UI工具中使用。我是wso2的新手,任何人都可以在这方面帮助我?

谢谢!

2 个答案:

答案 0 :(得分:0)

对于第一个问题,答案是否定的。服务器的证书仅应存储在客户端。调用启用了TLS / SSL的URL时,服务器的证书应存储在客户端的信任库中。如果您的客户端是WSO2服务器,则该证书应导入到WSO2服务器的 client-truststore.jks 中。那是特定于部署的。在Developer Studio中开发工件期间,无需执行任何操作。

答案 1 :(得分:0)

(1)开发工作室无法完成任何工作。您需要将后端的证书导入到WSO2服务器的信任存储中。

(2)您可以创建代理服务并调用受保护的后端。由于您的后端受UT策略保护,因此您在调用时必须构造一个用户名令牌。我们可以使用类介体来构造和设置用户名令牌。

更多详细信息,请访问:http://xacmlinfo.org/2014/03/25/how-to-esb-invoking-username-token-secured-backend-service/

以下是类调解器的简化版本。

g++ main.cpp -fsanitize=undefined -lstdc++ -lubsan

以下是调用受保护后端的示例代理。

public class UTTokenBuilder extends AbstractMediator{
    @Override
    public boolean mediate(MessageContext messageContext) {
        try {
            org.apache.axis2.context.MessageContext context = ((Axis2MessageContext) messageContext)
                    .getAxis2MessageContext();
            context.getOptions().setUserName("admin");
            context.getOptions().setPassword("admin");
            return true;
        } catch (SynapseException e) {
            throw e;
        } catch (Exception e) {
            throw new SynapseException("Error while building UT Token");
        }
    }
}

请注意,为简单起见,我使用了地址端点。