1. Sounds great! Please keep us posted on progress with this. I'd like to just plug in the code when it's finished, rather than revise/write my own.
2. Ok. I've modified the metadata fetcher so that it strips off any URL query parameters (the part after and including the "?").
3. In HydroExcel, I sort of hack my way there with the following function. I basically look for text that says "service name=" and then read the name after the text.
Public Function GetServiceName(wsdlUrl As String) As String
Dim pCaller As New HydroObjects.WebServiceWrapper
Dim txt As String
txt = pCaller.DownloadWebASCII(wsdlUrl)
Dim i As Long, j As Long
i = InStr(txt, "service name=")
If i > 0 Then
j = InStr(i, txt, ">")
GetServiceName = Mid(txt, i + 14, j - i - 15)
There's gotta be a better way of parsing the WSDL than that. I haven't tried implementing this in code, but I think a good workflow would be to get a list of all service names at the WSDL. If a service is named WaterOneFlow, then use that.
Otherwise, pick the first service name in the list. I suppose an even more robust solution is to compare each service to the method signatures we expect from WaterOneFlow, and if the signatures match, then we use that service name. But that's going
to be 500 lines of code just to get the name of the WaterOneFlow service. Hmmm, then another solution is just to ask the user for the name of the service each time. Anyways, just brainstorming here...
4. I've modified the metadata fetcher to make sure it stores the canonical form.
Ok, that's all for now. I anxiously await NHibernate and WaterOneFlowClient updates!!