2011-02-22 57 views
4

我做了這個教程後 - >http://java.dzone.com/articles/spring-ws-how ,當我去的URL http://localhost:8080/myService/services/MemberDetailsRequest.wsdl,我得到的靜態WSDL文件..但是當我使用了SoapUI在WSDL文件導入並對其進行測試。我只有404錯誤,any1有解決方案嗎?春-WS SOAP 404錯誤

任何建議,爲什麼我不能使用soapUI得到任何迴應?

+0

在SoapUI屏幕的底部,您會看到一系列按鈕,其中一個稱爲「錯誤日誌」。它將提供更多關於'NullPointerException'的性質的詳細信息。你能否再次嘗試並粘貼錯誤日誌的內容? –

+0

錯誤日誌是乾淨的,我只得到「在23日(星期三)2月23日10:20:48 EET 2011:信息:得到的響應爲[memberserviceSOAP.GetMemberDetails:請求1]在73毫秒(1079字節) 」在soapUI日誌中,但響應我得到是apache/tomcat 404 – user365314

+0

我有完全相同的問題,還沒有找到解決方案。 –

回答

3

檢查以確保您的@PayloadRoot初始化器是正確的。我的「localpart」定義與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> 
+0

我玩了一個小時,這個回覆幫助我在我的名字空間找到一個錯字。謝謝。 – Patrick

0

PayloadRoot命名空間和架構命名空間應該是相同的

0

請在包含該程序包的組件掃描所有的端點。這對我有效。在memberservice-servlet.xml中包括以下

<context:component-scan base-package="org.bk.memberservice.endpoint" /> 
1

確保了SoapUI如下的URL映射。 在我的情況下,SoapUI沒有在最後自動附加「.wsdl」。

在我的web.xml:

<servlet-mapping> 
    <servlet-name>Hello</servlet-name> 
    <url-pattern>/services/HelloPersonService.wsdl</url-pattern> 
</servlet-mapping> 

肥皂UI中, 「的.wsdl」 是不存在。只需在Soap UI中的地址欄中手動添加它,然後繼續進行測試。