Forum Discussion

LePanda's avatar
13 years ago

SoapUI war and Weblogic 10.3

Hi,

I'm having a problem when sending Soap Fault with a mock deployed on Weblogic.
The problem comes from the class com.eviware.soapui.impl.wsdl.support.soap.SoapUtils

Caused by: java.lang.RuntimeException: Trying XBeans path engine... Trying XQRL... Trying delegated path engine...
FAILED on declare namespace env='http://www.w3.org/2003/05/soap-envelope';//env:Fault
at org.apache.xmlbeans.impl.store.Path.getCompiledPath(Path.java:173)
at org.apache.xmlbeans.impl.store.Path.getCompiledPath(Path.java:130)
at org.apache.xmlbeans.impl.store.Cursor._selectPath(Cursor.java:902)
at org.apache.xmlbeans.impl.store.Cursor.selectPath(Cursor.java:2634)
at org.apache.xmlbeans.impl.values.XmlObjectBase.selectPath(XmlObjectBase.java:462)
at org.apache.xmlbeans.impl.values.XmlObjectBase.selectPath(XmlObjectBase.java:446)
at com.eviware.soapui.impl.wsdl.support.soap.SoapUtils.isSoapFault(SoapUtils.java:57)

To solve this i'm forced to patched the soapui.jar with a modified version of SoapUtils.java : (SoapUtils line 57)

Replacing :
XmlObject[] paths = xml.selectPath( "declare namespace env='" + soapVersion.getEnvelopeNamespace() + "';"+ "//env:Fault" );
by :
XmlObject[] paths = xml.selectPath( "declare namespace env='" + soapVersion.getEnvelopeNamespace() + "';"+ ".//env:Fault" );
or :
XmlObject[] paths = xml.selectPath( "declare namespace env='" + soapVersion.getEnvelopeNamespace() + "' .//env:Fault" );

When you look at the XmlBeans javadoc on the selectPath method : https://xmlbeans.apache.org/docs/2.0.0/ ... ang.String) they are using the dot for the relative path.

Is it possible to consider adding that dot?

Regards,