[英]Consume SOAP API from WSO2 ECLIPSE Developer Studio
我需要使用兩個SOAP API的解決方案。
首先,我有一個wsdl網址,一旦在計算機上安裝了證書,該網址就可以工作,我只是想問在創建流程時是否需要在Developer Studio上進行任何類型的配置。
其次,我需要在wso2開發人員工作室中進行一個流程,該流程將調用SOAP WSDL URL並給出響應,但是問題是wsdl包含安全策略用戶名令牌ws-security配置,任何專家都告訴我該流程。
兩種方案都可以在SOAP UI工具中使用。 我是wso2的新手,任何人都可以在這方面幫助我?
提前致謝!
對於第一個問題,答案是否定的。 服務器的證書僅應存儲在客戶端。 調用啟用了TLS / SSL的URL時,服務器的證書應存儲在客戶端的信任庫中。 如果您的客戶端是WSO2服務器,則應將該證書導入WSO2服務器的client-truststore.jks 。 那是特定於部署的。 在Developer Studio中開發工件期間,無需執行任何操作。
(1)開發工作室無法完成任何工作。 您需要將后端的證書導入到WSO2服務器的信任存儲中。
(2)您可以創建代理服務並調用受保護的后端。 由於您的后端受UT策略保護,因此您在調用時必須構造一個用戶名令牌。 我們可以使用類調解器來構造和設置用戶名令牌。
可以在以下位置找到更多詳細信息: http : //xacmlinfo.org/2014/03/25/how-to-esb-invoking-username-token-secured-backend-service/
以下是類調解器的簡化版本。
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");
}
}
}
接下來是調用安全后端的示例代理。
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="sec2"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<class name="org.soasecurity.wssecurity.ut.mediator.UTTokenBuilder"/>
<call>
<endpoint>
<address uri="https://localhost:8243/services/secTestProxy">
<enableSec policy="conf:/UTPolicy.xml"/>
</address>
</endpoint>
</call>
<respond/>
</inSequence>
</target>
<description/>
</proxy>
請注意,為簡單起見,我使用了一個地址端點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.