views:

264

answers:

0

Description of the problem:

  • Several Web Services that will be deployed in Websphere, Weblogic and Jboss.
  • Jboss uses axis2, the others don't.
  • I want to have only one wsdl per Web service.
  • I want to keep the same endpoint/url across the different target platforms.
  • At the moment the wsdls are different (basically the name of the service to have the same endpoint for all platforms), but I want to keep the ones I use in Weblogic/Websphere.

The wsdls we want to keep have this format describing the service:

<wsdl:service name="FooBarService">
    <wsdl:port name="FooBar" binding="tns:FooBarBinding">
        <soap:address location="http://localhost/bla/services/FooBar"/&gt;
    </wsdl:port>
</wsdl:service>

But the endpoint/url for the webservice is (this is the one I want for all platforms):

Endpoint: hhttp://blabla:9080/bla/services/FOOBAR

Definition URL: hhttp://blabla:9080/bla/services/FOOBAR?wsdl

This is because (I think) we map in the web-services.xml

<webservice-description>
    <webservice-description-name>FooBarService</webservice-description-name>
    .......        
    <port-component>
        <port-component-name>FOOBAR</port-component-name>            
        .....
    </port-component>
    .........
</webservice-description>

Is there any way to get this with axis2?

I want to use the same wsdl without any changes, and use the same endpoint url (in capitals). So I need to map this somehow by configuration as with axis2 it takes the endpoint and url from the wsdl.

Endpoint: hhttp://blabla:9080/bla/services/FooBarService

Definition URL: hhttp://blabla:9080/bla/services/FooBarService?wsdl

I tried with parameters in the service.xml (servicePath, httpFrontendHostUrl...) but it didn't work.

any ideas?? Thanks