Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added support for multi-service WSDLs #1314

Closed
wants to merge 8 commits into from

Conversation

PieterVoet
Copy link

WSDLs can contain multiple services. Current code throws an exception if multiple services were detected.
My modification processes all services in the WSDL and adds them as separate SOAPProxy rules.

Hence, proxies.xml can be configured as :

    <router>
           ....
        <soapProxy port="2000" wsdl="http://<MY-WS-SERVER>:<PORT>/<MY-WSDL-ENDPOINT>" />
           ....
    </router>

Unfortunately for SSL, there's something weird with the SSL configuration, so
<soapProxy port="2000" wsdl="https://<MY-WS-SERVER>:<PORT>/<MY-WSDL-ENDPOINT>" />
will end up throwing a ' Could not download the WSDL' IllegalArgumentException, caused by not finding
the WS server SSL certificate.
As a circumvention, the 'file:' notation works. First download the WSDL with https endpoints , then :

  <router>
          ....
       <soapProxy port="2000" wsdl="file:<MY-DOWNLOADED-WSDL-FILE" >
           <ssl>
                <truststore location="<MY-TRUSTSTORE-FILE>" password="<MY-PASSWORD>" />
           </ssl>
        </soapProxy>
          ....
   </router>

@membrane-ci-server
Copy link

This pull request needs "/ok-to-test" from an authorized committer.

@rrayst
Copy link
Contributor

rrayst commented Nov 8, 2024

Hi @PieterVoet, thanks for your pull request and keeping it up to date. Please give us a few days to organize the right reviewers for this part of the code. Thanks! (Also, of course, feel free to keep pushing us. :) )

@predic8
Copy link
Member

predic8 commented Nov 14, 2024

@PieterVoet thanks for your work and the pull request. We had a look at it and maybe it is possible to solve that in simple way. First we wonder what should it mean when you have three services. Maybe the three services are just 3 different endpoints we can use for to reach the endpoint. And we have to add a routing accordingly. So that SOAP 1.1 requests will go a SOAP 1.1 endpoint and SOAP 1.2 request to SOAP 1.2. ...

Let me know what your requirements are.

@predic8
Copy link
Member

predic8 commented Nov 14, 2024

@PieterVoet thanks for your work and the pull request. We had a look at it and maybe it is possible to solve that in simple way. First we wonder what should it mean when you have three services. Maybe the three services are just 3 different endpoints we can use for to reach the endpoint. And we have to add a routing accordingly. So that SOAP 1.1 requests will go a SOAP 1.1 endpoint and SOAP 1.2 request to SOAP 1.2. ...

Let me know what your requirements are.

WSDL is complicated :-) I messed up services and ports.

@PieterVoet
Copy link
Author

PieterVoet commented Nov 14, 2024 via email

@predic8
Copy link
Member

predic8 commented Nov 14, 2024

Hi @PieterVoet ,
thanks for the clarification. Where can we download the WSDL? You can also send it to info@predic8.de.

We are considering the following solution at the moment. Suppose you have a WSDL with ServiceA and ServiceB. Then you can declare two service proxies in proxies.xml. One with ServiceA and one with ServiceB:

Would that solve your problem?

@PieterVoet
Copy link
Author

PieterVoet commented Nov 14, 2024 via email

@predic8
Copy link
Member

predic8 commented Nov 23, 2024

@PieterVoet thanks for your input and the PR. We implemented the issues in #1344

@predic8 predic8 closed this Nov 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants