"How to" documents

I am new to EntireX and it’s version 8.1.1 for z/OS. Does anyone have any good documents that describe how to use the EntireX Designer to expose Natural subprograms as web services (SOAP) all the way through deployment, how to make a web service callable from Natural, and how to use the Tomcat server that is distributed with EntireX Designer to test your Natural subprograms as web services (not just the quick test which I have already done)?

Many of the tech papers in Empower were written for use with the old EntireX Workbench (v7 and prior), which makes them obsolete since it’s all different in version 8 with the new Designer tool.

Of course, the supplied documentation as usual doesn’t make for a good “how to” document.

Thanks in advance!

Yeah, we need to update the “how-to” documents…

Hopefully this quick summary will help for now:

  • Natural RPC Server should be running, more or less as before. I do suggest being on NAT426 or above for mainframe
  • From the Designer, use the EntireX perspective. Select New…Software AG IDL Extractor for Natural. Use the option to limit name sizes to 8 characters.
  • right click on the generated IDL name in the Navigator and select Generate Web Service from IDL. Allow it to deploy to your wsstack.
  • open the XMM and try out the quick test
  • from a browser, open your wsstack (e.g. http://localhost:49981/wsstack/services/listServices). You should see your service there. Click on it to see the WSDL

I suggest using an external tool (such as SOAPUI) to do further testing at this point.

Thanks for the suggestion. I am downloading SOAPUI now to do the testing of my service.

Hi Brian,
Actually there are no less than two WS testers in eclipse+EXX !

  1. Eclipse own built in that you can activate by rightclicking on the wsdl file.

and the easiest one:

  1. EntireX’s own XML tester that you can activate by righclicking on the XMM file.

SOAPUI has a lot of extra functionality but for basic testing I suggest the built in ones!
FInn

I have successfully tested my new service from inside the EntireX Designer. However, seems I am running into trouble when I gave our SOA admin the WSDL and the *.aar file. His comments back to me were:

I have a problem with the wsdl file. The endpoint url's point to localhost. I need the server address.

service name=“GetCompanyHeading”
port name=“DBALIBSOAP11Port” binding=“tns:DBALIBSOAP11Binding”
soap:address location=“http://localhost:49981/wsstack/services/GetCompanyHeading”/
/port
port name=“DBALIBSOAP12Port” binding=“tns:DBALIBSOAP12Binding”
soap12:address location=“http://localhost:49981/wsstack/services/GetCompanyHeading”/
/port
/service

and…

There’s another issue. The wsdl file can’t have 2 bindings in it. This is the exact error that I get:

Error during deployment: Deployment Failed: Unable to deploy service /soa_partition/GetCompany!1.0*soa_3983ae97-069a-48c1-8c3c-dc1a756e01a0/Mediator1_ep with multiple WS bindings. Please make sure there is only one WS binding for the given service in the composite file…

I looked at the wsdl and it contains bindings for DBALIBSOAP11Binding and DBALIBSOAP12Binding. SOA only allows 1 per wsdl. It looks to me like they point to the same thing so I’m not sure why there are 2 in the wsdl.

Also, I don’t know what the aar file is for. I looked at it and it looks specific to EntireX. I don’t believe that I need it.

This is why I need “how to” documents. I have no idea what he’s telling me or what I am supposed to do now.

Please advise… thanks in advance!

Hi Brian,

a WSDL of a service can only contain a meaningful service endpoint when the service has been deployed and is up and running. If you have deployed the service (which you obviously did, because you say you successfully tested it), you should obtain its current WSDL by just querying it from the service itself, for example with http://:49981/wsstack/services/GetCompanyHeading?wsdl where is the real host name, not localhost.

The .aar is the deployable unit of the Web service itself. It is an archive containing all configuration- and metadata, including the original WSDL, to expose a Natural subprogram as a Web service. This is the essential file, not the .wsdl in the project.

The two bindings in the WSDL are for SOAP version 1.1 and 1.2 respectively. It is valid if a service supports multiple bindings, and expresses this in the WSDL. Web service client software should be able to cope with this and select one of the bindings (like the EntireX tester and also SOAP UI does). If your WS client can handle only services and WSDLs with one SOAP binding, then let me know and I can provide some hints how to configure the WS-stack to generate only one SOAP binding.

Regards,
Dietmar

I changed the URL to reflect the Broker’s host and port, but I get Error 101 (net::ERR_CONNECTION_RESET): Unknown error.

That makes sense in a way, as I don’t think there’s a folder on the mainframe for http://vista.tcc.etn.com:1971/wsstack/services/GetCompanyHeading?wsdl. But if not the Broker node and port, what is it supposed to be?

Brian, this is not the Broker hostname/port. The web service is not deployed to Broker, but to the AppServer (Tomcat) which hosts the Web Service Stack.

So it is http://:49981/wsstack/services/GetCompanyHeading?wsdl with replaced by the machine name where you run Tomcat, i.e. where your installed EntireX.

I am confused by that last part. We didn’t install EntireX anywhere but the mainframe (e.g. Broker and RPC Server) except for the Designer piece, which is on my laptop. Is there another piece of EntireX to install somewhere?

when you installed Designer, ws-stack was also installed to your machine. If you test out http://localhost:49981/wsstack on your machine, you should be at the “home page” for ws-stack with Services, Validate and Administration options.

If you don’t see wsstack from your browser, you may have omitted/deselected it during your install. Re-run the installer and ensure that you include Infrastructure > Web Services Stack and Designer > Web Services Stack.

If you deployed your service to the default ws-stack when you generated the aar, you should see it in the list shown in Services.

For test/qa/prod, you need to install at least ws-stack to the respective environments, where the aar will be deployed to.

You might ask Software AG Education Services for a class on Application Modernization with webMethods EntireX and/or webMethods EntireX Administration.

Thanks Doug for your help. Just as you said, http://localhost:49981/wsstack does bring up a welcome page for the Web Services Stack, and clicking on services I see the one I deployed that I am trying to get the SOA guys to execute. What you say also makes sense with what they are telling me, which is that something is missing from the archive file that it seems to expect.

Is there a recommended way to install the ws-stack on other machines? Will they all have to download the SAG Installer and somehow navigate that to get just the right components they need, or is there an easier way to do that?

Regarding Education Services, I may not be qualified to take the class you recommended since I don’t know any “client environment” languages (i.e. Java, C#, ASP.NET, VBA…). Also, seems people in Brazil and South Africa are in luck as they are the two sites globally getting this course this year.

A custom class for one person isn’t very cost-effective.

http://inter.viewcentral.com/events/cust/search_results.aspx?event_id=927&keyword=&postingForm=default.aspx&cid=webmethods_ext&pid=1&lid=1&cart_currency_code=&payment_type=&orderby_location=&orderby_date=&newRegistration=&bundle_location_group=&errmsg=

Hi Brian,
Education services have actually announced that they are now heavily promoting elearnings, so you can take part in a training via the web.
Though I guess the South African timezone is not optimal for your “beautysleep” :wink:
But I suggest you contact Education services to check this option.
Finn

Thanks, Finn. I will inquire about that.

One of the facilities of the SagInstaller is that you can (and should!) create “images” - a copy of the install files for your own use and distribution. Click on the Advanced button and go to the Images tab to specify the file to download the image to (or install from). Send that image and the installer to the other team members who need to install the components.

As for Education Services - if you let them know you are interested, they may be able to find an onsite class that you can join. Or you might have Global Consulting Services in for a week to help get your project jump-started.

Your web guys will need to be able to get to your machine - e.g. http://brian.eaton.corp:49981/wsstack - you may have to modify your inbound firewall settings to enable them to reach your port 49981 on your machine. They don’t need the AAR file - they just need the WSDL it will deliver. And wsstack will update the WSDL endpoints to your machine instead of “localhost” when they pick it up that way.

My laptop should not need to be involved. I shut it down, take it home… it’s not an enterprise server.

They followed the instructions I was given and forwarded to them so they could deploy the wsstack.war and entirex.jar files under JBoss. This is an enterprise server, as are their true dev, QA and production boxes which will be the same WebLogic servers used by the Oracle SOA Suite.

So now, if I understand correctly, if they follow the instructions to install the EntireX components I mentioned under WebLogic, then all they need from me is the archive file and WSDL (and I heard the WSDL is inside the archive file anyway) for any new services that call Natural subprograms, and they can deploy these to these servers.

Is this correct?

Waiting to hear back from our web guys on their success.

Sounds like you’re on the right track now. If the web guys give you access, you can deploy the AARs directly to their servers when you generate them.

They will probably want to use the external configuration file to avoid editing the AARs as they move from environment to environment - it can be used to override the broker id, server names, users, etc as appropriate for the deployment environment without having to open up the AARs. See http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite8-2_fcs/EntireX/8-2_EntireX/adminWin/xmlSoapListener_admin.htm#externalConfigFile.

You should be aware that the documentation mentioned by Douglas refers to version 8.2 FCS but Brian is using 8.1.

BTW 8.2 GA has been released yesterday:
http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite8-2_ga/EntireX/8-2-SP1_EntireX/overview.htm

Thanks for your help! The external config doc answers some questions I have been asked by our SOA Suite developers, or I believe it will. I will ask distribution for the EXX v82 product.