I was playing around with WSO2 ESB today trying out the store forward messaging pattern. I followed a tutorial by Charith Wickramarachchi “Implementing Store and Forward Messaging Patterns with WSO2 ESB Part 2“. Great tutorial.
When it was time to test, I initially tried to use the “Try this service” option of the proxy. To my surprise I could not select an operation, so I copy pasted the example SOAP message from the tutorial. It generated a error. No problemo I thought, let me use the axis2 test client that comes with the WSO2 ESB samples instead. Everything worked like a dream.
So I thought I would give it a spin with SoapUI. To make life easier I thought it would be smart to let the proxy publish a WSDL, so that SoapUI could automatically generate the test cases for me. To add the WSDL I looked at sample 150 that comes with the WSO2 ESB documentation. I copied the the following line to the proxy definition:
Worked like a dream. The proxy could publish the WSDL and SoapUI was able to generate the test case automatically. When I executed the test case the test service generated the following error:
[2012-05-13 14:01:29,213] ERROR - ServerWorker Error processing POST request org.apache.axis2.AxisFault: namespace mismatch require http://services.samples found http://services.samples/xsd
I was puzzeled. How was it possible that it did not work? Examining the error more closely and comparing the WSDL’s of the axis2 test service and the sample_proxy_1.wsdl I discovered that these where different. I changed the publish WSDL of the proxy to use the WSDL of the axis2 test service as follows:
Then regenerated the test case in SoapUI and it worked. I then thought I would give the “Try this service” option of the proxy another try. And it worked too.
So is WSO2 going to fix the problem in the sample_proxy_1.wsdl?