Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 165544

Summary: WSDM Tooling: Enhanced importing of WSDLs and schemas
Product: z_Archived Reporter: Balan Subramanian <bsubram>
Component: TPTP.monitoringAssignee: Mark Weitzel <weitzelm>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P1 CC: aeberbac, bhanu.prathap, sadravid
Version: unspecifiedKeywords: plan
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
URL: http://www.eclipse.org/tptp/groups/Architecture/documents/features/hf_165544.html
Whiteboard: closed460
Attachments:
Description Flags
Patch
none
Updated patch
none
Updated patch
none
Updated patch
none
Updated patch none

Description Balan Subramanian CLA 2006-11-22 17:02:59 EST
The WSDM tooling tech preview in TPTP 4.3 allows an user to import existing WSDL and XSD definitions for defining the operations and properties of a capability. However there are certain restrictions such as only one port type can be imported and complex types can be imported only if they satisfy certain criteria. 

This feature will remove these restrictions and make imports more seamless. This includes changes to:
1. The UI for importing. Right now, imports can be done only when a capability is being created.
2. The back end code for processing the imports.
3. The validation of imported WSDLs and XSDs.
Comment 1 Balan Subramanian CLA 2006-12-05 07:00:42 EST
Need to process referenced schemas
Comment 2 Balan Subramanian CLA 2006-12-11 02:27:03 EST
Also must take into consideration merging of WSDls with multiple port types
Comment 3 Balan Subramanian CLA 2006-12-11 02:28:44 EST
Also consider multiple WSDl and XSD schemas (whether to allow or not)
Comment 4 Saurabh Dravid CLA 2007-02-01 13:02:52 EST
Created attachment 58038 [details]
Patch

This patch is initial code to import XSD and WSDL into capability.
Comment 5 Saurabh Dravid CLA 2007-02-02 02:14:54 EST
Created attachment 58095 [details]
Updated patch

Functionality for importing included.
Comment 6 Dave Smith CLA 2007-02-07 01:22:04 EST
Removing target because it has not been approved by PMC yet for inclusion in the 4.4 plan.
Comment 7 Dave Smith CLA 2007-02-07 01:24:01 EST
Adding sizing from description document.
Comment 8 Saurabh Dravid CLA 2007-02-13 08:19:28 EST
Created attachment 58849 [details]
Updated patch

Please apply this patch.
Comment 9 Balan Subramanian CLA 2007-02-16 01:17:11 EST
Patch applied into tptp cvs
Comment 10 Bhanu Prathap V CLA 2007-02-16 06:12:13 EST
1. Created Custom Capability and renamed to wsdl file
2. When trying to create new capability file by importing wsdl file, error throws up, please check the below error log. So could not verify the defect

Build: TPTP-4.4.0-200702160321

WSDLException (at /wsdl:definitions/wsdl:types/xsd:schema): faultCode=OTHER_ERROR: An error occurred trying to resolve schema referenced at 'platform:/plugin/org.apache.muse.tools/artifacts/managementCapabilities/WS-BaseFaults-1_2.xsd', relative to 'E:/WSDM_Backup/WSDM_Jan07/TPTP-4.4.0-200702160321/tptp.runtime.allInOne/eclipse/workspace/Test1/file.wsdl'.: no content-type: java.net.UnknownServiceException: no content-typeat java.net.URLConnection.getContentHandler(URLConnection.java:1179)at java.net.URLConnection.getContent(URLConnection.java:695)at java.net.URL.getContent(URL.java:1055)at com.ibm.wsdl.util.StringUtils.getContentAsInputStream(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)at org.eclipse.tptp.wsdm.tooling.wizard.capability.internal.CapabilityModelImporterPage.getWsdlDefinition(CapabilityModelImporterPage.java:317)at org.eclipse.tptp.wsdm.tooling.wizard.capability.internal.CapabilityModelImporterPage.handleWSDLBrowse(CapabilityModelImporterPage.java:295)at org.eclipse.tptp.wsdm.tooling.wizard.capability.internal.CapabilityModelImporterPage.access$5(CapabilityModelImporterPage.java:287)at org.eclipse.tptp.wsdm.tooling.wizard.capability.internal.CapabilityModelImporterPage$7.widgetSelected(CapabilityModelImporterPage.java:237)at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:215)at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3490)at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3104)at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)at org.eclipse.jface.window.Window.open(Window.java:796)at org.eclipse.ui.actions.NewWizardAction.run(NewWizardAction.java:182)at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545)at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3490)at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3104)at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2264)at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2228)at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2103)at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:457)at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:452)at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:101)at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:146)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:615)at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:476)at org.eclipse.equinox.launcher.Main.basicRun(Main.java:416)at org.eclipse.equinox.launcher.Main.run(Main.java:1124)at org.eclipse.equinox.launcher.Main.main(Main.java:1099)at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)at org.eclipse.tptp.wsdm.tooling.wizard.capability.internal.CapabilityModelImporterPage.getWsdlDefinition(CapabilityModelImporterPage.java:317)at org.eclipse.tptp.wsdm.tooling.wizard.capability.internal.CapabilityModelImporterPage.handleWSDLBrowse(CapabilityModelImporterPage.java:295)at org.eclipse.tptp.wsdm.tooling.wizard.capability.internal.CapabilityModelImporterPage.access$5(CapabilityModelImporterPage.java:287)at org.eclipse.tptp.wsdm.tooling.wizard.capability.internal.CapabilityModelImporterPage$7.widgetSelected(CapabilityModelImporterPage.java:237)at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:215)at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3490)at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3104)at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)at org.eclipse.jface.window.Window.open(Window.java:796)at org.eclipse.ui.actions.NewWizardAction.run(NewWizardAction.java:182)at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545)at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3490)at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3104)at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2264)at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2228)at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2103)at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:457)at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:452)at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:101)at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:146)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:615)at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:476)at org.eclipse.equinox.launcher.Main.basicRun(Main.java:416)at org.eclipse.equinox.launcher.Main.run(Main.java:1124)at org.eclipse.equinox.launcher.Main.main(Main.java:1099)
Comment 11 Bhanu Prathap V CLA 2007-02-16 06:15:41 EST
i made custom wsdl file with below wsdl code, but at the time importind wsdl file its validating as "Message is not of doc literal type". So could not verify the defect.

Build: TPTP-4.4.0-200702160321

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://demos.capeclear.com/HelloWorld/"     
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="HelloWorld"   
        targetNamespace="http://demos.capeclear.com/HelloWorld/">
  <wsdl:message name="sayHelloRequest">
    <wsdl:part name="yourName" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="sayHelloResponse">
    <wsdl:part name="greeting" type="xsd:string"/>
  </wsdl:message>
  <wsdl:portType name="HelloWorld">
    <wsdl:operation name="sayHello">
      <wsdl:input message="tns:sayHelloRequest"/>
      <wsdl:output message="tns:sayHelloResponse"/>
    </wsdl:operation>
  </wsdl:portType>
   <wsdl:binding name="HelloWorldSOAP" type="tns:HelloWorld">
     <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="sayHello">
          <soap:operation soapAction="cc:HelloWorldService:HelloWorld#sayHello"/>
           <wsdl:input>
             <soap:body namespace="http://demos.capeclear.com/HelloWorld/" use="literal"/>
           </wsdl:input>
           <wsdl:output>
             <soap:body namespace="http://demos.capeclear.com/HelloWorld/" use="literal"/>
           </wsdl:output>
        </wsdl:operation>
   </wsdl:binding>
  <wsdl:service name="HelloWorld">
    <wsdl:port binding="tns:HelloWorldSOAP" name="HelloWorldSOAP">
      <soap:address location="http://localhost:8080/ccx/HelloWorld"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
Comment 12 Balan Subramanian CLA 2007-02-23 12:08:56 EST
waiting for wsdl resolution
Comment 13 Saurabh Dravid CLA 2007-02-26 07:02:21 EST
Created attachment 59774 [details]
Updated patch

Please apply this patch.
This patch will resolve all the imported schemas properly.
Comment 14 Balan Subramanian CLA 2007-02-28 01:06:01 EST
Applied patch
 02-26-2007 17:23
	ImportWsdlPatch.txt
Comment 15 Balan Subramanian CLA 2007-02-28 01:06:34 EST
Andrew, please check the parameter names being generated, they are still wrong.
Comment 16 Andrew Eberbach CLA 2007-03-27 11:44:27 EDT
targetting to i3
Comment 17 Andrew Eberbach CLA 2007-03-27 11:44:35 EDT
targetting to i3
Comment 18 Balan Subramanian CLA 2007-04-17 10:22:36 EDT
feature completed
Comment 19 Saurabh Dravid CLA 2007-04-18 11:27:02 EDT
Created attachment 64199 [details]
Updated patch

Please apply this patch.
Comment 20 Bhanu Prathap V CLA 2007-04-25 08:34:22 EDT
Verified - closed
Build: TPTP-4.4.0-200704250100
Comment 21 Paul Slauenwhite CLA 2009-06-30 12:14:24 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.