Customizing url in WSDL

Hi,

After generating wsdl we have something like this:

<soap:address location="https://some.url.com:443/ws/name.space:service/port_name"/>

Using Web Service Endpoint Alias we can easily control IP/host name but we would like to change URI path ws/name.space:service so it would looks like this:

<soap:address location="https://some.url.com:443/wsdlAlias"/>

in wsdl.

Is it possible? I was trying to configure URL Aliases but without success.

I guess you can try that format kind in the ISAdminConsole -->Settings–>webservices section where you can create the endpoint aliases there for Provider and Consumer specific…

Please check in that admin section.

HTH,
RMG

Hi,

I am also looking for this feature.

But unfortunately it is not possible to configure this in IS Admin WebService Aliases.

We are using Properties-Files (where we retrieve url, user & password from) to workaround this.

Regards,
Holger

Could you please elaborate this? Which file and location?

Currently we are using mod substitute in apache-http, but I want take a look at your solution.

Thx in advance.

Hi,

Try again with URL aliases.

You should create an entry where (no leading slash):
alias: wsdlAlias
Default URL Path: ws/name.space:service/port_name
Package:

Or, if you prefer, you can define this on the WSD itself (it will also appear on the URL aliases list).

It this does not work, please state the error you are seeing (in the error/server log and on your test tool SoapUI?).

Best regards,

Hi Gerardo Lisboa,

We are using wm 9.7. I have managed to edit location by editing “Port address” property in Binder tab, editing URL Alias didn’t change anything (maybe I am doing something wrong).

  1. My URL Alias:
    Alias: wsdlAlias
    URL Path: ws/name.space:service/port_name
    Package: Namespace

In package Namespace I created service "name.space:method: and wsd “name.space:service”.

WSDL definition:


<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" name="service" targetNamespace="http://www.organization.com" xmlns:soapjms="http://www.w3.org/2010/soapjms/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.organization.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
  <wsdl:types>
    <xsd:schema targetNamespace="http://www.organization.com" xmlns:tns="http://www.organization.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          <xsd:element name="method" type="tns:method"/>
          <xsd:complexType name="method">
            <xsd:sequence>
            </xsd:sequence>
          </xsd:complexType>
        	</xsd:schema>
  </wsdl:types>
  <wsdl:message name="service_PortType_method">
    <wsdl:part name="parameters" element="tns:method">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="service_PortType">
    <wsdl:operation name="method">
      <wsdl:input message="tns:service_PortType_method">
    </wsdl:input>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="name_space_service_Binder" type="tns:service_PortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="method">
      <soap:operation soapAction="name_space_service_Binder_method" style="document"/>
      <wsdl:input>
        <soap:body parts="parameters" use="literal"/>
      </wsdl:input>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="name.space.service">
    <wsdl:port name="port_name" binding="tns:name_space_service_Binder">
      <soap:address location="http://10.33.1.21:5555/ws/name.space:service/port_name"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

I am not sure which property should I edit to change “/ws/name.space:service/port_name” to alias.

According to chapter “How Integration Server Builds the Provider Endpoint URL” in “9-7_Web_Services_Developers_Guide.pdf” it doesn’t seem to be possible to modify/customize URL path (at least there is no mention about it).

Hi,

you can see all registered webservices in Integration Server by invoking just http://ip:port/ws.

Modifying the endpoint context is not possible as far as I know.

That´s why we are using properties files for defining the outgoing webservice URLs.
You can use global variables instead, but we have built this solution before global variables have been made available.

We provide this value as an Input the WSD Connector service node.

Regards,
Holger

Thx for reply, but we are trying to modify url in provider WSD, not consumer