Java 使用spring引导和Weblogic公开SOAP Web服务

Java 使用spring引导和Weblogic公开SOAP Web服务,java,web-services,weblogic,spring-boot,Java,Web Services,Weblogic,Spring Boot,我正在编写一个spring引导应用程序,我想在WebLogic12c中部署它。应用程序公开了一个SOAP Web服务。在独立模式下运行应用程序时(spring boot使用嵌入式tomcat运行),一切正常,我可以通过 http://localhost:8081/ws/springbootwstest.wsdl 但是,如果我在Weblogic中部署应用程序war文件,则在成功部署应用程序本身时,Webservice不可用 我无法访问wsdl。我已经按照上面的说明做了 但结果还是一样 可在此处找

我正在编写一个spring引导应用程序,我想在WebLogic12c中部署它。应用程序公开了一个SOAP Web服务。在独立模式下运行应用程序时(spring boot使用嵌入式tomcat运行),一切正常,我可以通过

http://localhost:8081/ws/springbootwstest.wsdl
但是,如果我在Weblogic中部署应用程序war文件,则在成功部署应用程序本身时,Webservice不可用

我无法访问wsdl。我已经按照上面的说明做了 但结果还是一样

可在此处找到所有来源:

java版本“1.7.0_67”

弹簧靴1.2.0.0版本


Weblogic 12.1.3.0.0

在对Weblogic 12c感到非常失望之后,我今天解决了这个问题。Weblogic仍然要求您在web.xml中定义SpringWS消息调度程序servlet,如下所示。确保您也将spring boot遗留依赖项添加到pom中

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-legacy</artifactId>
        <version>1.0.2.RELEASE</version>
    </dependency>

org.springframework.boot
弹簧靴遗产
1.0.2.1发布
另外,请确保将嵌入式tomcat从spring boot ws依赖项中排除:

 <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web-services</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-websocket</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

org.springframework.boot
SpringBootStarterWeb服务
org.apache.tomcat.embed
tomcat嵌入websocket
然后


上下文配置位置
au.gov.qld.救护车.mtaworflow.webservices.SpringWsApplication
org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener
春季天气预报
org.springframework.ws.transport.http.MessageDispatcherServlet
转换wsdllocations
真的
1.
春季天气预报
/*
然后添加一个与servlet名称匹配的空servlet.xml,即spring-ws-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd">

</beans>

最后,添加具有以下内容的weblogic.xml:

<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-
web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd 
http://xmlns.oracle.com/weblogic/weblogic-web-app 
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
<wls:weblogic-version>12.1.1</wls:weblogic-version>
<wls:context-root>mtaworkflow</wls:context-root>
<wls:container-descriptor>
    <wls:prefer-application-packages>
        <wls:package-name>org.slf4j.*</wls:package-name>
        <wls:package-name>org.springframework.*</wls:package-name>
        <wls:package-name>javax.websocket.*</wls:package-name>
        <wls:package-name>javax.websocket.server.*</wls:package-name>
    </wls:prefer-application-packages>
</wls:container-descriptor>
</wls:weblogic-web-app>

12.1.1
MTA工作流
org.slf4j*
org.springframework*
javax.websocket*
javax.websocket.server*

为什么将
弹簧启动机ws
标记为pom中提供的?这将使该jar中的类及其依赖项对WebLogic不可用,这几乎肯定不是您想要的。请查看这是否有助于导航到您的WSDL:@AndyWilkinson谢谢,我更正了这一点,但仍然没有working@DisplayNameismissing应用程序的url为localhost:7001/apiel-9.1.0-SNAPSHOT/。打开此URL将返回403。打开服务url会返回一个404,对于那些来这里的人来说可能会有所帮助。我面临着一个类似的问题,但使用的是古老的Web逻辑10.3.6。跟踪一切。虽然我得到了REST和web页面,但我仍然无法让SOAP端点工作
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-
web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd 
http://xmlns.oracle.com/weblogic/weblogic-web-app 
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
<wls:weblogic-version>12.1.1</wls:weblogic-version>
<wls:context-root>mtaworkflow</wls:context-root>
<wls:container-descriptor>
    <wls:prefer-application-packages>
        <wls:package-name>org.slf4j.*</wls:package-name>
        <wls:package-name>org.springframework.*</wls:package-name>
        <wls:package-name>javax.websocket.*</wls:package-name>
        <wls:package-name>javax.websocket.server.*</wls:package-name>
    </wls:prefer-application-packages>
</wls:container-descriptor>
</wls:weblogic-web-app>