我有一个要求,需要将Salesforce中的帐户和联系信息传递给Mule Soft。 它需要通过SOAP(WSDL文件)来完成。
如何从Mulesoft获取WSDL文件?任何人都这样做是salesforce? 请指导我如何做到这一点?
答案 0 :(得分:0)
使用Mule Anypoint Studio,您可以使用Salesforce Connector和Salesforce流元素,该元素将从Salesforce获取联系信息。 Mule中的Salesforce Connector使用Salesforce的SOAP接口。
在你的骡子流中你可以简单地使用
<sfdc:query config-ref="SalesforceConfig" query="dsql:SELECT * FROM Contact" doc:name="Salesforce"/>
上面的代码将返回一个流对象。在这一点上做的最好的事情之一就是实现一个Java转换器,然后将结果放到你想要的任何地方。
<custom-transformer class="org.stackoverflow.transformers.QueryResultsToWhatever" doc:name="Java"/>
然后该类将用java编写:
public class QueryResultsToWhatever extends AbstractMessageTransformer {
public Object transformMessage(MuleMessage message, String outputEncoding)
throws TransformerException {
// get the Streaming list of maps that is the payload
org.mule.streaming.ConsumerIterator<Map<Object, Object>> CI = message
.getPayload(org.mule.streaming.ConsumerIterator.class);
if (CI.hasNext()) {
Object _obj = CI.next();
//Each Iterator represents a row returned from the query
if (_obj instanceof Map) {
Map<Object, Object> sfmap = (Map<Object, Object>) _obj;
// cast it
// Now you have a Map to access each field inside each row
由于这是Salesforce连接器的一个非常简单的用例,https://developer.mulesoft.com/docs/display/current/Salesforce+Connector上的教程可用 可以大大帮助。