Camunda http-soap-connector

Hi,

We have got a problem with the Camunda soap-connector.

We are trying to call a soap service through Camunda http-soap-connector (Configuration made by Camunda Modeler). The service itself can be called without any problem using e.g. SoapUI or cURL or directly from Spring code as well, setting the same parameters.

Here is our cURL syntax, which works:

curl -X POST 
  https://www.company.com/soap/authorize 
  -H 'content-type: text/xml' 
  -d '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:auth="urn://company/soap/auth">
   <soapenv:Header/>
   <soapenv:Body>
      <auth:Authorize>
         <auth:Name>username</auth:Name>
         <auth:Password>password</auth:Password>
      </auth:Authorize>
   </soapenv:Body>
</soapenv:Envelope>'

In Camunda Modeler we use the following input parameters for http-soap-connector:

As a result we receive code 302 from the service (as far as we understood it means redirection). This happens because of the wrong input parameters of the call. We think the redirection comes from the service provider, when the call is not correctly parametrized.

Our question:
Is there any other parameter which should be set in Camunda Modeler?

Additional information:

The Camunda soap-connector works perfectly in our environment e.g for the service http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso

We use Camunda Spring Boot Starter (v. 2.2.0), the Library camunda-connect-connectors-all is set as a dependency.

Thanks for any ideas or advice on this matter!

Can you debug which location the redirect response specifies, i.e. the Location header of the response?

The “Location” header of the response contains the general http-adresss of the target-company (like http://www.company.com)

If we use Camunda’s SoapHttpConnector in a delegate class (from a service task) and change the http client itself to HttpClients.custom, then we could manage the redirection-problem itself (setRedirectStrategy —> LaxRedirectStrategy).

But the main problem is, why it comes originally to the redirection at all…

We think, that the origin parameters of the soap-service-call arrive somehow different as aspected, although we set it as aspected.

You could set the following java properties to debug the HTTP request, maybe this shows where the difference is?

mvn clean install -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.showdatetime=true -Dorg.apache.commons.logging.simplelog.log.org.apache.http=DEBUG -Dorg.apache.commons.logging.simplelog.log.org.apache.http.wire=DEBUG

We compared the requests sent via SOAPUI (accepted by the service-provider) and Camunda http-soap-connector (not accepted) through Wireshark.

The only difference we seen between the requests is the parameter “Transfer-Encoding: chunked”, which is sent by Camunda http-soap-connector (this parameter is not part of the SOAPUI-request).

Is there a possibility to suppress this in Camunda http-soap-connector?

There is no easy way to achieve this as far as I know. I created a pull request and JIRA issue to not use chunked encoding

https://app.camunda.com/jira/browse/CAM-8194

@menski Thanks for your help!