We are trying to make a SOAP call to our webMethods server (v6.1) from weblogic (v8.1 sp5) in order to invoke a SOA service. We have no IP Access restrictions and we have opened the firewall between the servers, however when we call it we are receiving a 500 Error. We have tested this service from our local machine to webMethods (with no firewall in between) and everything works as it should.
Does anybody else make a doc/lit SOAP call from weblogic to webMethods via HTTP and if so did you have any trouble, or could you walk me through the steps you did??
Any help would be very much appreciated.
The SOAP fault that is being returned should include some exception details. What do those reveal?
If your doc/lit service is working when called from other soap clients, it should work just fine from WLS provided that you have configured it the same. You will need to provide the correct URL and supply a valid IS user for Basic authentication.
I should have said we have the webMethods service in the Anonymous ACL so we do not need login authentication, once we get this working we will create a new port that only allows that service and the IP of the calling app to access it, however firstly we just want to know that it works with no restrictions. It seems from what I can gather that weblogic is sending the request ok, as we have manually plugged the request into the service and it is performing as it should. We have also made the SOAP call from an app that doesn’t go through the firewall and all looks ok.
It looks like the firewall might be modifying the request before it gets to webMethods somehow which makes the request fail. However our administrators are reluctant to switch logging on the firewall to see what it is passing to webMethods, is there is a way of seeing what it hitting webMethods before it sends it to the SOAP call, so that we can compare what we are sending from weblogic against what we are receiving in webMethods?? I have increased logging to 10, however that doesn’t seem to give me what I’m after.
The actual service the SOAP register is calling doesn’t seem to be hit at all as the first thing it does it throws a debug statement which I am not seeing.
Once again Thanks for your help, and if anything further comes to mind please let me know.
Are you using a “wrapper” service to extract the payload from the SOAP message and then invoke your exposed service or is everything in one place? If yes, add a pub.soap.utils:soapDataToString call at the top of that service and then write that to the console.
Dial the IS logging back down to a reasonable level of 4 or 5. Going past that probably won’t help much and can even hide the error messages that you want to focus on.
Firewalls, don’t typically modify contents of messages, so that does not seem to be a likely source of the problem.
Can you reach the IS admin console from a browser on the box hosting the Weblogic server using the same port as your web service would use? If not, there’s a network issue somewhere.
Just to close this post (in case anyone else ever gets this issue). After putting some monitoring on the ports it seemed that the request was never actually hitting webMethods, the 500 error was throwing us off as it looked like it was coming from the app. After ruling out webMethods and the firewall it seems there was an issue with the version of http being used on the weblogic server that was calling weMethods, amongst a number of other oddities resulting in weblogic throwing a 500 error to itself.
Thanks again for your help.