Web Service Import Wizard

Jun 21, 2011 at 1:58 AM

Im having issues with the Web Service Import Wizard, specifically i am serving a soap 1.1 wsdl (compliance tested against soapUI validator, microsoft wsdl.exe code generator, eclipse wsdl validator, works with Taverna) from my web service.

I enter the Web Service URL and press Connect, and the Pick a Web Method is correctly populated with the single method defined in the wsdl, further the Selected Web Method Info correctly identifies the inputs and outputs, so i click Next.

The Configure Activity Details is auto populated with the Name of the single Web Method available, along with no Icon, an empty Description, and the Configure Activity Parameters are left as is, so everything is left as Default, and i click Preview.

The Preview field shows a nice little picture of the Web Method, with the inputs listed in the body of the image representing the method, i leave the "Copy of Code and DLLs" unticked, again everything is left as Default, and i click Generate.

An error popup appears saying:

 

Could not generate Web Service Activity. Possible reasons :

1. Service is not available.

2. Invalid URL.

3. Path for Csc.exe or Wsdl.exe is invalid.

 

At this point i click OK on the error popup and i am taken to a screen saying "Could not generate DLL successfully", at which point i can hit the "Import Another" button and repeat the entire process (including error), or "Finish".

 

I was originally prompted for the location of wsdl.exe when i first used the import wizard, and i located it in "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin".

I was never prompted for the location of Csc.exe.

I'm using Microsoft Trident Scientific Workflow 1.2.1 Build 1665.0

When i attempt the import wizard i have an unsaved project/workspace open, with only a single element under the Composer Tab; SequentialWorkflowActivity.

 

If i run wsdl.exe from the commandline on the web service wsdl uri, i can indeed generate a .cs file for that web service.

 

What should i try next?

Jun 21, 2011 at 6:16 AM

Hi Vusak,

Thanks for showing interest in Trident.

Please try again with the Checkbox copy of code and DLLs unchecked.

By default, the wizard simply creates a DLL and puts it in the Trident Registry database. If you select Copy of Code and DLLs, the wizard puts a copy of the DLL and a .cs file containing the associated code in a folder on your hard drive. To specify the folder, click Browse. You can use the .cs file to create a modified version of the activity.

Please let me know if this helped you in resolving your query.

Regards,
Support Team

Jun 21, 2011 at 7:31 AM
Edited Jun 21, 2011 at 7:33 AM

Hey abhisheks,

Just to clarify, you mention "unchecked", while originally i mentioned that i had that box "unticked".

In case there was confusion, i went ahead and attempted the same process again, only this time i had that checkbox "checked", i then specified a location on my hdd via the "Browse" button.

After clicking "Generate" i again received the same error, and when i checked the folder specified in the "Location:" field i found a text file "a8ea4f26-e1c7-41a3-81c7-0ff7a5f9fc41.cs", the contents of which seem to differ from the output i produced from the wsdl.exe at the commandline previously.

I should note, there were no other files in that folder.

It seems something is going wrong with the DLL generation? Is there a set of dependencies i could look for that are necessary for the DLL generation? or perhaps an error log that is generated somewhere by Trident?

Jun 21, 2011 at 7:53 AM

Hi vusak,

Yes, You can see the log files at the location C:\Users\userName\AppData\Roaming\Research\Trident.
Do let me know in case you need further assistance.

Regards,
Support Team

Jun 21, 2011 at 8:02 AM

Hey abhisheks,

sorry, im using Win XP SP3, could you tell me the location of the file of this OS? or the name of the log file so i can search for it.

Thanks!

Jun 21, 2011 at 8:12 AM

Hi Vusak,

Please enable Show hidden files and folder from tools menu. The path is similar for XP. I guess, it shoould be

C:\Documents and Settings\userName\Application Data or AppData\....   

Regards,
Support Team

Jun 21, 2011 at 8:19 AM

Actually i found it in "C:\Documents and Settings\<USERNAME>\Application Data\Research\Trident\Logs\Application"

Further, i found this entry in the WorkflowApplicationTrace.log:

----------------------------------------Timestamp: 20/06/2011 12:44:41 PMMessage: HandlingInstanceID: 7d832eb6-5bb3-4988-92f5-11c9c40e3a3aAn exception of type 'System.ArgumentException' occurred and was caught.------------------------------------------------------------------------06/20/2011 12:44:41Type : System.ArgumentException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089Message : An item with the same key has already been added.Source : mscorlibHelp link : ParamName : Data : System.Collections.ListDictionaryInternalTargetSite : Void ThrowArgumentException(System.ExceptionResource)Stack Trace :    at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)   at Microsoft.Research.ScientificWorkflow.UIDesigner.DataProductIconBuilder.Initialize()   at WorkflowApplication.WorkflowApp.InitializeModules()
Additional Info:
MachineName : <MACHINENAME>TimeStamp : 20/06/2011 2:44:41 AMFullName : Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35AppDomainName : WorkflowApplication.exeThreadIdentity : WindowsIdentity : <DOMAIN>\<USERNAME>
Category: GeneralTitle:Enterprise Library Exception HandlingMachine: <MACHINENAME>Application Domain: WorkflowApplication.exeProcess Name: C:\Program Files\Microsoft Project Trident - A Scientific Workflow Workbench\WorkflowApplication.exe
----------------------------------------

The part that caught my eye was the message "An item with the same key has already been added".

I then located a series of folders under "C:\Documents and Settings\<USERNAME>\Application Data\Research\Trident\CustomActivities" each correlating with an attempt to import my service in terms of folder modification time.

Inside the folders were two .cs files and a .dll, indicating that the creation of the activity was successful, but it was failing to recognize the success, possibly because of a barely visible (in terms of user notification) naming clash.

So I went through the import wizard again and this time used a different name on the "Configure Activity Details" screen instead of the default, this time it was happy to generate the DLL, and when i clicked Import, that worked as well.

Hopefully this will helps others if they run into the same issue.

Jun 21, 2011 at 8:26 AM

 

Its great Vasuk that your issue is resolved. Certainly this is useful for other Trident users.

Cheers!!