首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用soapui进行WSDL/SOAP测试

使用soapui进行WSDL/SOAP测试
EN

Stack Overflow用户
提问于 2011-06-05 21:15:48
回答 4查看 108.9K关注 0票数 25

我已经使用soapui测试了我的web服务(wsdl/soap)。我有这样的错误: http/log : error 400错误请求。

我的wsdl有什么错误?

错误/日志:

代码语言:javascript
复制
un Jun 05 14:10:37 CEST 2011:ERROR:javax.wsdl.WSDLException: WSDLException (at /html): faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'.
   javax.wsdl.WSDLException: WSDLException (at /html): 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 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.eviware.soapui.impl.wsdl.support.wsdl.WsdlInterfaceDefinition.load(WsdlInterfaceDefinition.java:48)
    at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinition(WsdlContext.java:66)
    at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinition(WsdlContext.java:30)
    at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext.cacheDefinition(AbstractDefinitionContext.java:264)
    at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext.access$400(AbstractDefinitionContext.java:44)
    at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext$Loader.construct(AbstractDefinitionContext.java:230)
    at com.eviware.soapui.support.swing.SwingWorkerDelegator.construct(SwingWorkerDelegator.java:46)
    at com.eviware.soapui.support.swing.SwingWorker$2.run(SwingWorker.java:140)
    at java.lang.Thread.run(Thread.java:637)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-05 21:20:50

definitions是WSDL的根元素,所以看起来您并没有加载WSDL。

编辑:

我测试了一下,看起来整个问题都出在你的web服务器上。您的web服务器将WSDL返回给浏览器,但不会将其返回给任何工具,因为这些工具使用的是非常简单的HTTP请求,没有很多HTTP头。缺少的报头之一是Accept。一旦请求中不包含此标头,您的服务器就会抛出HTTP400错误请求。

继续的简单方法是在浏览器中打开WSDL,将wsdl保存到一个文件,然后将该文件导入soapUI,而不是从URL导入WSDL。

票数 39
EN

Stack Overflow用户

发布于 2012-08-17 17:07:40

另一种可能是,您需要在SoapUI的服务url末尾添加?wsdl。因为我已经习惯了不需要它的WCFClient,所以我就用到了这一点。

票数 7
EN

Stack Overflow用户

发布于 2012-10-04 14:27:47

您可以尝试在web浏览器中打开wsdl并使用.wsdl扩展进行保存。并将SOAP UI项目中的WSDL设置为此.wsdl文件。这真的很有效。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6243128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档