IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

Parameterizing the service URL and Broker port number in aar files

  • 1.  Parameterizing the service URL and Broker port number in aar files

    Posted Fri November 15, 2013 02:16 PM

    Our organization follows a change management policy where we don’t deploy anything manually to production. They now want me to comply with this and use Kintana to promote aar files from development WSStack to QA to production. The problem is, the service URL and the port for the EntireX Broker node between environments is different, and each are a product of generating the web service from Designer.

    How can I externalize the web service entry point and port number so that I can possibly migrate with Kintana the aar file (and all it contains) without changing it?

    The entry point will always look like this: http://[wsstack domain]/wsstack/services/[service]

    Thanks in advance!

    -Brian


    #webMethods
    #EntireX
    #Mainframe-Integration


  • 2.  RE: Parameterizing the service URL and Broker port number in aar files

    Posted Mon November 18, 2013 06:13 AM

    Hi Brian,

    as far as I know the web service entry point is adjusted automatically.

    EntireX stuff can be parametrized using an external configuration file:
    http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite9-5_sp1/EntireX/9-5-SP1_EntireX/adminWin/xmlListener.htm#xmlListener_config_external


    #Mainframe-Integration
    #EntireX
    #webMethods


  • 3.  RE: Parameterizing the service URL and Broker port number in aar files

    Posted Mon November 18, 2013 12:42 PM

    Thanks for the response, Rolf. This looks like it supports what I need to happen.

    In Designer, when I edit the .aar file, I go to the Operations tab where I see “Parameters”. Here’s where I am confused now. The documentation states:

    It looks like I need a parameter called “services”, and then add a parameter to that called “EntireX-XML-Listener” and add an attribute called “location” to the “services” parameter. I don’t really see where I can add either attributes or other parameters to a parameter I am defining. I only can add a parameter and then assign a value.

    Please advise as to what I am missing.

    Thanks,

    Brian


    #Mainframe-Integration
    #webMethods
    #EntireX


  • 4.  RE: Parameterizing the service URL and Broker port number in aar files

    Posted Tue November 19, 2013 05:31 AM

    Hi Brian,

    these settings have nothing to do with the Designer. You have to apply them in your app server which runs the Web Service Stack. In the axis2.xml file you have to add the section which specifies the path to the configuration file. The configuration file is an XML file, here’s the example from the documentation:


    #EntireX
    #Mainframe-Integration
    #webMethods


  • 5.  RE: Parameterizing the service URL and Broker port number in aar files

    Posted Tue November 19, 2013 10:52 AM

    That’s disappointing. The SOA admin team will then have to do this editing of axis2.xml which is less than optimal. I would have liked to make this change possible prior to deploying the aar file under WSStack (using Designer where the WSDL and XMM files are able to be configured). Sounds like I need to submit an enhancement request if I want to be able to configure axis2.xml in the Designer tool.

    Since the purpose is to allow the aar file be promoted through the use of Kintana, what is the repercussion of this? If they set up Kintana to copy the aar file, will this promote the altered axis2.xml file or will the original axis2.xml be inside the aar file and get deployed? If the original axis2.xml file is inside the aar file, will it overwrite the altered one after deployment if both the aar file and axis2.xml are copied with Kintana? Now I think you see why I’d like the axis2.xml file to be already properly configured before I deploy the first time to WSStack.

    It also won’t be acceptable from a change management perspective to have someone manually tinker with the file after each promotion. That’s the point of parameterizing in the first place.

    -Brian


    #webMethods
    #EntireX
    #Mainframe-Integration


  • 6.  RE: Parameterizing the service URL and Broker port number in aar files

    Posted Tue November 19, 2013 10:59 AM

    Am I wrong to believe that axis2.xml is inside the aar file?

    If I am wrong, where would I find it?


    #webMethods
    #Mainframe-Integration
    #EntireX


  • 7.  RE: Parameterizing the service URL and Broker port number in aar files

    Posted Tue November 19, 2013 11:13 AM

    The axis2.xml file has nothing to do with the aar file. It’s part of the web service stack inside the appserver:
    File axis2.xml can be found in the conf directory or folder of the Web Services Stack Web application.

    So it’s sufficient to do that once.


    #webMethods
    #Mainframe-Integration
    #EntireX


  • 8.  RE: Parameterizing the service URL and Broker port number in aar files

    Posted Tue November 19, 2013 11:15 AM

    Thanks for your patience and help, Rolf. Since it’s a one-time change and not something to be changed or deployed for each service, that should be ok then. Thanks for pointing me in the right direction!

    -Brian


    #Mainframe-Integration
    #EntireX
    #webMethods


  • 9.  RE: Parameterizing the service URL and Broker port number in aar files

    Posted Tue November 19, 2013 05:28 PM

    Just to clarify the point a bit: the axis2.xml file is updated once to point to a configuration file, which Rolf has provided an example of.

    That configuration file will most often be set once and not updated each time. Obviously, if there are specific services that will have different overrides than the typical set, there may be additional updates, but typically these will be infrequent.

    The purpose of the configuration file is to override settings within the aar files. The configuration will be different in each environment (but essentially static). For example, the Broker ID might change from dev to qa to prod; these will be different values in each of the configuration files in the corresponding environments. Now you are able to copy the aar files unchanged from dev to qa to prod, simplifying the deployment process and allowing the aar file to be versioned as needed.


    #webMethods
    #Mainframe-Integration
    #EntireX


  • 10.  RE: Parameterizing the service URL and Broker port number in aar files

    Posted Mon March 24, 2014 05:59 PM

    Hi Douglas and all,

    We finally got to the point where this is set up and deployed but it’s not working. This is a SAG-L posting but I am cross-posting since I got the initial help here and think I’m more likely to receive help here.

    Such changes involve edits to axis2.xml:

    The file referenced contains localized broker port settings:

    <?xml version="1.0" encoding="utf-8" ?> vista.tcc.etn.com:10103 RPC/SRV1/CALLNAT

    To try this out I deployed a service there and the XMM reference by the archive file contained the following:

    vista.tcc.etn.com:10203 RPC/SRV1/CALLNAT

    When testing, it took what was provided by the XMM instead of the config file.

    Does anyone know what I am doing wrong? I tried blanking out the Broker info in deploying the service but it wants something there. When I put localhost:1971, of course that doesn’t work. And when really blanking it out it has no idea where the host is.

    <soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/”>
    soapenv:Body
    soapenv:Fault
    axis2ns6:Server
    Broker Error 0013 0314: Socket connect failed:
    unknown (java.net.UnknownHostException:
    )

    <exx:EntireX xmlns:exx=“com.softwareag.entirex.xml.rt”>
    2000
    0001
    Broker Exception:

    0013
    0314
    Socket connect failed:
    unknown (java.net.UnknownHostException:
    )

    </exx:EntireX>

    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>

    Thanks in advance for your help!

    -Brian


    #webMethods
    #Mainframe-Integration
    #EntireX


  • 11.  RE: Parameterizing the service URL and Broker port number in aar files

    Posted Mon March 24, 2014 09:10 PM

    In the famous words of Gilda Radner… “neverrr minnnnd!”. :slight_smile:

    The issue is resolved and was an issue only because of incorrect tags. The tags were coded in the configuration xml file as such:

    <?xml version="1.0" encoding="utf-8" ?>
    <serviceGroup>
    <!--    Optional section for all EntireX services  -->
    <service name="*">
    <exx-broker-id>vista.tcc.etn.com:10103</exx-broker-id>
    <exx-service>RPC/SRV1/CALLNAT</exx-service>
    </service>
    </serviceGroup>

    The correct tags are:

    <?xml version="1.0" encoding="utf-8" ?>
    <serviceGroup>
    <!--    Optional section for all EntireX services  -->
    <service name="*">
    <exx-brokerID>host:1234</exx-brokerID>
    <exx-service>RPC/SRV1/CALLNAT</exx-service>
    </service>
    </serviceGroup>

    And with correct tags, the customization works as advertised.

    -Brian


    #EntireX
    #webMethods
    #Mainframe-Integration


  • 12.  RE: Parameterizing the service URL and Broker port number in aar files

    Posted Fri December 13, 2019 02:09 AM

    I have used the .aar file generated through SoftwareAG designer onto Web Service Stack and deployed to a tomcat web server. Services are enabled and listed under htttps://localhost:8080/wsstack/services/listServices. But when I send a SOAP request to https SOAP 11 endpoint, am not getting any response from services.

    I need help on debugging this issue and started by looking for any wsstack logs, but didnt find any. I have provided the log properties mentioned below under WEB-INF/classes/log4j.properties and I see the logs being generated related to axis2 but none on web services SOAP request.

    log4j.logger.org.apache.axis2.enterprise=DEBUG
    log4j.logger.de.hunsicker.jalopy.io=DEBUG
    log4j.logger.httpclient.wire.header=DEBUG
    log4j.logger.org.apache.commons.httpclient=DEBUG
    log4j.logger.org.apache.axis2.transport.http.server.wire=DEBUG

    Any property related to Web Service stack need to be set or am i missing something.

    Thanks in advance,
    Mithun


    #EntireX
    #Mainframe-Integration
    #webMethods