I have a SOAP web service built with Axis 2 on a Tomcat 9 and it works so good so far when requesting from the testing tool (SOAPUI) and with custom clients built with Netbeans.
But when I make a request from a BPM called Docuware I get this error:
Error:
org.apache.axis2.AxisFault: namespace mismatch require http://ws.apache.org/axis2 found http://ws.apache.org/axis2/
As far as I know the namespace is defined in the wsdl file, which seems to match the required URL (the one without the slash):
(Click to expand image)
Any thoughts? Thank you in advance.
It seems that the client (Docuware in this case) is sending the namespace with a final slash (this is the found namespace), so It difeers from the wsdl namespace (the required).
I fixed It by changing the required Service Target Namespace and the Schema Target Namespace in making It coincide with the found namespace by editing the services.xml file.
Changed
<service name="ServicioPrueba">
to
<service name="ServicioPrueba" targetNamespace="http://ws.apache.org/axis2/">
and added inside the service tag:
<schema schemaNamespace="http://ws.apache.org/axis2/" />
So now the wsdl gets custom generated target namespaces.