xml - BizTalk and SalesForce integration: the query or retrieve function returns unknown type -
i'm integration legacy on premise biztalk server sfdc (salesforce crm on demand). i'm using biztalk 2009 wcf custom ports. have imported enterprise wsdl , used create accounts in sfdc. problem occurs when seek utilize retrieve (or query) function user details, working nicely except when seek "use" response message.
request:
<ns0:retrieve xmlns:ns1="urn:sobject.enterprise.soap.sforce.com" xmlns:ns0="urn:enterprise.soap.sforce.com"> <ns0:fieldlist>name, email</ns0:fieldlist> <ns0:sobjecttype>user</ns0:sobjecttype> <ns0:ids>005900000023xmcaaa</ns0:ids> </ns0:retrieve> receive pipeline standard xmlreceive.
response message:
<retrieveresponse xmlns="urn:enterprise.soap.sforce.com"> <result xsi:type="sf:user" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <sf:id xmlns:sf="urn:sobject.enterprise.soap.sforce.com">005900000023xmcaaa</sf:id> <sf:email xmlns:sf="urn:sobject.enterprise.soap.sforce.com">jredwood@charteredaccountants.com.au</sf:email> <sf:name xmlns:sf="urn:sobject.enterprise.soap.sforce.com">julian redwood</sf:name> </result> </retrieveresponse> error details:"unable read stream produced pipeline. details: value 'sf:user' invalid according schema type 'http://www.w3.org/2001/xmlschema:qname' - 'sf' undeclared namespace. ".
yes, response rather messed up.
it declares default name space @ root xmlns="urn:enterprise.soap.sforce.com" doesn't declare sf namespace prefix @ root e.g. (xmlns:sf="urn:sobject.enterprise.soap.sforce.com"). , user has xsi:type="sf:user" doesn't have sf prefix defined result node.
either needs declare either in root or @ result node level.
option 1) if esb toolkit seek , utilize esb add together namespace pipeline component , add together namspaceprefix = sf , namspacebase = urn:enterprise.soap.sforce.com
option 2) raise in issue salesforce not valid.
or both.
xml salesforce biztalk biztalk-2009
No comments:
Post a Comment