簡體   English   中英

解析WSDL消息時出錯

[英]Error parsing WSDL message

我有以下wsdl: http//pastie.org/804441 我用wsdl得到以下錯誤。 我在一個名為XAware的工具中使用它,這是一個數據集成工具。

這個問題與XAware無關。 只是看下面的錯誤和wsdl文件,它是否表明使用WSDL的一些問題或者我的WSDL是否合適?

請幫忙。 謝謝。

錯誤消息(錯誤解析WSDL)

org.xaware.shared.util.XAwareException:wsdl文件中沒有模式“ http://www.w3.org/2001/XMLSchema ”的定義。 請在此文件中定義它或使用import語句從包含架構definition.at org.xaware.ide.xadev.wizard.BizDocumentWizard的其他文件導入$ org.xaware.ide.xadev.wizard中的SelectGrammarFilePage.getSchemURI(未知來源) .BizDocumentWizard $ org.xaware.ide.xadev.wizard.BizDocumentWizard上的SelectGrammarFilePage.getOutputMessageSchema(未知來源)$ org.xaware.ide.xadev.wizard.BizDocumentWizard上的SelectGrammarFilePage.parseWSDLFile(未知來源)$ SelectGrammarFilePage.access $ 000(未知來源) )org.xaware.ide.xadev.wizard.BizDocumentWizard $ org.eclipse.core.runtime上的org.eclipse.jface.viewers.Viewer $ 2.run(Viewer.java:162)的SelectGrammarFilePage $ 2.selectionChanged(未知來源) .safeRunner.run(SafeRunner.java:37)位於org.eclipse.ore.rFn上的org.eclipse.ore.runtime.Platform.run(Platform.java:880)(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.TreeViewer.setSelection的org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1638) (TreeViewer.java:1104)org.eclipse.wst.common.ui.internal.viewers.SelectSingleFileView.setVisibleHelper(SelectSingleFileView.java:377)org.xaware.bizdocgenerator.dialogs.SelectFileOrXMLCatalogIdPanel.setVisibleHelper(Unknown Source)at org .xaware.ide.xadev.wizard.BizDocumentWizard $ org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1161)org.eclipse.jface.wizard.WizardDialog.access $ 2中的SelectGrammarFilePage.setVisible(未知來源) (WizardDialog.java:1139)org.eclipse.jface.wizard.WizardDialog $ 4.run(WizardDialog.java:1128)org.eclipse上的org.eclipse.swt.custom.BusyIndi​​cator.showWhile(BusyIndi​​cator.java:70) org.eclipse.jface.wizard.WizardDialog.nextPressed上的.jface.wizard.WizardDialog.showPage(WizardDialog.java:1126)(WizardDialog.java:820 )org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:369)atg.eclipse.jface.dialogs.Dialog $ 2.widgetSelected(Dialog.java:624)org.eclipse.swt.widgets.TypedListener .handleEvent(TypedListener.java:228)位於org的org.eclipse.swt.wts.wwt.sendEvent(EventTable.java:84)org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)。 eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)位於org.eclipse.wts.jidgets.Display.readAndDispatch(Display.java:3422)的org.eclipse.jface.window.Window.runEventLoop(Window。 java:825)org.eclipse.jface.window.Window.open(Window.java:801)org.xaware.ide.xadev.wizard.BizDocumentWizard.showDialog(未知來源)org.xaware.ide.xadev。位於org.eclipse.ui.inp上的org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)的gui.actions.CreateBizDocFromWSDLAction.run(未知來源),atg.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)at at org.eclipse.jface.action.ActionContributionItem.a 在組織的org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)的org.eclipse.jface.action.ActionContributionItem $ 5.handleEvent(ActionContributionItem.java:411)中獲得$ 2(ActionContributionItem.java:500)位於org.eclipse.swt.wts.Display.readAndDispatch的org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)中的.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) .java:3422)在org.eclipse.ui上的org.eclipse.ui.Uternal.Workbench.runUI(Workbench.java:2346)的org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)。在org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm。)的org.eclipse.ui.internal.Workbench $ 5.run(Workbench.java:493)中的internal.Workbench.access $ 4(Workbench.java:2198)。 java:288)org.eclipse.ui.internal.工作台上的org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)或org.eclipse.ui.internal.ide上的org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) org.eclipse.equ上的.application.IDEApplication.start(IDEApplication.java:113) 位於org.eclipse.core.runtime.internal的org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)中的inox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)。 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(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke (未知來源)org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)atg.eclipse.equinox.launcher .Main.run(Main.java:1236)org.eclipse.equinox.launcher.Main.main(Main.java:1212)

該工具可能會混淆,因為架構為“ http://www.w3.org/2001/XMLSchema ”命名空間分配了兩個前綴:根元素中的“xsd”:

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

以及每個“schema”元素中的默認值(即無前綴):

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

根據軟件處理這種情況的方式,它可能會咳嗽。 無論如何,這是值得修復的東西,如果沒有其他原因,它將使WSDL更容易閱讀。

<xsd:schema>

比...更好

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

我的理解是<import/>語句必須包含schemaLocation屬性。 import語句(如果你真的需要它)應該類似於:

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

聽起來我覺得它可能部分是一個XAware問題/怪癖,因為據我所知,你不必指定知名模式的schemaLocation,如http://www.w3.org/ 2001 / XMLSchema具有常規工具。

也許您可以嘗試將導入位置指向http://www.w3.org/2001/XMLSchema.xsd ,看看會發生什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM