weblogic下的几种报错说明:
1.报RegistryDocumentBuilderFactory的异常,一般是我们设置优先加载自己项目的所有jar包,导致冲突,是的weblogic无法获取正确的xml解析器。在项目jar包管理不善的情况下,不推荐采用此设置。
2.报其他一些问题,常见找不到类的某种方法时,常见是jar冲突,weblogic的jar包覆盖了项目中的jar包。我们可以通过在startWeblogic.cmd中配置优先加载指定的jar包即可
cxf在spring中的应用,首先我们在项目中加入cxf的jar包,然后修改web.xml文件加入:
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>99</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
然后再spring的配置文件中,引入cxf的相关约束就可以了。
xmlns:cxf="http://cxf.apache.org/jaxws"
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<!-- 引入cxf配置 -->
<import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
具体配置,我们需要在接口中加入webService、webmethod、webparam的注解就可以发表服务。在spring的具体配置为:
<!-- 服务配置 -->
<cxf:server id="test"
serviceClass="com.test.TestIndicators"
address="/test">
<cxf:serviceBean>
<ref bean="testIndicatorsImpl"/>
</cxf:serviceBean>
</cxf:server>
即可,访问地址即可获取到我们的wsdl文件。
axis和cxf的调用,
对于axis2,由于它对于参数命名的支持并不完善,因此,如果使用axis2调用cxf的服务,那么服务端不能使用webParam的注解
对于axis1,可以使用webParam的注解。