我在这之后做了一个教程 - &gt; http://java.dzone.com/articles/spring-ws-how 当我去url http://localhost:8080/myService/services/MemberDetailsRequest.wsdl时,我得到静态wsdl文件..但是当我使用SoapUI导入wsdl文件然后测试它时...我只得到404错误,any1有解决方案吗?< / p>
任何建议,为什么我无法通过soapUI获得任何回复?
答案 0 :(得分:3)
检查以确保您的@PayloadRoot初始值设定项正确无误。我的&#34; localpart&#34;定义与XSD中的元素名称不匹配。这是我的Java类现在的样子:
@PayloadRoot(localPart = "GetLoginRequest", namespace = "<namespace>")
这是XSD:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="<namespace>" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="<namespace>">
<xsd:include schemaLocation="user-types.xsd"></xsd:include>
<xsd:element name="GetLoginRequest" type="loginRequest"></xsd:element>
<xsd:element name="GetLoginReply" type="loginReply"></xsd:element>
</xsd:schema>
答案 1 :(得分:1)
确保SoapUI遵循您的URL映射。 就我而言,SoapUI没有自动附加&#34; .wsdl&#34;最后。
在我的web.xml中:
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/services/HelloPersonService.wsdl</url-pattern>
</servlet-mapping>
在Soap UI中,&#34; .wsdl&#34;不在那里。只需在Soap UI中的地址栏中手动添加它,然后继续进行测试。
答案 2 :(得分:0)
PayloadRoot命名空间和架构命名空间应该相同
答案 3 :(得分:0)
对包含所有端点的程序包执行组件扫描。这对我有用。在memberservice-servlet.xml中包含以下内容
<context:component-scan base-package="org.bk.memberservice.endpoint" />