使用jaxws:client启动应用程序,即使Web服务不可用

时间:2017-05-23 09:52:29

标签: java spring cxf jax-ws

我有一个使用JAX-WS客户端的应用程序。

<jaxws:client name="http://XXXXXX"
              wsdlLocation="YYYYY.wsdl"
              createdFromAPI="true">
    <jaxws:properties>
        <entry key="ws-security.sts.client" value-ref="ZZZZZZZ" />
    </jaxws:properties>
</jaxws:client>

在Web服务停机期间启动应用程序时,spring上下文失败,应用程序根本无法启动。

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [XXXX]: Constructor threw exception; nested exception is javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing 'https://YYYYY.wsdl'.: java.net.UnknownHostException: YYYYY
Caused by: java.net.UnknownHostException: YYYYY

如何以启动方式配置应用程序,并且spring配置不会失败 据我所知,只要Web服务关闭,Web服务客户端就无法工作 我需要应用程序启动并使用Web服务。

1 个答案:

答案 0 :(得分:0)

您可以将WSDL文件放入类路径并在wsdlLocation中找到它。

wsdlLocation="yyyyy.wsdl"

或者您可以以编程方式处理它。详情here