I’m trying to consume some WCF services from SSIS. I had it working fine from a development machine. However, when another developer tries to do this, they have issues.
If the other developer copies my .DTSX file, then it works. However, if they create it themself, then it fails to connect (monitoring it from the WCF side).
We have noticed a BIG difference in how SSIS acts on the two machines and I suspect that is the cause of the problem. Both SSIS machines download the same WSDL data from the service. However, the Web Service Task on my machine (the functional one) has a different set of inputs than on the other dev’s machine (the non-functional one). For example, if my method I was trying to call was DoStuff(int data1, decimal data2, string msg), I would have 5 inputs: data1 (int), data1Specified (bool), data2 (decimal), data2Specified (bool),and msg (string) whereas the other machine lacked the data1Specified and data2Specified inputs. When working with other inputs, it appears that this xxxSpecified variable is always created by my machine for all data types except for strings (not exhaustively tested but have thrown ~8 data types in there) but the other dev’s machine NEVER creates these xxxSpecified variables.
One more thing of note: If the other dev imports the .DTSX from my machine and directly runs it, it works. If he clicks on the “Download WSDL” button, even though it downloads the exact same WSDL, he gets a different set of inputs after specifying the service/method to call. So apparently his SSIS development environment is making different decisions than mine is, and we can’t figure out why or how to make his act more like mine. Nor do we even realize why these xxxSpecified variables are apparently necessary (“Specified” exists NOWHERE in the WSDL).
WHY does SSIS generate these xxxSpecified inputs, and why in one environment but not another?
- Clarification: “GoodDevBox” creates the project manually, from scratch, and it works (i.e. has the xxxSpecified inputs). “BadDevBox” creates the project manually, from scratch, and it doesn’t work (i.e. is missing the xxxSpecified inputs). The problem has nothing to do with sharing projects/solutions. In fact, sharing them is the only way to get this to work, if the “BadDevBox” doesn’t reprocess the WSDL.
We ultimately just uninstalled and reinstalled SQL Server on the problematic machines, ran Windows Updates, and the problem went away. Still have no idea what the problem was, nor do I still know the true answer to my question: WHY the variables with “Specified” at the end of the names are generated.