[
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
<wsdl:document> element is defined inside the <wsdl:service>
element.</ns3:description>
<ns3:bindingTemplates>
<ns3:bindingTemplate
serviceKey="uddi:www.webservicex.com:service_globalweather">
<ns3:description xml:lang="en">Default binding description when no
<wsdl:document> element is defined inside the <wsdl:binding>
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 <wsdl:document>
element is defined inside the <wsdl:binding> 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
<wsdl:document> element is defined inside the <wsdl:binding>
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 <wsdl:document>
element is defined inside the <wsdl:binding> 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
<wsdl:document> element is defined inside the <wsdl:binding>
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 <wsdl:document>
element is defined inside the <wsdl:binding> 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
<wsdl:document> element is defined inside the <wsdl:binding>
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 <wsdl:document>
element is defined inside the <wsdl:binding> 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 <wsdl:document> element is defined inside the <wsdl:service>
element.</ns3:description>
<ns3:bindingTemplates>
<ns3:bindingTemplate
serviceKey="uddi:www.webservicex.com:service_globalweather">
<ns3:description xml:lang="en">Default binding
description when no <wsdl:document> element is defined inside the
<wsdl:binding> 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
<wsdl:document> element is defined inside the <wsdl:binding>
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 <wsdl:document> element is defined inside the
<wsdl:binding> 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
<wsdl:document> element is defined inside the <wsdl:binding>
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 <wsdl:document> element is defined inside the
<wsdl:binding> 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
<wsdl:document> element is defined inside the <wsdl:binding>
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 <wsdl:document> element is defined inside the
<wsdl:binding> 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
<wsdl:document> element is defined inside the <wsdl:binding>
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