Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WSDL定位器中的异常_Java_Wsdl_Cxf - Fatal编程技术网

Java WSDL定位器中的异常

Java WSDL定位器中的异常,java,wsdl,cxf,Java,Wsdl,Cxf,我正在尝试在服务器中运行服务。但当我运行它时,它抛出以下异常: javax.wsdl.WSDLException: WSDLException (at /soapenv:Envelope): faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'. at com.ibm.wsdl.xml.WSDLReaderImpl.checkElementName(Unkn

我正在尝试在服务器中运行服务。但当我运行它时,它抛出以下异常:

javax.wsdl.WSDLException: WSDLException (at /soapenv:Envelope): faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'.
        at com.ibm.wsdl.xml.WSDLReaderImpl.checkElementName(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 org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:229)
        at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:179)
        at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:91)
javax.wsdl.WSDLException:WSDLException(at/soapenv:Envelope):faultCode=INVALID_wsdl:Expected元素'{http://schemas.xmlsoap.org/wsdl/}定义'。
位于com.ibm.wsdl.xml.WSDLReaderImpl.checkElementName(未知源)
位于com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(未知源)
位于com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(未知源)
位于com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(未知源)
位于org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:229)
位于org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:179)
位于org.apache.cxf.wsdl11.WSDLServiceFactory.(WSDLServiceFactory.java:91)

我需要将WSDL文件放在项目中的什么位置?我已经生成了WSDL到Java客户机代码,并将其导入到我的项目中。在一个单独的文件夹中,我导入了我的所有WSDL文件。

作为例外状态,您的WSDL无效


我想冒昧地猜测一下,您没有在预期/需要的元素中包含
元素。但在任何情况下,您都需要修复用于定义服务的WSDL。

您的WSDL似乎无效。正如Andrzej Doyle所说,您的WSDL可能缺少该元素,或者如果您的WSDL包含该元素,那么它包含错误的信息。看起来应该是

<definitions name="HelloService"
targetNamespace="http://www.examples.com/wsdl/HelloService.wsdl" 
xmlns="http://schemas.xmlsoap.org/wsdl/" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:tns="http://www.examples.com/wsdl/HelloService.wsdl" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
</definitions>

  • targetnamespace标记是否包含wsdl的正确位置
您可以从以下网站获得更多信息: 及


注意:在任何情况下,都必须更正wsdl。因此,请确保您在这两个地方都更改了wsdl(在实际的wsdl和您单独的文件夹中)

在我的情况下,问题是我试图使用类似
的URL访问客户端中的WShttp://foo.bar/ws/WSName
我需要使用像
http://foo.bar/ws/WSName?WSDL
(注意
&WSDL
部分)

希望这对别人有帮助