我们使用java 6在weblogic 11g上运行应用程序。现在我们想使用weblogic 12c和java 7,但是我们遇到了一些问题。我们正在使用JAXB来解除/填充soap请求。现在,当我们将应用程序部署到wls12时,我们遇到了元素中nillable atribut的问题。当我发送xml:
<data:MyElement state="ok" xsi:nil="true"/>
我的应用中的元素不是nill:
element.isNil() return false
JUnit与此测试仍然有效,所以我认为java7没有问题。这个问题只发生在wls12上。我该如何解决这个问题,或者至少应该如何调试呢
请求帮助
答案 0 :(得分:1)
从WebLogic 12.1.1开始EclipseLink MOXy是默认的JAXB (JSR-222)提供商。
您正在点击以下MOXy错误。
答案 1 :(得分:0)
对于也会遇到这个问题的下一代:
当我打开跟踪消息时,会再次出现此问题。
org.springframework.ws.server.MessageTracing=TRACE
通过调试我看到wls 12使用oracle.j2ee.ws.saaj.soap.soap11.Message11
并且10使用weblogic.xml.saaj.SOAPMessageImpl
我需要做的就是将这个类添加到messageFactory:
<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
<property name="messageFactory">
<bean class="weblogic.xml.saaj.MessageFactoryImpl" />
</property>
</bean>