Question Status

Suggested Answer
Karl Andenmatten asked a question on 14 Jun 2013 9:32 AM

Hi together,

i have a very strange problem with the crm access from a webservice which is deployed on IIS (ASP.Net Classic Pool).

When the webservice wants to connect to the CRM (via connection-string) it receives "Metadata contains a reference that cannot be resolved: 'http://<crm host/organization>/XRMServices/2011/Organization.svc?wsdl"

I first thought that this has to to with authentification/autorization but this seems not to be the reason, because:
+ on the same machine i am able to connect to the crm with the browser
+ i have deployed the webservice as a windows service and there it works fine (runs under the same account)
+ when i connect to "localhost" instead of the server name it works
+ changing the servername to ip-address doesn't have any effect (-> not a problem of dns)

The problem seems to be a combination IIS <-> Outgoing connection, but i didn't find where connections are limited. It's not a problem in the firewall because it works in the browser and as windows-service instead of IIS.

Has anybody an idea what the reason for this strange behaviour could be?

Thanks for help
Karl

Reply
Suggested Answer
Gustaf Westerlund responded on 15 Jun 2013 1:32 PM

Hi,

Have you changed the settings of the CRM website a lot from when it was installed from within IIS? and did it work previously or has it always been broken? I know that, for instance trying to add website bindings from the IIS especially to HTTPS, may brake the installation. These kínds of settings have to be made from the deplyment manager which then writes to IIS. I am not saying that you have done any of these, I am just giving you a heads up in case you are close.

You can Always take a backup of the database, restore it in a lab Environment and then do your test installations there. Preferably in virtual Environments where you can use snapshots to easily revert.

Maybe I have given you some ideas or ways forward anyway. Good luck!

Regards Gustaf Westerlund
MVP, CEO and Chief Architect at CRM-Konsulterna
www.crmkonsulterna.se
CRM Blog

If you find answers useful, please mark them as answered, it will help all of us in the community!

Reply
Suggested Answer
Madu responded on 18 Jun 2013 5:32 AM

What you set as application pool identity in IIS the web service running on? if you are using authentication tokens this this need to be a user in crm and you can limit access restrictions via security role, to make access to CRM more secure.

Pathini Fernando

Software Engineer

Reply
Suggested Answer
Gustaf Westerlund responded on 15 Jun 2013 1:32 PM

Hi,

Have you changed the settings of the CRM website a lot from when it was installed from within IIS? and did it work previously or has it always been broken? I know that, for instance trying to add website bindings from the IIS especially to HTTPS, may brake the installation. These kínds of settings have to be made from the deplyment manager which then writes to IIS. I am not saying that you have done any of these, I am just giving you a heads up in case you are close.

You can Always take a backup of the database, restore it in a lab Environment and then do your test installations there. Preferably in virtual Environments where you can use snapshots to easily revert.

Maybe I have given you some ideas or ways forward anyway. Good luck!

Regards Gustaf Westerlund
MVP, CEO and Chief Architect at CRM-Konsulterna
www.crmkonsulterna.se
CRM Blog

If you find answers useful, please mark them as answered, it will help all of us in the community!

Reply
Josh Wells responded on 17 Jun 2013 12:17 PM

Hi Karl,

Thanks for reaching out to the forums on this issue.  My name is Josh Wells and I am a support engineer on the Microsoft Dynamics CRM support team.  

I have reviewed your issue and I see you are having issues accessing the Organization service.  What is the Web Address you have configured within the Deployment Manager when you right-click on Microsoft Dynamics CRM then Properties?  

Also have you tried using a tool like Fiddler to see what may be happening as well?  Fiddler is a web debugging tool that will allow you to monitor web requests and corresponding failures.  You may get a better exception within the Fiddler trace than the exception you are currently seeing.  You can find Fiddler here:

http://fiddler2.com/

Additionally, I would verify that the web service request is actually making it to the CRM server by looking at the IIS logs for the CRM website.  This would confirm that the requests are making it to the server and log what the HTTP response is.  

Lastly, if you have confirmed the request is making it to the CRM website, you can enable CRM platform tracing to see if there are additional errors being logged there:

support.microsoft.com/.../907490

Hope this helps.  If you have any questions, please let us know.

Thank you for using Microsoft Dynamics CRM Communities,

Dynamics CRM Support Blog

Josh Wells
Support Engineer
Microsoft Dynamics CRM

Reply
Suggested Answer
Madu responded on 18 Jun 2013 5:32 AM

What you set as application pool identity in IIS the web service running on? if you are using authentication tokens this this need to be a user in crm and you can limit access restrictions via security role, to make access to CRM more secure.

Pathini Fernando

Software Engineer

Reply
Josh Wells responded on 18 Jun 2013 6:18 AM

Pathini,

That is incorrect.  The account running the application pool should NOT be a CRM user.  There are various issues if the CRMAppPool is running under the identity of a CRM user.  Please refer to the CRM Implementation Guide found here:

www.microsoft.com/.../details.aspx

The IG states:

Microsoft Dynamics CRM services and application pool (CRMAppPool) identity accounts must not be configured as a Microsoft Dynamics CRM user. Doing so can cause authentication issues and unexpected behavior in the application for all Microsoft Dynamics CRM users.

It then links to an article of issues that can be faced:

support.microsoft.com/.../2593042

Thank you for using Microsoft Dynamics CRM Communities,

Dynamics CRM Support Blog

Josh Wells
Support Engineer
Microsoft Dynamics CRM

Reply
Madu responded on 18 Jun 2013 6:31 AM

Hi Josh I didn't mean crm application need to run as crm user. i mean the deployed  web service  application pool identity/

What I read from initial post by Karl , I understood that there is web service which use sdk to connect crm?

Pathini Fernando

Software Engineer

Reply
Karl Andenmatten responded on 19 Jun 2013 2:27 AM

Sorry,

i was absorbed the last days with an other project.

It's correct that i have implemented an own web service which should connect to crm via sdk.

I use connection strings where i can also define optional the crm username/password but this didn' solve the problem therefore i don't think that this is only a authentification problem. It seems more to be a problem running my service under IIS.

Therefore i will now first try to implement my webservice as a windows service (or console program) to be sure that the connection to crm works correct and to be sure that the problem is not a network problem (firewall etc.).

You will hear from me in the next days.

Thanks

Karl

Reply