The solution to the error 500 is not always the one that will be discussed below, though it is a good starting point to check and resolve if that is the case.
When you are going to develop a webservice client program that will consume webservices, it is a good practice to test the webservices consumption on a third-party software like SoapUI.
In this article we use SoapUI as an example. Other options are available though. For instance if you have a REST webservice you could use Postman instead.
When you test the webservice in SoapUI you have an option to check the input XML in Raw format as follows:
In this screenshot, you can see an entry for SOAPAction.http:>setHeaderProperty("soapaction", '"http://www.someurl.com/services/SysLogin"')
Notice that the value of the header includes double quotes [ " ] at the start and end of the string, therefore, the whole value is enclosed in single quotes [ ' ].
With this additional code, the client program will forward the same header property that SoapUI sends before trying to consume the webservice, fixing the error 500. You will get a successful return code 200.
Article ID: 319
Created: March 24, 2021
Last Updated: March 24, 2021
Author: Support KB Author
Online URL: https://support.veryant.com/phpkb/article.php?id=319