2010-02-01 2 views
3

У меня есть следующий wsdl: http://pastie.org/804441. Я получаю следующие ошибки в wsdl. Я использую его в инструменте под названием XAware, который является инструментом интеграции данных.Ошибка анализа WSDL-сообщения

Этот вопрос касается не XAware. Просто глядя на ошибки ниже и файл wsdl, это указывает на некоторые проблемы с использованием WSDL im или мой WSDL?

Пожалуйста, помогите. Спасибо.

Сообщение об ошибке (Error Синтаксический WSDL)

org.xaware.shared.util.XAwareException: определение для схемы "http://www.w3.org/2001/XMLSchema" не доступен в файле WSDL. Пожалуйста, определите его в этом файле или используйте оператор импорта для импорта из другого файла, содержащего определение схемы. Org.xaware.ide.xadev.wizard.BizDocumentWizard $ SelectGrammarFilePage.getSchemURI (Неизвестный источник) в org.xaware.ide.xadev.wizard .BizDocumentWizard $ SelectGrammarFilePage.getOutputMessageSchema (Неизвестный источник) в org.xaware.ide.xadev.wizard.BizDocumentWizard $ SelectGrammarFilePage.parseWSDLFile (Неизвестный источник) на org.xaware.ide.xadev.wizard.BizDocumentWizard $ SelectGrammarFilePage.access $ 000 (Неизвестный источник) на org.xaware.ide.xadev.wizard.BizDocumentWizard $ SelectGrammarFilePage $ 2.selectionChanged (Неизвестный источник) на org.eclipse.jface.viewers.Viewer $ 2.run (Viewer.java:162) на org.eclipse.core.runtime .SafeRunner.run (SafeRunner.java:37) на org.eclipse.core.runtime.Platform.run (Platform.java:880) на org.eclipse.ui.internal.JFaceUtil $ 1.run (JFaceUtil.java:48) на org.eclipse.jface.util.SafeRunnable.run (SafeRunnable.java:175) на org.eclipse.jface.viewers.Viewer.fireSelectionChanged (Viewer.java:160) на org.eclipse.jface.viewers.StructuredViewer.updateSelection (StructuredViewer.java:2062) на org.eclipse.jface.viewers.StructuredViewer.setSelection (StructuredViewer.java:1638) на org.eclipse.jface.viewers.TreeViewer.setSelection (TreeViewer.java:1104)at org.eclipse.wst.common.ui.internal.viewers.SelectSingleFileView.setVisibleHelper (SelectSingleFileView.java:377) в org.xaware.bizdocgenerator.dialogs.SelectFileOrXMLCatalogIdPanel.setVisibleHelper (Неизвестный источник) в org .xaware.ide.xadev.wizard.BizDocumentWizard $ SelectGrammarFilePage.setVisible (Неизвестный источник) в org.eclipse.jface.wizard.WizardDialog.updateForPage (WizardDialog.java:1161) на org.eclipse.jface.wizard.WizardDialog.access $ 2 (WizardDialog.java:1139)at org.eclipse.jface.wizard.WizardDialog $ 4.run (WizardDialog.java:1128) на org.eclipse.swt.custom.BusyIndicator.showWhile (BusyIndicator.java:70) на org.eclipse .jface.wizard.WizardDialog.showPage (WizardDialog.java:1126) в org.eclipse.jface.wizard.WizardDialog.nextPressed (WizardDialog.java:820) на org.eclipse.jface.wizard.WizardDialog.buttonPressed (WizardDialog.java:369) на org.eclipse.jface.dialogs.Dialog $ 2.widgetSelected (Dialog.java:624) на org.eclipse.swt.widgets.TypedListener .handleEvent (TypedListener.java:228) в org.eclipse.swt.widgets.EventTable.sendEvent (EventTable.java:84) в org.eclipse.swt.widgets.Widget.sendEvent (Widget.java:1003) в org. eclipse.swt.widgets.Display.runDeferredEvents (Display.java:3823) на org.eclipse.swt.widgets.Display.readAndDispatch (Display.java:3422) на org.eclipse.jface.window.Window.runEventLoop (окно. java: 825) на org.eclipse.jface.window.Window.open (Window.java:801) на org.xaware.ide.xadev.wizard.BizDocumentWizard.showDialog (Неизвестный источник) на org.xaware.ide.xadev. gui.actions.CreateBizDocFromWSDLAction.run (Неизвестный источник) в org.eclipse.ui.internal.PluginAction.runWithEvent (PluginAction.java:251) на org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:583) на org.eclipse.jface.action.ActionContributionItem.a ccess $ 2 (ActionContributionItem.java:500) на org.eclipse.jface.action.ActionContributionItem $ 5.handleEvent (ActionContributionItem.java:411) на org.eclipse.swt.widgets.EventTable.sendEvent (EventTable.java:84) в org .eclipse.swt.widgets.Widget.sendEvent (Widget.java:1003) в org.eclipse.swt.widgets.Display.runDeferredEvents (Display.java:3823) на org.eclipse.swt.widgets.Display.readAndDispatch (Показать .java: 3422) at org.eclipse.ui.internal.Workbench.runEventLoop (Workbench.java:2382) на org.eclipse.ui.internal.Workbench.runUI (Workbench.java:2346) на org.eclipse.ui. internal.Workbench.access $ 4 (Workbench.java:2198) на org.eclipse.ui.internal.Workbench $ 5.run (Workbench.java:493) на org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm. java: 288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:488) на org.eclipse.ui.PlatformUI.createAndRunWorkbench (PlatformUI.java:149) на org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113) у организации .eclipse.equinox.internal.app.EclipseAppHandle.run (EclipseAppHandle.java:193) в org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication (EclipseAppLauncher.java:110) на org.eclipse.core.runtime .internal.adaptor.EclipseAppLauncher.start (EclipseAppLauncher.java:79) в org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:386) в org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:179)at sun.reflect.NativeMethodAccessorImpl.invoke0 (Нативный метод) на sun.reflect.NativeMethodAccessorImpl.invoke (Неизвестный источник) на sun.reflect.DelegatingMethodAccessorImpl.invoke (Неизвестный источник) в java.lang.reflect. Method.invoke (Неизвестный источник) на org.eclipse.equinox.launcher.Main.invokeFramework (Main.java:549) на org.eclipse.equinox.launcher.Main.basicRun (Ma in.java:504)at org.eclipse.equinox.launcher.Main.run (Main.java:1236) на org.eclipse.equinox.launcher.Main.main (Main.java:1212)

ответ

0

Это я понимаю, что оператор <import/> должен содержать атрибут schemaLocation. Оператор импорта (если вы действительно нуждаетесь в этом) должно выглядеть примерно так:

<import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="soapenc.xsd" /> 
+0

Спасибо за ответ Кевин. Когда я делаю это, я получаю: «WSDLException (at/wsdl: определения/wsdl: types/schema [1]): faultCode = OTHER_ERROR: Произошла ошибка при попытке решить схему, указанную в 'soapenc.xsd', относительно файла: /C:/XAware_5.4.0.356/designer/workspace/Imaginary Corporation/CompiereService/NewWSDLFile.wsdl '.: Этот файл не найден: файл:/C: /XAware_5.4.0.356/designer/workspace/Imaginary Corporation/CompiereService/soapenc.xsd: java.io.FileNotFoundException: Этот файл не найден: файл:/C: /XAware_5.4.0.356/designer/workspace/Imaginary Corporation/CompiereService/soapenc.xsd – Tim

+0

Тим, этот файл (soapenc. xsd) должен фактически существовать или быть ссылкой на действительную схему. Я бы просто оставил этот конкретный импорт, я не думаю, что вам это нужно. – Kevin

+0

Спасибо, Кевин за это указывает. Я загрузил soapenc.xsd и разместил он в нужном месте, так что ошибка исчезла. Но теперь я получаю сообщение об ошибке «org.xaware.shared.util.XAwareException: T его определение для схемы «http://www.w3.org/2001/XMLSchema» недоступно в файле wsdl. Пожалуйста, определите его в этом файле или используйте оператор импорта для импорта из другого файла, содержащего определение схемы ». Извините за проблему, но есть ли способ, которым это может быть исправлено? – Tim

0

Это звучит для меня, как это могло бы быть частично XAware вопрос/бзик, так как, насколько я знаю, вы не должны должны указать схему. Расположение хорошо известных схем, таких как http://www.w3.org/2001/XMLSchema, с помощью инструмента обычного поведения.

Возможно, вы можете попробовать указать расположение импорта по адресу http://www.w3.org/2001/XMLSchema.xsd и посмотреть, что произойдет?

1

Инструмент можно спутать, потому что схема-х назначая два префикса к «http://www.w3.org/2001/XMLSchema» пространства имен: как «XSD» в корневом элементе:

xmlns:xsd="http://www.w3.org/2001/XMLSchema" 

и по умолчанию (т.е. без префикса) в каждом " схема ":

xmlns="http://www.w3.org/2001/XMLSchema" 

В зависимости от того, как программное обеспечение обрабатывает этот случай, возможно, он кашляет на нем. В любом случае, это стоит того, чтобы исправить это, если бы не по какой-либо другой причине, чем это упростило бы чтение WSDL.

<xsd:schema> 

лучше

<schema targetNamespace="http://compservice.com" xmlns="http://www.w3.org/2001/XMLSchema"> 
+0

Либо сделайте то, что Габриэль предлагает или удаляет объявление xmlns: xsd из определений wsdl:. Это должно работать, я верю. – anirvan