You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Kelly Beard <ke...@gmail.com> on 2010/08/26 17:37:41 UTC

A little help?

I'm trying to use the C++ version of Axis.  I'm only an end-user of
someone elses webservices.  A quick list of items:

1.  I don't know the version of Axis I'm using.  How do I find out?
2.  Compiling Axis on my own is probably a deal-breaker for me.  #3
will spell it out.
3.  I'm using an IBM iSeries, better known as an "AS/400", running
V5R4 of the OS.

So, of course it's an uphill battle right away.  Here are the wsdls of
the two services I'm trying to build:

http://pcmws.alk.com/?wsdl
http://xml.truckmiles.com/Webservices/ProMilesBasicWebServiceWSI.asmx?WSDL

I use the wsdl2ws utility to build my stub code and that all seems to
work just fine.  The axis stuff builds lots of BaseObject ->
BaseObject_Array -> ArrayOfBaseObject kind of stuff which is confusing
to say the least.  So I wonder if the problems I'm having is because
I've gotten rusty in dealing with pointers to pointers or something
else.  C# and Java WS clients work great out from the get-go, but
since I have to do some manual coding with C++ I seem to have some
trouble.

Anyone interested in helping a guy out?  My client built on the
truckmiles service is either crashing or returning Success or Failure
based on which debug statements I remove, so I know there's some
pointer bug in there.  I think the pcmws client code is bombing.  I
can't use the handler code to see the raw soap that's being passed out
& returned back because that stuff was never implemented in whatever
version of Axis the 400 has.

Anyway, I've attached two files.  I'd really appreciate anything.  Thanks!

-- 
Kelly Beard

Re: A little help?

Posted by Nadir Amra <am...@us.ibm.com>.
Kelly,

I assume you are using integrated Web service client for ILE, which is 
based on Axis C++.  More information can be found at: 
http://www.ibm.com/systems/i/software/iws/.   Can you please confirm?

If so, you are on the latest code base, so you do not need to compile 
Axis. 

The latest PTF for IBM i 5.4 is SI40680.

Nadir Amra
Integrated Web Services for IBM i Operating System
Internet: amra@us.ibm.com

Kelly Beard <ke...@gmail.com> wrote on 08/26/2010 10:37:41 AM:

> From: Kelly Beard <ke...@gmail.com>
> To: c-user@axis.apache.org
> Date: 08/26/2010 10:39 AM
> Subject: A little help?
> 
> I'm trying to use the C++ version of Axis.  I'm only an end-user of
> someone elses webservices.  A quick list of items:
> 
> 1.  I don't know the version of Axis I'm using.  How do I find out?
> 2.  Compiling Axis on my own is probably a deal-breaker for me.  #3
> will spell it out.
> 3.  I'm using an IBM iSeries, better known as an "AS/400", running
> V5R4 of the OS.
> 
> So, of course it's an uphill battle right away.  Here are the wsdls of
> the two services I'm trying to build:
> 
> http://pcmws.alk.com/?wsdl
> 
http://xml.truckmiles.com/Webservices/ProMilesBasicWebServiceWSI.asmx?WSDL
> 
> I use the wsdl2ws utility to build my stub code and that all seems to
> work just fine.  The axis stuff builds lots of BaseObject ->
> BaseObject_Array -> ArrayOfBaseObject kind of stuff which is confusing
> to say the least.  So I wonder if the problems I'm having is because
> I've gotten rusty in dealing with pointers to pointers or something
> else.  C# and Java WS clients work great out from the get-go, but
> since I have to do some manual coding with C++ I seem to have some
> trouble.
> 
> Anyone interested in helping a guy out?  My client built on the
> truckmiles service is either crashing or returning Success or Failure
> based on which debug statements I remove, so I know there's some
> pointer bug in there.  I think the pcmws client code is bombing.  I
> can't use the handler code to see the raw soap that's being passed out
> & returned back because that stuff was never implemented in whatever
> version of Axis the 400 has.
> 
> Anyway, I've attached two files.  I'd really appreciate anything. 
Thanks!
> 
> -- 
> Kelly Beard
> [attachment "promiles.rar" deleted by Nadir Amra/Rochester/IBM] 
> [attachment "pcmiler.rar" deleted by Nadir Amra/Rochester/IBM] 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: c-user-help@axis.apache.org

AW: A little help?

Posted by Stadelmann Josef <jo...@axa-winterthur.ch>.
Hi Kelly, 

guess we have to setup things right now to know what you want.

You write: 
I'm only an end-user of someone else's web services.  

Answer/Question:
Does it mean your attempting to consume someone else web service with your own web service client coded in C++?
Does it mean you're only attempting to develop/generate/code/compile/link/run an axis2/c++ web service client-(stub) to make use of someone else's web-service running at some web-service-provider i.e. like from Yahoo to consume a book-catalog-service or the like?



You write:
I don't know the version of Axis I'm using.  How do I find out?

Answer:
Where did you download the Axis2 source kit?
You need a source kit to build AXIS2 yourself on IBM AS400 Series Computer.
I don't know of any pre-built binaries ready to install on a AS400 Series Computer.


Question:
Will this AS400 Series Computer be a Web Service Client consuming someone else Web Service or
Will this AS400 Series Computer run an Axis2 Web Service Engine, a Server, and provide a Web Service?


In any case you need a C/C++ developers environment, at least proper make tools and required 
ANSI/C ANSI/C++ RTL's to compile and run it.


AND

There are platform specific components which allow you to adapt different operating systems.
This are the components which deal with i.e. Linux, Windows, UNIX, OpenVMS platform (OS/HW) specialties.
Specific things. And this would mean for you, you will end up as a developer and demand a
reasonable good understanding of programming in C and C++ to port this Axis2 C++ code to your platform. 


Reading further down at your text:
I would suggest that you run somewhere on your AS400 Series computer a web service example service like "hello world", and try to interface this simple service through code generating all required for your client. 

If this client is running you may then be ready to start with interfacing  and consuming a more complex web service.

I recommend this, because I looked at your web service from http://pcmws.alk.com/?wsdl and I just feel it is too complex to start with. Start with something more easy to interface with, unless you master all the required generators and tools.

Also the http://xml.truckmiles.com/Webservices/ProMilesBasicWebServiceWSI.asmx?WSDL looks as it runs on a Windows platform.
Hence what about addressing and soap header issues. Is it a state-full or state-less web service? Once your logged in, are you then talking to a state full service or how are you credentials, your tokens passed for re-authentication. Any special modules to engage, i.e. addressing, etc.etc.

I would aim at looking at a working web-client of this web-service. Guess the best is to build a web service client using a visual studio and once you have that running you know a lot more about what to care to get your final client running.

So far my thoughts. 


Regards
Josef



-----Ursprüngliche Nachricht-----
Von: Kelly Beard [mailto:kenverybigliar@gmail.com] 
Gesendet: Donnerstag, 26. August 2010 17:38
An: c-user@axis.apache.org
Betreff: A little help?

I'm trying to use the C++ version of Axis.  I'm only an end-user of someone elses webservices.  A quick list of items:

1.  I don't know the version of Axis I'm using.  How do I find out?
2.  Compiling Axis on my own is probably a deal-breaker for me.  #3 will spell it out.
3.  I'm using an IBM iSeries, better known as an "AS/400", running
V5R4 of the OS.

So, of course it's an uphill battle right away.  Here are the wsdls of the two services I'm trying to build:

http://pcmws.alk.com/?wsdl
http://xml.truckmiles.com/Webservices/ProMilesBasicWebServiceWSI.asmx?WSDL

I use the wsdl2ws utility to build my stub code and that all seems to work just fine.  The axis stuff builds lots of BaseObject -> BaseObject_Array -> ArrayOfBaseObject kind of stuff which is confusing to say the least.  So I wonder if the problems I'm having is because I've gotten rusty in dealing with pointers to pointers or something else.  C# and Java WS clients work great out from the get-go, but since I have to do some manual coding with C++ I seem to have some trouble.

Anyone interested in helping a guy out?  My client built on the truckmiles service is either crashing or returning Success or Failure based on which debug statements I remove, so I know there's some pointer bug in there.  I think the pcmws client code is bombing.  I can't use the handler code to see the raw soap that's being passed out & returned back because that stuff was never implemented in whatever version of Axis the 400 has.

Anyway, I've attached two files.  I'd really appreciate anything.  Thanks!

--
Kelly Beard

---------------------------------------------------------------------
To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
For additional commands, e-mail: c-user-help@axis.apache.org