[ 
https://issues.apache.org/jira/browse/JUDDI-514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13655423#comment-13655423
 ] 

Alex O'Ree commented on JUDDI-514:
----------------------------------

Here's another use case, this time a few bugs are uncovered.
http://www.webservicex.com/globalweather.asmx?WSDL

Namely, the service is created with 4 binding templates, only one has a key and 
access point, the others do not have a key or access point defined. Here's the 
resultant XML

<org.uddi.api_v3.TModel tModelKey="uddi:www.webservicex.com:keygenerator" 
xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"; xmlns:ns3="urn:uddi-org:api_v3">
    <ns3:name xml:lang="en">www.webservicex.com</ns3:name>
    <ns3:overviewDoc>
        <ns3:overviewURL 
useType="text">http://uddi.org/pubs/uddi_v3.htm#keyGen</ns3:overviewURL>
    </ns3:overviewDoc>
    <ns3:categoryBag>
        <ns3:keyedReference tModelKey="uddi:uddi.org:keygenerator" 
keyName="uddi.org:keygenerator" keyValue="keyGenerator"/>
    </ns3:categoryBag>
</org.uddi.api_v3.TModel>
Retrieving document at 'http://www.webservicex.com/globalweather.asmx?WSDL'.
<org.uddi.api_v3.TModel 
tModelKey="uddi:www.webservicex.com:GlobalWeatherHttpGet" 
xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"; xmlns:ns3="urn:uddi-org:api_v3">
    <ns3:name xml:lang="en">GlobalWeatherHttpGet</ns3:name>
    <ns3:overviewDoc>
        <ns3:overviewURL 
useType="wsdlDeployment">http://www.webservicex.com/globalweather.asmx?WSDL</ns3:overviewURL>
    </ns3:overviewDoc>
    <ns3:categoryBag>
        <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:types" 
keyName="uddi-org:wsdl:types" keyValue="portType"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:xml:namespace" 
keyName="uddi-org:xml:namespace" keyValue="http://www.webserviceX.NET"/>
    </ns3:categoryBag>
</org.uddi.api_v3.TModel>
<org.uddi.api_v3.TModel 
tModelKey="uddi:www.webservicex.com:GlobalWeatherHttpPost" 
xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"; xmlns:ns3="urn:uddi-org:api_v3">
    <ns3:name xml:lang="en">GlobalWeatherHttpPost</ns3:name>
    <ns3:overviewDoc>
        <ns3:overviewURL 
useType="wsdlDeployment">http://www.webservicex.com/globalweather.asmx?WSDL</ns3:overviewURL>
    </ns3:overviewDoc>
    <ns3:categoryBag>
        <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:types" 
keyName="uddi-org:wsdl:types" keyValue="portType"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:xml:namespace" 
keyName="uddi-org:xml:namespace" keyValue="http://www.webserviceX.NET"/>
    </ns3:categoryBag>
</org.uddi.api_v3.TModel>
<org.uddi.api_v3.TModel tModelKey="uddi:www.webservicex.com:GlobalWeatherSoap" 
xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"; xmlns:ns3="urn:uddi-org:api_v3">
    <ns3:name xml:lang="en">GlobalWeatherSoap</ns3:name>
    <ns3:overviewDoc>
        <ns3:overviewURL 
useType="wsdlDeployment">http://www.webservicex.com/globalweather.asmx?WSDL</ns3:overviewURL>
    </ns3:overviewDoc>
    <ns3:categoryBag>
        <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:types" 
keyName="uddi-org:wsdl:types" keyValue="portType"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:xml:namespace" 
keyName="uddi-org:xml:namespace" keyValue="http://www.webserviceX.NET"/>
    </ns3:categoryBag>
</org.uddi.api_v3.TModel>
<org.uddi.api_v3.TModel 
tModelKey="uddi:www.webservicex.com:GlobalWeatherSoap12" 
xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"; xmlns:ns3="urn:uddi-org:api_v3">
    <ns3:name xml:lang="en">GlobalWeatherSoap12</ns3:name>
    <ns3:overviewDoc>
        <ns3:overviewURL 
useType="wsdlDeployment">http://www.webservicex.com/globalweather.asmx?WSDL</ns3:overviewURL>
    </ns3:overviewDoc>
    <ns3:categoryBag>
        <ns3:keyedReference tModelKey="uddi:uddi.org:xml:namespace" 
keyName="uddi-org:xml:namespace" keyValue="http://www.webserviceX.NET"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:types" 
keyName="uddi-org:wsdl:types" keyValue="binding"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:porttypereference" 
keyName="uddi-org:wsdl:portTypeReference" 
keyValue="uddi:www.webservicex.com:GlobalWeatherSoap"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types" keyValue="wsdlSpec"/>
    </ns3:categoryBag>
</org.uddi.api_v3.TModel>
<org.uddi.api_v3.TModel tModelKey="uddi:www.webservicex.com:GlobalWeatherSoap" 
xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"; xmlns:ns3="urn:uddi-org:api_v3">
    <ns3:name xml:lang="en">GlobalWeatherSoap</ns3:name>
    <ns3:overviewDoc>
        <ns3:overviewURL 
useType="wsdlDeployment">http://www.webservicex.com/globalweather.asmx?WSDL</ns3:overviewURL>
    </ns3:overviewDoc>
    <ns3:categoryBag>
        <ns3:keyedReference tModelKey="uddi:uddi.org:xml:namespace" 
keyName="uddi-org:xml:namespace" keyValue="http://www.webserviceX.NET"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:types" 
keyName="uddi-org:wsdl:types" keyValue="binding"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:porttypereference" 
keyName="uddi-org:wsdl:portTypeReference" 
keyValue="uddi:www.webservicex.com:GlobalWeatherSoap"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types" keyValue="wsdlSpec"/>
        <ns3:keyedReference 
tModelKey="uddi:uddi.org:wsdl:categorization:protocol" 
keyName="uddi-org:protocol:soap" keyValue="uddi:uddi.org:protocol:soap"/>
        <ns3:keyedReference 
tModelKey="uddi:uddi.org:wsdl:categorization:transport" keyName="uddi-org:http" 
keyValue="uddi:uddi.org:transport:http"/>
    </ns3:categoryBag>
</org.uddi.api_v3.TModel>
<org.uddi.api_v3.TModel 
tModelKey="uddi:www.webservicex.com:GlobalWeatherHttpGet" 
xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"; xmlns:ns3="urn:uddi-org:api_v3">
    <ns3:name xml:lang="en">GlobalWeatherHttpGet</ns3:name>
    <ns3:overviewDoc>
        <ns3:overviewURL 
useType="wsdlDeployment">http://www.webservicex.com/globalweather.asmx?WSDL</ns3:overviewURL>
    </ns3:overviewDoc>
    <ns3:categoryBag>
        <ns3:keyedReference tModelKey="uddi:uddi.org:xml:namespace" 
keyName="uddi-org:xml:namespace" keyValue="http://www.webserviceX.NET"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:types" 
keyName="uddi-org:wsdl:types" keyValue="binding"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:porttypereference" 
keyName="uddi-org:wsdl:portTypeReference" 
keyValue="uddi:www.webservicex.com:GlobalWeatherHttpGet"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types" keyValue="wsdlSpec"/>
    </ns3:categoryBag>
</org.uddi.api_v3.TModel>
<org.uddi.api_v3.TModel 
tModelKey="uddi:www.webservicex.com:GlobalWeatherHttpPost" 
xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"; xmlns:ns3="urn:uddi-org:api_v3">
    <ns3:name xml:lang="en">GlobalWeatherHttpPost</ns3:name>
    <ns3:overviewDoc>
        <ns3:overviewURL 
useType="wsdlDeployment">http://www.webservicex.com/globalweather.asmx?WSDL</ns3:overviewURL>
    </ns3:overviewDoc>
    <ns3:categoryBag>
        <ns3:keyedReference tModelKey="uddi:uddi.org:xml:namespace" 
keyName="uddi-org:xml:namespace" keyValue="http://www.webserviceX.NET"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:types" 
keyName="uddi-org:wsdl:types" keyValue="binding"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:porttypereference" 
keyName="uddi-org:wsdl:portTypeReference" 
keyValue="uddi:www.webservicex.com:GlobalWeatherHttpPost"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types" keyValue="wsdlSpec"/>
    </ns3:categoryBag>
</org.uddi.api_v3.TModel>
<org.uddi.api_v3.BusinessService 
serviceKey="uddi:www.webservicex.com:service_globalweather" 
businessKey="uddi:www.webservicex.com:business_www.webservicex.com" 
xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"; xmlns:ns3="urn:uddi-org:api_v3">
    <ns3:name xml:lang="en">GlobalWeather</ns3:name>
    <ns3:description xml:lang="en">Default service description when no 
&lt;wsdl:document&gt; element is defined inside the &lt;wsdl:service&gt; 
element.</ns3:description>
    <ns3:bindingTemplates>
        <ns3:bindingTemplate 
serviceKey="uddi:www.webservicex.com:service_globalweather">
            <ns3:description xml:lang="en">Default binding description when no 
&lt;wsdl:document&gt; element is defined inside the &lt;wsdl:binding&gt; 
element.</ns3:description>
            <ns3:tModelInstanceDetails>
                <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherHttpPost">
                    <ns3:description xml:lang="en">The wsdl:binding that this 
wsdl:port implements. Default binding description when no &lt;wsdl:document&gt; 
element is defined inside the &lt;wsdl:binding&gt; element. The instanceParms 
specifies the port local name.</ns3:description>
                    <ns3:instanceDetails>
                        
<ns3:instanceParms>GlobalWeatherHttpPost</ns3:instanceParms>
                    </ns3:instanceDetails>
                </ns3:tModelInstanceInfo>
                <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherHttpPost">
                    <ns3:description xml:lang="en">The wsdl:portType that this 
wsdl:port implements.</ns3:description>
                </ns3:tModelInstanceInfo>
            </ns3:tModelInstanceDetails>
        </ns3:bindingTemplate>
        <ns3:bindingTemplate 
serviceKey="uddi:www.webservicex.com:service_globalweather">
            <ns3:description xml:lang="en">Default binding description when no 
&lt;wsdl:document&gt; element is defined inside the &lt;wsdl:binding&gt; 
element.</ns3:description>
            <ns3:tModelInstanceDetails>
                <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherSoap12">
                    <ns3:description xml:lang="en">The wsdl:binding that this 
wsdl:port implements. Default binding description when no &lt;wsdl:document&gt; 
element is defined inside the &lt;wsdl:binding&gt; element. The instanceParms 
specifies the port local name.</ns3:description>
                    <ns3:instanceDetails>
                        
<ns3:instanceParms>GlobalWeatherSoap12</ns3:instanceParms>
                    </ns3:instanceDetails>
                </ns3:tModelInstanceInfo>
                <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherSoap">
                    <ns3:description xml:lang="en">The wsdl:portType that this 
wsdl:port implements.</ns3:description>
                </ns3:tModelInstanceInfo>
            </ns3:tModelInstanceDetails>
        </ns3:bindingTemplate>
        <ns3:bindingTemplate 
bindingKey="uddi:www.webservicex.com:binding_www.webservicex.com_globalweather_globalweathersoap_80"
 serviceKey="uddi:www.webservicex.com:service_globalweather">
            <ns3:description xml:lang="en">Default binding description when no 
&lt;wsdl:document&gt; element is defined inside the &lt;wsdl:binding&gt; 
element.</ns3:description>
            <ns3:accessPoint 
useType="endPoint">http://www.webservicex.com/globalweather.asmx</ns3:accessPoint>
            <ns3:tModelInstanceDetails>
                <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherSoap">
                    <ns3:description xml:lang="en">The wsdl:binding that this 
wsdl:port implements. Default binding description when no &lt;wsdl:document&gt; 
element is defined inside the &lt;wsdl:binding&gt; element. The instanceParms 
specifies the port local name.</ns3:description>
                    <ns3:instanceDetails>
                        <ns3:instanceParms>GlobalWeatherSoap</ns3:instanceParms>
                    </ns3:instanceDetails>
                </ns3:tModelInstanceInfo>
                <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherSoap">
                    <ns3:description xml:lang="en">The wsdl:portType that this 
wsdl:port implements.</ns3:description>
                </ns3:tModelInstanceInfo>
            </ns3:tModelInstanceDetails>
        </ns3:bindingTemplate>
        <ns3:bindingTemplate 
serviceKey="uddi:www.webservicex.com:service_globalweather">
            <ns3:description xml:lang="en">Default binding description when no 
&lt;wsdl:document&gt; element is defined inside the &lt;wsdl:binding&gt; 
element.</ns3:description>
            <ns3:tModelInstanceDetails>
                <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherHttpGet">
                    <ns3:description xml:lang="en">The wsdl:binding that this 
wsdl:port implements. Default binding description when no &lt;wsdl:document&gt; 
element is defined inside the &lt;wsdl:binding&gt; element. The instanceParms 
specifies the port local name.</ns3:description>
                    <ns3:instanceDetails>
                        
<ns3:instanceParms>GlobalWeatherHttpGet</ns3:instanceParms>
                    </ns3:instanceDetails>
                </ns3:tModelInstanceInfo>
                <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherHttpGet">
                    <ns3:description xml:lang="en">The wsdl:portType that this 
wsdl:port implements.</ns3:description>
                </ns3:tModelInstanceInfo>
            </ns3:tModelInstanceDetails>
        </ns3:bindingTemplate>
    </ns3:bindingTemplates>
    <ns3:categoryBag>
        <ns3:keyedReference tModelKey="uddi:uddi.org:xml:namespace" 
keyName="uddi-org:xml:namespace" keyValue="http://www.webserviceX.NET"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:types" 
keyName="uddi-org:wsdl:types" keyValue="service"/>
        <ns3:keyedReference tModelKey="uddi:uddi.org:xml:localname" 
keyName="uddi-org:xml:localName" keyValue="GlobalWeather"/>
    </ns3:categoryBag>
</org.uddi.api_v3.BusinessService>
Request <org.uddi.api_v3.SaveBusiness 
xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"; xmlns:ns3="urn:uddi-org:api_v3">
    <ns3:authInfo>authtoken:7272bd46-2d78-46c7-8455-cbfdebac26fe</ns3:authInfo>
    <ns3:businessEntity>
        <ns3:name xml:lang="en">www.webservicex.com</ns3:name>
        <ns3:businessServices>
            <ns3:businessService 
serviceKey="uddi:www.webservicex.com:service_globalweather" 
businessKey="uddi:www.webservicex.com:business_www.webservicex.com">
                <ns3:name xml:lang="en">GlobalWeather</ns3:name>
                <ns3:description xml:lang="en">Default service description when 
no &lt;wsdl:document&gt; element is defined inside the &lt;wsdl:service&gt; 
element.</ns3:description>
                <ns3:bindingTemplates>
                    <ns3:bindingTemplate 
serviceKey="uddi:www.webservicex.com:service_globalweather">
                        <ns3:description xml:lang="en">Default binding 
description when no &lt;wsdl:document&gt; element is defined inside the 
&lt;wsdl:binding&gt; element.</ns3:description>
                        <ns3:tModelInstanceDetails>
                            <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherHttpPost">
                                <ns3:description xml:lang="en">The wsdl:binding 
that this wsdl:port implements. Default binding description when no 
&lt;wsdl:document&gt; element is defined inside the &lt;wsdl:binding&gt; 
element. The instanceParms specifies the port local name.</ns3:description>
                                <ns3:instanceDetails>
                                    
<ns3:instanceParms>GlobalWeatherHttpPost</ns3:instanceParms>
                                </ns3:instanceDetails>
                            </ns3:tModelInstanceInfo>
                            <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherHttpPost">
                                <ns3:description xml:lang="en">The 
wsdl:portType that this wsdl:port implements.</ns3:description>
                            </ns3:tModelInstanceInfo>
                        </ns3:tModelInstanceDetails>
                    </ns3:bindingTemplate>
                    <ns3:bindingTemplate 
serviceKey="uddi:www.webservicex.com:service_globalweather">
                        <ns3:description xml:lang="en">Default binding 
description when no &lt;wsdl:document&gt; element is defined inside the 
&lt;wsdl:binding&gt; element.</ns3:description>
                        <ns3:tModelInstanceDetails>
                            <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherSoap12">
                                <ns3:description xml:lang="en">The wsdl:binding 
that this wsdl:port implements. Default binding description when no 
&lt;wsdl:document&gt; element is defined inside the &lt;wsdl:binding&gt; 
element. The instanceParms specifies the port local name.</ns3:description>
                                <ns3:instanceDetails>
                                    
<ns3:instanceParms>GlobalWeatherSoap12</ns3:instanceParms>
                                </ns3:instanceDetails>
                            </ns3:tModelInstanceInfo>
                            <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherSoap">
                                <ns3:description xml:lang="en">The 
wsdl:portType that this wsdl:port implements.</ns3:description>
                            </ns3:tModelInstanceInfo>
                        </ns3:tModelInstanceDetails>
                    </ns3:bindingTemplate>
                    <ns3:bindingTemplate 
bindingKey="uddi:www.webservicex.com:binding_www.webservicex.com_globalweather_globalweathersoap_80"
 serviceKey="uddi:www.webservicex.com:service_globalweather">
                        <ns3:description xml:lang="en">Default binding 
description when no &lt;wsdl:document&gt; element is defined inside the 
&lt;wsdl:binding&gt; element.</ns3:description>
                        <ns3:accessPoint 
useType="endPoint">http://www.webservicex.com/globalweather.asmx</ns3:accessPoint>
                        <ns3:tModelInstanceDetails>
                            <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherSoap">
                                <ns3:description xml:lang="en">The wsdl:binding 
that this wsdl:port implements. Default binding description when no 
&lt;wsdl:document&gt; element is defined inside the &lt;wsdl:binding&gt; 
element. The instanceParms specifies the port local name.</ns3:description>
                                <ns3:instanceDetails>
                                    
<ns3:instanceParms>GlobalWeatherSoap</ns3:instanceParms>
                                </ns3:instanceDetails>
                            </ns3:tModelInstanceInfo>
                            <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherSoap">
                                <ns3:description xml:lang="en">The 
wsdl:portType that this wsdl:port implements.</ns3:description>
                            </ns3:tModelInstanceInfo>
                        </ns3:tModelInstanceDetails>
                    </ns3:bindingTemplate>
                    <ns3:bindingTemplate 
serviceKey="uddi:www.webservicex.com:service_globalweather">
                        <ns3:description xml:lang="en">Default binding 
description when no &lt;wsdl:document&gt; element is defined inside the 
&lt;wsdl:binding&gt; element.</ns3:description>
                        <ns3:tModelInstanceDetails>
                            <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherHttpGet">
                                <ns3:description xml:lang="en">The wsdl:binding 
that this wsdl:port implements. Default binding description when no 
&lt;wsdl:document&gt; element is defined inside the &lt;wsdl:binding&gt; 
element. The instanceParms specifies the port local name.</ns3:description>
                                <ns3:instanceDetails>
                                    
<ns3:instanceParms>GlobalWeatherHttpGet</ns3:instanceParms>
                                </ns3:instanceDetails>
                            </ns3:tModelInstanceInfo>
                            <ns3:tModelInstanceInfo 
tModelKey="uddi:www.webservicex.com:GlobalWeatherHttpGet">
                                <ns3:description xml:lang="en">The 
wsdl:portType that this wsdl:port implements.</ns3:description>
                            </ns3:tModelInstanceInfo>
                        </ns3:tModelInstanceDetails>
                    </ns3:bindingTemplate>
                </ns3:bindingTemplates>
                <ns3:categoryBag>
                    <ns3:keyedReference tModelKey="uddi:uddi.org:xml:namespace" 
keyName="uddi-org:xml:namespace" keyValue="http://www.webserviceX.NET"/>
                    <ns3:keyedReference tModelKey="uddi:uddi.org:wsdl:types" 
keyName="uddi-org:wsdl:types" keyValue="service"/>
                    <ns3:keyedReference tModelKey="uddi:uddi.org:xml:localname" 
keyName="uddi-org:xml:localName" keyValue="GlobalWeather"/>
                </ns3:categoryBag>
            </ns3:businessService>
        </ns3:businessServices>
    </ns3:businessEntity>
</org.uddi.api_v3.SaveBusiness>

                
> Upgrade support WSDL2UDDI registration
> --------------------------------------
>
>                 Key: JUDDI-514
>                 URL: https://issues.apache.org/jira/browse/JUDDI-514
>             Project: jUDDI
>          Issue Type: Task
>          Components: uddi-client
>    Affects Versions: 3.1.0
>            Reporter: Kurt T Stam
>            Assignee: Kurt T Stam
>             Fix For: 3.1.5
>
>
> - replace key generation
> - support WSDL registration
> - check if service exist before creating (and replacing exisiting one)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to