More than half way through our west European DevDays tour, we have had exciting days with lots of meetings, presentations, discussions, questions and answers in London, Göteborg and Frankfurt.
Today we are in Milan, with the next stop in Paris planned for tomorrow.
Meanwhile, here is a question related to the discussion between Dave and

Ed Pitt

in the post on

using namespaces

a couple of days ago:

Question: I’m developing an application for Revit Architecture 2009 using Visual Studio 2005 with RevitAPI.dll that interacts with a web service on the client side. In it, a client DLL developed in Visual Studio 2005 interacts with a web service to download and upload Revit projects from a server. The communication between client and server is secured and uses the MTOM or Message Transmission Optimization Mechanism technology.
The client DLL works well when it is included as a reference in a stand-alone .NET project such as a WindowsApplicationForm or console application, the authentification succeeds and files can be downloaded from and uploaded to the server. However, when the client is included in the Revit project, the call to the server to download or upload projects fails. It returns an exception from the server and cannot access the services, although it is using the same user id and password as previously. In debug mode on the server side, I can see that the request coming from the Revit application is quite different from the .NET application one.
What could be the explanation for this? Are there any built-in security issues in Revit Architecture that might cause this behaviour?

Reply from Miroslav Schonauer and Saikat Bhattacharya:
You might try creating a Revit.exe.config file and fine tuning its contents.
The problem is possibly in some setting required for the particular web service which in the standalone application is either assumed by default or configured via the App.exe.config file. The solution might be to create a Revit.exe.config file in the Revit.exe install folder. Unlike acad.exe.config, this one does not come with the install since no .NET fine-tuning is required by Revit. Of course it is virtually impossible to say exactly what needs to be fine tuned.
One project we saw had an issue related to authentication that was solved by adding a complex element to the Revit.exe.config file. Here is an example of a skeleton configuration file:


<configuration>
<system.serviceModel>
<bindings>
...project and web service specific info
</bindings>
<client>
... project and web service specific info
</client>
</system.serviceModel>
</configuration>

Even though this may not completely resolve the current issue,
it is definitely useful information for some applications and a good point to start exploring from.


Comments

2 responses to “Web Service”

  1. mohamed.abdelzaher@dargroup.com Avatar
    mohamed.abdelzaher@dargroup.com

    I make Revit tool on visual studio 2010 for Revit 2012 and I added web reference to the tool, the build process of the tool is failed and the below error is appeared, but when I try to debug, the tool is working fine without any problem.
    Error 1 An attempt was made to load an assembly with an incorrect format: C:\Program Files\Autodesk\Revit Structure 2012\Program\AdWindows.dll.
    SGEN

  2. mohamed.abdelzaher@dargroup.com Avatar
    mohamed.abdelzaher@dargroup.com

    Kindly if there solution for my problem kindly feedbak me ASAP.

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading