Я пытаюсь подключиться к службе развертывания MS CRM из плагина CRM (т.е. у меня нет возможности использовать конфигурационный файл app.config
).
Проблема заключается в том, что заменить "магия конфигурации" исходным кодом очень сложно.
Пока я использую следующий файл конфигурации (локально тестируемое в консольном приложении):
<client>
<endpoint address="http://server/XRMDeployment/2011/Deployment.svc"
binding="customBinding" bindingConfiguration="CustomBinding_IDeploymentService"
contract="DeploymentService.IDeploymentService" name="CustomBinding_IDeploymentService">
<identity>
<userPrincipalName value="DOMAIN\DYNAMICS_CRM" />
</identity>
</endpoint>
...
</client>
Все в порядке, но когда я пытаюсь заменить конфигурацию кодом, я столкнулся со следующим. В результате сообщения SOAP вместо ожидаемого заголовка:
<a:Action s:mustUnderstand="1" u:Id="_4">http://schemas.microsoft.com/xrm/2011/Contracts/Services/IDeploymentService/Retrieve</a:Action>
Я вижу что-то странное:
<a:Action s:mustUnderstand="1" u:Id="_4">http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT</a:Action>
Кто-нибудь знает, как я могу переопределить заголовок Action, и какой оператор в конфигурации превращает волшебство WCF, чтобы все работало?