locked
can't pass "Collection" parameter from one webservice to another in WF 4.0 RC1 with the Designer RRS feed

  • Question

  • Hello,

    I try to upgrade a 3.5 workflow to version 4.0 RC1 an I have a problem to use a output result from on webservice as a parameter of another webservice

    I have one webservice, automaticly binded as a service reference in my project

    [WebMethod]
    public List<string> GetIgnoreList(string token) {..}

    I try to pass the result to a second webservice, binded as a service reference in my projekt too

    [WebMethod]
    public BertusStat GetBertusItemsStats(List<string> ignoreListItems) {...}

    the proxy 3.5 proxy generator generated the at both points the output and the input type string[], so it was easy to use this directly

    the 4.0er RC1 proxy generator generates for the output the type ArrayOfString in one NameSpace

    namespace WorkflowLibrary.NamespaceWebServiceOutput {
        public class ArrayOfString : System.Collections.Generic.List<string> {
        }
    }

    and for the input the type ArrayOfString in another NameSpace

    namespace WorkflowLibrary.NamespaceWebServiceInput {

        public class ArrayOfString : System.Collections.Generic.List<string> {
        }
    }

    Passing directly was not possible!

    Casting via an immediate variable over the primitive "assign" was not possible !


    I can't believe the only way is to cast with code !?
    Friday, March 12, 2010 11:11 AM

Answers

  • Hi Dominic,

    Could you try click the "Advanced" button in Add Service Reference dialog? There you can set the collection type you want to use, and also let the service reference "reuse type" in your referenced assembly. I believe with that the issue should be solved.

    BTW, WF 4.0 is already released with .Net 4.0. You can download RTM version from MSDN.

    thanks,

    Anders


    This posting is provided "AS IS" and confers no rights or warranties.
    Monday, June 21, 2010 4:19 PM