2014-06-19 72 views
0

我已經創建了Spring Web服務並部署在Weblogic服務中。我得到以下日誌:Spring Web服務 - 無法找到WSDL

Jun 19, 2014 9:21:29 PM org.springframework.web.context.ContextLoader initWebApplicationContext 
INFO: Root WebApplicationContext: initialization started 
Jun 19, 2014 9:21:30 PM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh 
INFO: Refreshing Root WebApplicationContext: startup date [Thu Jun 19 21:21:30 IST 2014]; root of context hierarchy 
Jun 19, 2014 9:21:31 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons 
INFO: Pre-instantiating singletons in org.s[email protected]3b14dd4: defining beans []; root of factory hierarchy 
Jun 19, 2014 9:21:31 PM org.springframework.web.context.ContextLoader initWebApplicationContext 
INFO: Root WebApplicationContext: initialization completed in 2041 ms 
Jun 19, 2014 9:21:32 PM org.springframework.ws.transport.http.MessageDispatcherServlet initServletBean 
INFO: FrameworkServlet 'test-ws': initialization started 
Jun 19, 2014 9:21:32 PM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh 
INFO: Refreshing WebApplicationContext for namespace 'test-ws-servlet': startup date [Thu Jun 19 21:21:32 IST 2014]; parent: Root WebApplicationContext 
Jun 19, 2014 9:21:32 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/test-ws-servlet.xml] 
Jun 19, 2014 9:21:32 PM org.springframework.ws.soap.addressing.server.AnnotationActionEndpointMapping afterPropertiesSet 
INFO: Supporting [WS-Addressing August 2004, WS-Addressing 1.0] 
Jun 19, 2014 9:21:32 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons 
INFO: Pre-instantiating singletons in org.s[email protected]213f529: defining beans [org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping#0,org.springframework.ws.soap.server.endpoint.mapping.SoapActionAnnotationMethodEndpointMapping#0,org.springframework.ws.soap.addressing.server.AnnotationActionEndpointMapping#0,org.springframework.ws.server.endpoint.adapter.method.dom.DomPayloadMethodProcessor#0,org.springframework.ws.server.endpoint.adapter.method.SourcePayloadMethodProcessor#0,org.springframework.ws.server.endpoint.adapter.method.jaxb.XmlRootElementPayloadMethodProcessor#0,org.springframework.ws.server.endpoint.adapter.method.jaxb.JaxbElementPayloadMethodProcessor#0,org.springframework.ws.server.endpoint.adapter.DefaultMethodEndpointAdapter#0,org.springframework.ws.soap.server.endpoint.SoapFaultAnnotationExceptionResolver#0,org.springframework.ws.soap.server.endpoint.SimpleSoapExceptionResolver#0,getCptSkuDetailsWebService,getSkuDetailsWebService,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,skuDetails,skuDetailsSchema,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; parent: org.s[email protected]3b14dd4 
Jun 19, 2014 9:21:33 PM org.springframework.ws.soap.saaj.SaajSoapMessageFactory afterPropertiesSet 
INFO: Creating SAAJ 1.3 MessageFactory with SOAP 1.1 Protocol 
Jun 19, 2014 9:21:33 PM org.springframework.ws.transport.http.MessageDispatcherServlet initServletBean 
INFO: FrameworkServlet 'test-ws': initialization completed in 1167 ms 

但是,當我嘗試擊中URL無法找到404說WSDL。

請找web.xml中

<servlet> 
    <servlet-name>test-ws</servlet-name> 
    <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>transformWsdlLocations</param-name> 
     <param-value>true</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>test-ws</servlet-name> 
    <url-pattern>/*</url-pattern> 
    </servlet-mapping> 

    <servlet-mapping> 
    <servlet-name>test-ws</servlet-name> 
    <url-pattern>*.wsdl</url-pattern> 
    </servlet-mapping> 

    <context-param> 
    <param-name>contextConfigLocation</param-name> 
     <param-value></param-value> 
</context-param> 

    <listener> 
    <listener-class> 
     org.springframework.web.context.ContextLoaderListener 
     </listener-class> 
    </listener> 

請找到測試-WS-servlet.xml文件

<bean id="testDetails" 
    class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition"> 
    <property name="schema" ref="testDetailsSchema" /> 
    <property name="portTypeName" value="GetTestServicePortType" /> 
    <property name="locationUri" value="/testDetailsService/" /> 
    </bean> 

    <bean id="testDetailsSchema" class="org.springframework.xml.xsd.SimpleXsdSchema"> 
    <property name="xsd" value="/schemas/TestDetails.xsd" /> 
    </bean> 

我使用的網址是:

http://localhost:7001/<projectName>/<locationUri>/<beanid>.wsdl 

請幫我在這種情況下。我可以從日誌中瞭解WSDL已經生成,如果我的理解錯誤,請幫助。 也請幫我找到WSDL。我用來訪問WSDL的URL是否正確?

回答