Enhance WsESDLConfig::getESDLBinding and facilitate UI work

Description

Provide parsed out results, also provide option to fetch binding definition.
FYI

Conclusion

None

relates to

Activity

Show:

Miguel Vazquez June 1, 2016 at 2:04 PM

This looks fine.

Rodrigo Pastrana May 31, 2016 at 4:45 PM

let us know if the new interface works for the UI so I can go ahead and check this code in...

Rodrigo Pastrana May 31, 2016 at 4:41 PM

From: Pastrana, Rodrigo (RIS-BCT)
Sent: Wednesday, May 25, 2016 6:06 PM
To: Aswani, Kunal (RIS-BCT)
Cc: Vazquez, Miguel (RIS-BCT)
Subject: DESDL build
Kunal, please build branch HPCC-15591-DESDL-UseLoadedServName from my repo:
https://github.com/rpastrana/HPCC-Platform/tree/HPCC-15591-DESDL-UseLoadedServName

and cherry pick this commit: 0cb3b12a5a249226b8abbccfb5cfd6f8743dfb43

when done install on 10.239.20.49 and notify Miguel when it’s done, thanks.

Miguel, this is a first pass, we can adjust things as we see fit. Also, there’s very little error checking in this version.

Make sure to set the version to 1.1 when you try to make use of the new interface.

<GetESDLBindingRequest>
<EspProcName>myesp</EspProcName>
<EspBindingName>yyyy</EspBindingName>
<EspPort/>
<EsdlBindingId/>
<IncludeInterfaceDefinition>1</IncludeInterfaceDefinition> <- set this flag if you want the actual definition returned as well (encoded XML)
</GetESDLBindingRequest>

You can expect to see something like this:

<GetESDLBindingResponse xmlns="urn:hpccsystems:ws:wsesdlconfig">
<ServiceName/>
<EspProcName>myesp</EspProcName>
<BindingName>yyyy</BindingName> <- ESDL Binding name
<EspPort/>
<ConfigXML/> <- not populated for ver 1.1 and above
<ESDLBinding>
<Definition>
<Name>mathservice</Name> <- the name of the definition used in this binding
<Seq>0</Seq>
<Id>mathservice.9</Id> <- The ID (name.version) of the definition
<!--the actual definition is returned in the Interface element -->
<Interface>&lt;esxdl name=&quot;MathService&quot;&gt;&lt;EsdlRequest name=&quot;AddThisRequest&quot;&gt;&lt;EsdlElement name=&quot;FirstNumber&quot; type=&quot;int&quot;/&gt;&lt;EsdlElement name=&quot;SecondNumber&quot; type=&quot;int&quot;/&gt;&lt;/EsdlRequest&gt;&lt;EsdlRequest name=&quot;DivThisRequest&quot;&gt;&lt;EsdlElement name=&quot;FirstNumber&quot; type=&quot;int&quot;/&gt;&lt;EsdlElement name=&quot;SecondNumber&quot; type=&quot;int&quot;/&gt;&lt;/EsdlRequest&gt;&lt;EsdlRequest name=&quot;ExpThisRequest&quot;&gt;&lt;EsdlElement name=&quot;FirstNumber&quot; type=&quot;int&quot;/&gt;&lt;EsdlElement name=&quot;SecondNumber&quot; type=&quot;int&quot;/&gt;&lt;/EsdlRequest&gt;&lt;EsdlRequest name=&quot;ModThisRequest&quot;&gt;&lt;EsdlElement name=&quot;FirstNumber&quot; type=&quot;int&quot;/&gt;&lt;EsdlElement name=&quot;SecondNumber&quot; type=&quot;int&quot;/&gt;&lt;/EsdlRequest&gt;&lt;EsdlRequest name=&quot;MultThisRequest&quot;&gt;&lt;EsdlElement name=&quot;FirstNumber&quot; type=&quot;int&quot;/&gt;&lt;EsdlElement name=&quot;SecondNumber&quot; type=&quot;int&quot;/&gt;&lt;/EsdlRequest&gt;&lt;EsdlRequest name=&quot;SubThisRequest&quot;&gt;&lt;EsdlElement name=&quot;FirstNumber&quot; type=&quot;int&quot;/&gt;&lt;EsdlElement name=&quot;SecondNumber&quot; type=&quot;int&quot;/&gt;&lt;/EsdlRequest&gt;&lt;EsdlResponse name=&quot;AddThisResponse&quot;&gt;&lt;EsdlElement name=&quot;Answer&quot; type=&quot;int&quot;/&gt;&lt;/EsdlResponse&gt;&lt;EsdlResponse name=&quot;DivThisResponse&quot;&gt;&lt;EsdlElement name=&quot;Answer&quot; type=&quot;int&quot;/&gt;&lt;/EsdlResponse&gt;&lt;EsdlResponse name=&quot;ExpThisResponse&quot;&gt;&lt;EsdlElement name=&quot;Answer&quot; type=&quot;int&quot;/&gt;&lt;/EsdlResponse&gt;&lt;EsdlResponse name=&quot;ModThisResponse&quot;&gt;&lt;EsdlElement name=&quot;Answer&quot; type=&quot;int&quot;/&gt;&lt;/EsdlResponse&gt;&lt;EsdlResponse name=&quot;MultThisResponseEx&quot;&gt;&lt;EsdlElement complex_type=&quot;MultThisResponse&quot; name=&quot;response&quot; xsd_type=&quot;tns:MultThisResponse&quot;/&gt;&lt;/EsdlResponse&gt;&lt;EsdlResponse name=&quot;SubThisResponseEx&quot;&gt;&lt;EsdlElement complex_type=&quot;SubThisResponse&quot; name=&quot;response&quot; xsd_type=&quot;tns:SubThisResponse&quot;/&gt;&lt;/EsdlResponse&gt;&lt;EsdlStruct name=&quot;MultThisResponse&quot;&gt;&lt;EsdlElement name=&quot;Answer&quot; type=&quot;int&quot;/&gt;&lt;/EsdlStruct&gt;&lt;EsdlStruct name=&quot;SubThisResponse&quot;&gt;&lt;EsdlElement name=&quot;Answer&quot; type=&quot;int&quot;/&gt;&lt;/EsdlStruct&gt;&lt;EsdlService name=&quot;MathService&quot;&gt;&lt;EsdlMethod name=&quot;AddThis&quot; request_type=&quot;AddThisRequest&quot; response_type=&quot;AddThisResponse&quot;/&gt;&lt;EsdlMethod name=&quot;DivThis&quot; request_type=&quot;DivThisRequest&quot; response_type=&quot;DivThisResponse&quot;/&gt;&lt;EsdlMethod name=&quot;ExpThis&quot; request_type=&quot;ExpThisRequest&quot; response_type=&quot;ExpThisResponse&quot;/&gt;&lt;EsdlMethod name=&quot;ModThis&quot; request_type=&quot;ModThisRequest&quot; response_type=&quot;ModThisResponse&quot;/&gt;&lt;EsdlMethod name=&quot;MultThis&quot; request_type=&quot;MultThisRequest&quot; response_type=&quot;MultThisResponseEx&quot;/&gt;&lt;EsdlMethod name=&quot;SubThis&quot; request_type=&quot;SubThisRequest&quot; response_type=&quot;SubThisResponseEx&quot;/&gt;&lt;/EsdlService&gt;&lt;EsdlMethod name=&quot;AddThis&quot; request_type=&quot;AddThisRequest&quot; response_type=&quot;AddThisResponse&quot;/&gt;&lt;EsdlMethod name=&quot;DivThis&quot; request_type=&quot;DivThisRequest&quot; response_type=&quot;DivThisResponse&quot;/&gt;&lt;EsdlMethod name=&quot;ExpThis&quot; request_type=&quot;ExpThisRequest&quot; response_type=&quot;ExpThisResponse&quot;/&gt;&lt;EsdlMethod name=&quot;ModThis&quot; request_type=&quot;ModThisRequest&quot; response_type=&quot;ModThisResponse&quot;/&gt;&lt;EsdlMethod name=&quot;MultThis&quot; request_type=&quot;MultThisRequest&quot; response_type=&quot;MultThisResponseEx&quot;/&gt;&lt;EsdlMethod name=&quot;SubThis&quot; request_type=&quot;SubThisRequest&quot; response_type=&quot;SubThisResponseEx&quot;/&gt;&lt;/esxdl&gt;</Interface>
</Definition>
<Configuration> <- the config section has Methods/Method
<Methods>
<Method>
<Name>AddThis</Name> <- name attribute now moved out of attributes and is child of Method
<Attributes> <- each method has Attributes/Attribute/Name and Value
<Attribute>
<Name>name</Name> <- name attribute now moved out of attributes and is child of Method
<Value>AddThis</Value>
</Attribute>
<Attribute>
<Name>password</Name>
<Value>h7webmX+vmTgtAsFmC+ahQ==</Value>
</Attribute>
<Attribute>
<Name>queryname</Name>
<Value>AddThis</Value>
</Attribute>
<Attribute>
<Name>querytype</Name>
<Value>roxie</Value>
</Attribute>
<Attribute>
<Name>status</Name>
<Value>available</Value>
</Attribute>
<Attribute>
<Name>testrepo</Name>
<Value>0</Value>
</Attribute>
<Attribute>
<Name>url</Name>
<Value>192.168.56.120:9876</Value>
</Attribute>
<Attribute>
<Name>username</Name>
<Value>rpastrana</Value>
</Attribute>
</Attributes>
</Method>
<Method>
<Attributes>
<Attribute>
<Name>name</Name>
<Value>MultThis</Value>
</Attribute>
<Attribute>
<Name>password</Name>
<Value>h7webmX+vmTgtAsFmC+ahQ==</Value>
</Attribute>
<Attribute>
<Name>queryname</Name>
<Value>MultThis</Value>
</Attribute>
<Attribute>
<Name>querytype</Name>
<Value>roxie</Value>
</Attribute>
<Attribute>
<Name>status</Name>
<Value>available</Value>
</Attribute>
<Attribute>
<Name>testrepo</Name>
<Value>0</Value>
</Attribute>
<Attribute>
<Name>url</Name>
<Value>192.168.56.120:9876</Value>
</Attribute>
<Attribute>
<Name>username</Name>
<Value>rpastrana</Value>
</Attribute>
</Attributes>
</Method>
<Method>
<Attributes>
<Attribute>
<Name>name</Name>
<Value>DivThis</Value>
</Attribute>
<Attribute>
<Name>password</Name>
<Value>h7webmX+vmTgtAsFmC+ahQ==</Value>
</Attribute>
<Attribute>
<Name>queryname</Name>
<Value>DivThis</Value>
</Attribute>
<Attribute>
<Name>querytype</Name>
<Value>roxie</Value>
</Attribute>
<Attribute>
<Name>status</Name>
<Value>available</Value>
</Attribute>
<Attribute>
<Name>testrepo</Name>
<Value>0</Value>
</Attribute>
<Attribute>
<Name>url</Name>
<Value>192.168.56.120:9876</Value>
</Attribute>
<Attribute>
<Name>username</Name>
<Value>rpastrana</Value>
</Attribute>
</Attributes>
</Method>
<Method>
<Attributes>
<Attribute>
<Name>name</Name>
<Value>SubThis</Value>
</Attribute>
<Attribute>
<Name>password</Name>
<Value>h7webmX+vmTgtAsFmC+ahQ==</Value>
</Attribute>
<Attribute>
<Name>queryname</Name>
<Value>SubThis</Value>
</Attribute>
<Attribute>
<Name>querytype</Name>
<Value>roxie</Value>
</Attribute>
<Attribute>
<Name>status</Name>
<Value>available</Value>
</Attribute>
<Attribute>
<Name>testrepo</Name>
<Value>0</Value>
</Attribute>
<Attribute>
<Name>url</Name>
<Value>192.168.56.120:9876</Value>
</Attribute>
<Attribute>
<Name>username</Name>
<Value>rpastrana</Value>
</Attribute>
</Attributes>
</Method>
<Method>
<Attributes>
<Attribute>
<Name>name</Name>
<Value>ModThis</Value>
</Attribute>
<Attribute>
<Name>password</Name>
<Value>h7webmX+vmTgtAsFmC+ahQ==</Value>
</Attribute>
<Attribute>
<Name>queryname</Name>
<Value>ModThis</Value>
</Attribute>
<Attribute>
<Name>querytype</Name>
<Value>roxie</Value>
</Attribute>
<Attribute>
<Name>status</Name>
<Value>available</Value>
</Attribute>
<Attribute>
<Name>testrepo</Name>
<Value>0</Value>
</Attribute>
<Attribute>
<Name>url</Name>
<Value>192.168.56.120:9876</Value>
</Attribute>
<Attribute>
<Name>username</Name>
<Value>rpastrana</Value>
</Attribute>
</Attributes>
</Method>
<Method>
<Attributes>
<Attribute>
<Name>name</Name>
<Value>ExpThis</Value>
</Attribute>
<Attribute>
<Name>password</Name>
<Value>h7webmX+vmTgtAsFmC+ahQ==</Value>
</Attribute>
<Attribute>
<Name>queryname</Name>
<Value>ExpThis</Value>
</Attribute>
<Attribute>
<Name>querytype</Name>
<Value>roxie</Value>
</Attribute>
<Attribute>
<Name>status</Name>
<Value>available</Value>
</Attribute>
<Attribute>
<Name>testrepo</Name>
<Value>0</Value>
</Attribute>
<Attribute>
<Name>url</Name>
<Value>192.168.56.120:9876</Value>
</Attribute>
<Attribute>
<Name>username</Name>
<Value>rpastrana</Value>
</Attribute>
</Attributes>
</Method>
</Methods>
</Configuration>
</ESDLBinding>
<status>
<Code>0</Code>
<Description/>
</status>
</GetESDLBindingResponse>
</soap:Body>

Rodrigo Pastrana May 25, 2016 at 9:52 PM

6.2 feature

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Components

Assignee

Reporter

Priority

Fix versions

Pull Request URL

Created May 25, 2016 at 9:52 PM
Updated June 7, 2016 at 1:42 PM
Resolved June 7, 2016 at 1:42 PM