Petals BC SOAP

How to override soap address in exposed WSDL ?

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 4.0.6
  • Fix Version/s: 4.0.7, 4.1
  • Component/s: None
  • Security Level: Public
  • Description:
    Hide

    I'm using petals-bc-soap to provide a web service, and the exposed WSDL contains the following code:

    <w:service name="Authentification">
    <w:port binding="tns:AuthentificationBinding" name="Authentificationport">
    <soap:address location="http://192.168.1.55:8084/petals/services/authentification"/>
    </w:port>
    </w:service>

    For some reasons client applications use a proxy to access services and since the URL in the WSDL contains a private IP address, they can't use the service.

    How to configure petals-bc-soap to expose the following code instead?

    <w:service name="Authentification">
    <w:port binding="tns:AuthentificationBinding" name="Authentificationport">
    <soap:address location="http://myapp.company.com/services/authentification"/>
    </w:port>
    </w:service>
    Show
    I'm using petals-bc-soap to provide a web service, and the exposed WSDL contains the following code:
    <w:service name="Authentification">
    <w:port binding="tns:AuthentificationBinding" name="Authentificationport">
    <soap:address location="http://192.168.1.55:8084/petals/services/authentification"/>
    </w:port>
    </w:service>
    For some reasons client applications use a proxy to access services and since the URL in the WSDL contains a private IP address, they can't use the service. How to configure petals-bc-soap to expose the following code instead?
    <w:service name="Authentification">
    <w:port binding="tns:AuthentificationBinding" name="Authentificationport">
    <soap:address location="http://myapp.company.com/services/authentification"/>
    </w:port>
    </w:service>
  • Environment:
    -
  1. petals-bc-soap-4.0.6.zip
    (16.89 MB)
    mjambert
    Tue, 26 Apr 2011 - 09:29:31 +0200
  2. petals-bc-soap-4.0.7-SNAPSHOT.zip
    (16.89 MB)
    mjambert
    Thu, 28 Apr 2011 - 15:38:19 +0200

Activity

Hide
Adrien Ruffie added a comment - Fri, 30 Sep 2011 - 09:17:37 +0200

This bug is merged on trunk Petals 4

Show
Adrien Ruffie added a comment - Fri, 30 Sep 2011 - 09:17:37 +0200 This bug is merged on trunk Petals 4
Hide
mjambert added a comment - Thu, 28 Apr 2011 - 15:38:19 +0200

new 4.0.7-SNAPSHOT to fix // problem...

Show
mjambert added a comment - Thu, 28 Apr 2011 - 15:38:19 +0200 new 4.0.7-SNAPSHOT to fix // problem...
Hide
Sébastien André added a comment - Thu, 28 Apr 2011 - 11:05:31 +0200

It looks like the bc soap checks for the URL to be exactly what it expects, and if the string differs it outputs the diagnostic infos.

Maybe only the part after "/petals/services" should be used for comparisons?

Another problem is when we want to print the WSDL by adding "?wsdl" to the URL: the first call always returns a blank page while subsequent calls print the WSDL data. It can be a problem when client applications try to initialize.

Show
Sébastien André added a comment - Thu, 28 Apr 2011 - 11:05:31 +0200 It looks like the bc soap checks for the URL to be exactly what it expects, and if the string differs it outputs the diagnostic infos. Maybe only the part after "/petals/services" should be used for comparisons? Another problem is when we want to print the WSDL by adding "?wsdl" to the URL: the first call always returns a blank page while subsequent calls print the WSDL data. It can be a problem when client applications try to initialize.
Hide
Roland Naudin added a comment - Thu, 28 Apr 2011 - 10:27:30 +0200

After investigation,
At the installation of a 'Consumes' configuration, the log of the container says:

[code][Petals.Container.Components.petals-bc-soap]-INFO 2011-04-28 10:23:19,892 The Axis2 service 'authentification' has been registered and is available at 'http://192.168.1.99:8084//petals/services/authentification'[code]

The URL is wrong (double slashes), so if i use this URL appended with '?wsdl', i do not get the WSDL but the default statistic page in response.

Show
Roland Naudin added a comment - Thu, 28 Apr 2011 - 10:27:30 +0200 After investigation, At the installation of a 'Consumes' configuration, the log of the container says: [code][Petals.Container.Components.petals-bc-soap]-INFO 2011-04-28 10:23:19,892 The Axis2 service 'authentification' has been registered and is available at 'http://192.168.1.99:8084//petals/services/authentification'[code] The URL is wrong (double slashes), so if i use this URL appended with '?wsdl', i do not get the WSDL but the default statistic page in response.
Hide
Sébastien André added a comment - Tue, 26 Apr 2011 - 11:43:40 +0200

Hello,

We deployed bc soap 4.0.6 with http-host changed to "company.com" in the file jbi.xml

The WSDL at http://company.com:8084/petals/services/authentification?wsdl contains the expected URL.

But when invoking the service with Soap-UI, it returns this:

<html>
<head>
<title>Welcome SOAP Binding Component</title>
</head>
<body>
<h1>Petals BC SOAP</h1>
<h2>Component Configuration</h2>
<ul>
<li>Host : 10.20.30.40 (company.com)</li>
<li>Port : 8084</li>
<li>Jetty Acceptors : 4</li>
<li>Jetty Max pool size : 50</li>
<li>Jetty Min pool size : 2</li>
<li>Services Context : petals</li>
</ul>
<h2>Web Services information</h2>
<ul>
<li>
Services List :
<a href="/petals/services/listServices">/petals/services/listServices</a>
</li>
</ul>
<h2>Server Stats</h2>
<ul>
<li>Start time : 26/04/11 11:16</li>
<li>Jetty Server version : 6.1.9</li>
<li>Incoming WS GET requests : 0</li>
<li>Incoming WS POST requests : 0</li>
</ul>
</body>
</html>

This is not the XML data expected, did we miss something in the configuration?

Show
Sébastien André added a comment - Tue, 26 Apr 2011 - 11:43:40 +0200 Hello, We deployed bc soap 4.0.6 with http-host changed to "company.com" in the file jbi.xml The WSDL at http://company.com:8084/petals/services/authentification?wsdl contains the expected URL. But when invoking the service with Soap-UI, it returns this:
<html>
<head>
<title>Welcome SOAP Binding Component</title>
</head>
<body>
<h1>Petals BC SOAP</h1>
<h2>Component Configuration</h2>
<ul>
<li>Host : 10.20.30.40 (company.com)</li>
<li>Port : 8084</li>
<li>Jetty Acceptors : 4</li>
<li>Jetty Max pool size : 50</li>
<li>Jetty Min pool size : 2</li>
<li>Services Context : petals</li>
</ul>
<h2>Web Services information</h2>
<ul>
<li>
Services List :
<a href="/petals/services/listServices">/petals/services/listServices</a>
</li>
</ul>
<h2>Server Stats</h2>
<ul>
<li>Start time : 26/04/11 11:16</li>
<li>Jetty Server version : 6.1.9</li>
<li>Incoming WS GET requests : 0</li>
<li>Incoming WS POST requests : 0</li>
</ul>
</body>
</html>
This is not the XML data expected, did we miss something in the configuration?
Hide
mjambert added a comment - Fri, 22 Apr 2011 - 15:41:41 +0200

soap:http-host parameter must be use with fixed version.

Show
mjambert added a comment - Fri, 22 Apr 2011 - 15:41:41 +0200 soap:http-host parameter must be use with fixed version.

People

Dates

  • Created:
    Fri, 8 Apr 2011 - 10:16:55 +0200
    Updated:
    Thu, 16 Feb 2012 - 17:06:29 +0100
    Resolved:
    Fri, 22 Apr 2011 - 15:41:41 +0200