MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » April 2014

RE: Creating a WSDL for someone else's web service



fixed

Thanks for that Charles. I agree with:
You don't appear to have either. :) Instead, you've got a "home grown"
web service that appears to exchange XML. Those are fun.

And I believe I will be sending xml as POSTs.
When I point the browser to the URL, I get:
<status>
<message>Invalid data.</message>
<code>040</code>
</status>

My previous experience with WSDL2RPG (ala Thomas Raddatz) was most successful on another project so I was hoping to follow that path. All the communications, XLS parsing, CCSID conversion, and other "plumbing" was generated and ready to put data into and execute. But it required the WSDL to generate the stub programs.

So you're suggesting that is not an option?
-- Michael
~~~~~~~~~~~~~~~~
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-
bounces@xxxxxxxxxxxx] On Behalf Of Charles Wilt
Sent: Tuesday, April 08, 2014 12:09 PM
To: Midrange Systems Technical Discussion
Subject: Re: Creating a WSDL for someone else's web service

Every web service "works" the same since they all use HTTP. You've got
a URL that you use HTTP POST/GET/PUT/DELETE...methods against.

SOAP is simply standardized way to publish/consume a WS that relies on
exchanging XML messages.

REST is a term used to define certain non-SOAP defined web services
that relies mainly on arguments passed on the URL.

You don't appear to have either. :) Instead, you've got a "home grown"
web service that appears to exchange XML. Those are fun.

What you need to find out is what HTTP method needs to be used to send
the XML you've been given. Likely, it's a POST. So you'd build your
XML and use the appropriate HTTP_POST_xxxx() method of Scott's HTTP
API.

Did you get anything more from the vendor about using the service? For
example, one vendor I'm working with gave an example that used cURL (a
common HTTP API like command line utility)

Another other is to open the WS URL in a browser and see what's there.

Charles


On Tue, Apr 8, 2014 at 10:37 AM, Koester, Michael <mkoester@data-
east.com>wrote:

Thanks Charles.
I think I may have a problem though, in that I don't know the details
that I may (or may not?) need. For starters, I don't yet know if I
am
dealing with a SOAP or REST service. Or can I declare that in my
WSDL
and expect the service to play along with whichever I've chosen?
The reference you pointed me to says:
"A WSDL description contains all the details of a Web service,
including:
The service's URL. [Got that]
The communication mechanisms it understands. [No clue - is that
needed?]
What operations it can perform. [Got that]
The structure of its messages." [Apparently most are strings, so
i
can probably fake that]

...and it also says:
"There are four child elements of description that together
encapsulate all of the details about a Web service:
types
interface
binding
service"
Not sure what I need for those.

I'm not there yet. I do appreciate the help though.
-- Michael
~~~~~~~~~~~~~~~~~~
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-
bounces@xxxxxxxxxxxx] On Behalf Of Charles Wilt
Sent: Tuesday, April 08, 2014 9:47 AM
To: Midrange Systems Technical Discussion
Subject: Re: Creating a WSDL for someone else's web service

Michael,

Personally, I'd just build the XML manually. It's pretty basic and
not SOAP based; SOAP services are where a WSDL really helps.

If you really want to look at creating a WSDL manually, this might
help:
https://www.ibm.com/developerworks/webservices/library/ws-restwsdl/

Charles


On Tue, Apr 8, 2014 at 9:33 AM, Koester, Michael <mkoester@data-
east.com>wrote:

New project: Communicate through a web service to some other
outfit to set up, modify, enable/disable, etc., email and other
services.
This will be integrated with our Service Order maintenance
application
running on our IBM Power, in ILE-RPG. I've consumed web services
before. I can handle this.

First obstacle: I am told that this is to be done through their
"web service" (quotes intentional), but when I requested access
to
the WSDL, I was referred to the care and feeding document. Said
document is a PDF containing descriptions of how to perform
various operations through various snippets of XML. Cool. I
asked again where to find the WSDL, and was told "haven't got
one." Oh.

Perhaps I can construct one, and paste in the XML pieces? This
web service (my contact refers to the "app") is not publicly
available, which may explain why they don't have a WSDL. Perhaps
this has never been requested by other clients they've invited to
share the app
with.

Question: How do I fudge up a WSDL that will include all the
necessary pieces to satisfy WSDL2RPG stub generators?

Second obstacle: I'm still waiting for SysOp to get the updates
installed to allow my access to "Web Administration for i". I
suspect
there is a wizard or two there that would help, but I can't get
there yet. We are on
7.1 (still waiting for TR7 too).

One of the operations from the care and feeding manual looks like
this:
[I do have the URL of where the XML gets sent to, as well as the
user and password referenced in the authenticate tag]

To suspend the user, issue the following command:

<?xml version="1.0"?>
<authenticate>
<user>[*****]</user>
<pass>[********]</pass>
<domain>gsinet.net</domain>
</authenticate>
<archive_user>
<user>
<userid>bob</userid>
<archive_code>NOPAY</archive_code>
</user>
</archive_user>


So given that I may be rolling my own WSDL by hand, can someone
point me to some useful details? My goal is to have a suitable
WSDL to be accessed by WSDL2RPG.

Many thanks,
Michael Koester
Programmer/Analyst

DataEast






Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot COM and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available here. If you have questions about this, please contact