axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Hawkins <HAWKI...@uk.ibm.com>
Subject RE: WS-I Basic Security Profile
Date Fri, 24 Mar 2006 15:11:54 GMT
OK,

so, just to confirm - at what point is the message happening - does the 
client manage to send a request aqnd receive a response?





"Andy Weiss" <aweiss@volpico.com> 
24/03/2006 14:10
Please respond to
"Apache AXIS C User List" <axis-c-user@ws.apache.org>


To
"'Apache AXIS C User List'" <axis-c-user@ws.apache.org>
cc

Subject
RE: WS-I Basic Security Profile






Here's the gory details:
 
 
I have a webservice written in Java running under Websphere 6.0.2.1.
 
The webservice employs WS-Security, namely requiring a Username token in 
the SOAP header.  Any SOAP requests received without the proper 
WS-Security token will be rejected.  The Username token is validated 
against an external LDAP database.
 
I need to generate "sample" client applications in a variety of platforms 
to illustrate to our customers how to interact with the webservice.
 
I have generated a .NET C# webservice client.  It works beautifully.
I have generated a J2EE Java webservice client.  It works beautifully.
I have generated a J2SE Java webservice client, but I haven't gotten that 
working yet.
 
I need to generate ... wait for it ... an RPG client.  RPG is an old 
procedural language that runs on the AS/400 platform made by IBM.  The 
operating system is OS/400, nothing like Linux, nothing like Windows.
 
RPG toolset is very very limited.  But just like the .NET framework, RPG 
can call programs written in other languages, as lng as they are compiled 
on the AS/400.
 
IBM offers a product called "XML Toolkit for iSeries" (another name for 
AS/400).  Part of that toolkit is a product called "WSCC - Web Services 
Client for C++".  It permits you to generate a C++ client which will run 
on the AS/400.
 
The WSCC product is based on Axis C++, that is no secret.  If IBM has made 
some custom changes, I can't see any.  The documentation for Axis C++ seem 
to be just fine for me.
 
I intend to get the AS/400 C++ client working, and then call it from an 
RPG program.  This is an acceptable direction.
 
When I use the C++ client without inserting any security tokens, the 
service answers me with "Missing SOAP elements in header", and this is 
what I expect.
 
So I made a C++ handler, and I have it insert the proper WS-Security 
tokens into the SOAP header.  To do so, I had to properly modify the 
AXISCPP.CONF file, and the WSDD file.  I know I got these right because 
when I got them wrong I received errors stating that the handler class 
could not be found, or the WSDD could not be found, or the AXISCPP.CONF 
could not be found.
 
I've compared the C++ SOAP request against the .NET SOAP request (which 
works), and they both seem to be equivalent.  I can compare these by using 
a TCP/IP monitor supplied by Websphere.
 
The first request from the C++ client immediately generates the 
"AxisException 67" on the client side.  No errors in the Websphere server 
log.  No other errors in the job log or on the console on the client side.
 
Is ANYONE else in this crazy world trying to do this on an AS/400?  I bet 
not.

From: John Hawkins [mailto:HAWKINSJ@uk.ibm.com] 
Sent: Friday, March 24, 2006 8:41 AM
Subject: RE: WS-I Basic Security Profile

You're going to have to give us something to go on here :-) 

Like - what are you doing. Is this is the client or server? 
Are you creating a service, calling a method. 
Have you managed to call the service by this time - etc. etc. etc. 


When using AxisCPP I am receiving:
               AxisExeption: 67 

Mime
View raw message