I'm working on a workflow that will interact with another web service (BMC Remedy/AR) and I've run in to a problem.
The URL in the WSDL that is provided is http but that URL redirects to https (the rest of the URL is the same). If I try and hit the service with a browser (firefox) the browser does the right thing and redirects to the new https URL. However, when the workflow that I've built with the SOAP plug-in gets the 301 error it just fails. Is there something I can do to get the workflow to automagically follow the redirect? Or do I need to code up something myself.
Most probably the SOAP engine's HTTP client inside the plug-in is so simple that it doesn't understand about HTTP redirection status code. In any case I guess you are talking about the SOAP address location URL inside the WSDL file, not the WSDL file URL itself, aren't you?
To solve that issue, you can modify the URL that the plug-in is using to invoke the SOAP service like this:
But just to try it... when you create a SOAP host with the plug-in, if you import the WSDL file from a URL via HTTP you get an HTTP SOAP address location URL. But if you try to import the WSDL file from the same URL via HTTPS, do you get the same HTTP SOAP address location URL or is it HTTPS one? Maybe if the WSDL is auto-generated you'll get the proper HTTPS URL for the service if you try to import the WSDL from a HTTPS URL.
And keep in mind that if you are using HTTPS you'll need to import the SSL certificate into vCO. You can do it manually from the vCO Web Configurator, or it will be automatically added if you add the SOAP host importing the WSDL file from a HTTPS URL.
I hope it helps.
Thanks! Those are some great suggestions.
Yes, I am refering to the location URL in the WSDL and the the URL of the WSDL itself, but thanks for asking
I've checked and the location URL is not automagically generated based on the WSDL URL. I'm off now to try the editing and to grab the latest SOAP plug in.
Sergio! Thanks again!
I updated to the 1.0.1 version of the SOAP plug-in and used the "Update a SOAP host with an endpoint URL" workflow, changed the location url to use https and it worked.