RE: viewing wsdls in browser

2005-09-14 Thread Yampolsky, Robert



I had this problem, and it turned out that I had set 
AXISCPP_DEPLOY in my httpd init script, but had forgotten to export it. 
The code that looks for the wsdl filesdoesn't check for errorswhen 
itgets AXISCPP_DEPLOY and so segfaults.

I also had problems with axis not setting the correct mime 
type for wsdl files. This caused Firefox to attempt to display them as 
HTML. I coded and submitted a fix for that, but I don't know if it ever 
got into the mainstream distro.




From: Xavier Toth 
[mailto:[EMAIL PROTECTED] Sent: Wednesday, September 14, 2005 2:30 
PMTo: Apache AXIS C User ListSubject: Re: viewing wsdls in 
browser
You meant '$AXISCPP_DEPLOY/wsdls', right? I'm running Axis C++ 1.5 on 
Apache2 on Fedora Core 4.
On 9/15/05, Samisa 
Abeysinghe  
[EMAIL PROTECTED] wrote:
Xavier 
  Toth wrote: I've run the samples in apache2 but then I tried to 
  view the wsdls in  a browser and it doesn't work. In the apache error 
  log I see a segmentation violation which I'm sure is related to the 
  axis c++ module. The axis server log contains the following: 
  [14/09/2005 11:11:33:000 CDT] 1 -  process_request 0x9d682d0  
  [FFD0FF82FFD60901001500FF80FFF44A00] 
  ..J. [14/09/2005 11:11:33:000 CDT] 1 AxisConfig 
   getAxisConfProperty @0x9c91120,[0400]   
  [14/09/2005 11:11:33:000 CDT] 1 AxisConfig  getAxisConfProperty 
  @0x9c91120,@1 null Has this worked for 
  others?hmm... This is strange. It should be working, if you have the 
  wsdl file in $AXISCPP_DEPLOY/wsdl folder.What is the version you 
  are using? On which 
platform?Samisa...


RE: Can't build 1.5 source - .deps not there

2005-05-25 Thread Yampolsky, Robert
Title: RE: Can't build 1.5 source - .deps not there



Haven't tried ant. I did install Javaon 
this machine (to run wsdl2ws), but have never played with ant (or Java for that 
matter).

Anyway, editing (painfully) all the .deps stuff allowed it 
to build with make on my system. The only component I installed was the 
apache2 module, and that linked and worked.

I guess if I have problems in the future, I'll try to 
figure out how to use ant.

Thanks,
Rob


From: Samisa Abeysinghe 
[mailto:[EMAIL PROTECTED] Sent: Tuesday, May 24, 2005 10:52 
PMTo: Apache AXIS C User ListSubject: RE: Can't build 1.5 
source - .deps not there


Please 
note that the Makefile.am files are not up-to-date in 
1.5 release. (May be it builds half way, but may not 
link all the stuff correctly 
)
Only the ant build works properly.

Have you tried building 
with ant?

Samisa

-Original 
Message-From: Yampolsky, 
Robert [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 24, 2005 11:44 
PMTo: Yampolsky, Robert; 
axis-c-user@ws.apache.orgSubject: RE: Can't build 1.5 source - .deps 
not there

So, looking at the 
Makefile's I guess these .deps directories are supposed to be generated on the 
fly by make running the 'depcomp' script.
I'm running RHEL 3.0, 
but somebody here patched the system to load the 2.96 gcc toolset as required by 
Oracle 9 for its installation. I undid the symlinks between gcc-gcc295 
and g++-g++296 to point them to the gcc323 and g++323 versions, but I'm 
guessing that depcomp is using other parts of the toolchain that are 
inconsisten, missing or whatever.
I've been able to get 
the makefiles to run by editing out all the DEPS stuff, and I suppose that's 
alright, since I assume this is just for automatic dependency 
detection.
So, bottom line, my 
question is this: 
Am I looking for 
trouble getting Axis C++ to run on an RHEL 3.0 system that has this hybrid 
compiler set? 
Is it possible that 
other problems I've been having (can't get ?wsdl URL's to work) could be related 
to this? 
Thanks, 
Rob 

_ 
From: 
 Yampolsky, Robert 
Sent: 
Monday, May 23, 2005 12:02 
PM To: 
'axis-c-user@ws.apache.org' 
Subject: 
Can't build 1.5 source - .deps not 
there 
I'm trying to build axisc++ from the 
1.5.0 source. 
Configure ran okay, but make reports 
failed attempts to access stuff in .deps subdirectories. They're not 
there. Is the source tarball bad, or is there something I can do at 
.configure time to make it not try to access these .deps 
subdirs?
R o b Y a m 
p o l s k y Harris 
Corporation [EMAIL PROTECTED] 
(212) 303 - 
4250 


Can't build 1.5 source - .deps not there

2005-05-23 Thread Yampolsky, Robert
Title: Can't build 1.5 source - .deps not there






I'm trying to build axisc++ from the 1.5.0 source.


Configure ran okay, but make reports failed attempts to access stuff in .deps subdirectories. They're not there. Is the source tarball bad, or is there something I can do at .configure time to make it not try to access these .deps subdirs?

R o b Y a m p o l s k y

Harris Corporation

[EMAIL PROTECTED]

(212) 303 - 4250





RE: list of deployed web services

2005-05-11 Thread Yampolsky, Robert
Yes, I do have the files in the wsdls folder.  I'm just trying to get it
to display the wsdl for the standard services that come with the
distribution (calculator, array, etc).  Axis generates the service list
page correctly when I access http://localhost/axis, and I looked at the
code, which seems to be scanning the wsdls folder to generate that page,
so they're definitely there.  The code to process the ?wsdl URL's looks
simple enough, but it's apparently segfaulting.  I notice that this code
has changed between versions 1.4 and 1.5.

Anyway, for some reason Apache isn't generating a core dump (that I can
find) when it segfaults.  Is there a way to get axis to dump debugging
info to a log.  I see that there's a log file specified in the
axiscpp_deploy/etc/axiscpp.conf file, but how do you turn on logging?

Am I right in guessing that the following code from Axis.cpp in the
'engine' directory is what's supposed to list the wsdl file (the second
'else' clause)?  Anybody see anything that could segfault there?

  // Handle the GET method
else if (AXIS_HTTP_GET == pStream-getSubProtocol())
{
// get the uri path
// i.e /abc/xyz/ part of http://somehost/abc/xyz/
string sUriWOAxis =
pStream-getTransportProperty(SERVICE_URI);
string sServiceName;
bool bNoExt = true;
if (sUriWOAxis == /)
{
bNoExt = false;
sUriWOAxis = ;
}

if (sUriWOAxis.empty ())
{
...generate web page listing all
deployed services.
}

else
{
sServiceName =
g_pConfig-getAxisConfProperty(AXCONF_AXISHOME);
sServiceName += WSDLDIRECTORY + sUriWOAxis +
.wsdl;
// Check whether wsdl file is available
if ((WsddFile = fopen (sServiceName.c_str (), r))
== NULL)
{
pStream-sendBytes(h3Url not available/h3,
NULL);
Status = AXIS_SUCCESS;
// Handle the error
}
else
{
int charcount = 0;
while ((charcount = fread (ReadBuffer, 1,
BYTESTOREAD - 1, WsddFile)) != 0)
{
*(ReadBuffer + charcount) = '\0';
pStream-sendBytes(ReadBuffer,
NULL);
}
Status = AXIS_SUCCESS;
fclose (WsddFile);
}
}
}

-Original Message-
From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 10, 2005 11:39 PM
To: Apache AXIS C User List
Subject: RE: list of deployed web services

Do you have the wsdl files in $AXISCPP_DEPLOY/wsdls folder?

BTW, Simple Axis server does not support this ?wsdl URLs. It only works
with Apache.
Also note that, Axis C++ engine is not capable of generating the WSDL
for the service. Rather it gives out the WSDL file stored in
$AXISCPP_DEPLOY/wsdls folder.


Thanks,
Samisa...

-Original Message-
From: Yampolsky, Robert [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 10, 2005 9:52 PM
To: Apache AXIS C User List
Subject: RE: list of deployed web services

Not true.  The URL's in the front page have /axis in them (I'm using
1.5).  Same thing happens when I click the front page links or type the
URL's manually.

I don't see any core files generated by the Apache segfault, so I can't
determine why it's segfaulting.

I tried to access a wsdl URL through simple_axis_server, but that just
hangs (browser gets no response).  Don't know if that's supposed to
work, but I thought that if it did and it segfaulted, I'd stand some
chance of debugging it.

I'm assuming that the following in my httpd.conf file is all I need to
do to map the localhost/axis path to the true axis location and that the
axis handler is responsible for translating the ?wsdl to the wsdls
subdirectory.

LoadModule axis_module modules/libaxiscpp_mod2.so
Location /axis
SetHandler axis
/Location 

-Original Message-
From: Tony Dodd [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 10, 2005 11:32 AM
To: 'Apache AXIS C User List'
Subject: RE: list of deployed web services

It's simply got the wrong url coded in the Axis front page, if you look
at
Axis.cpp someone has commented out the line that adds /axis (line 235 in
1.4). If you enter http://localhost/axis/array?wsdl in the url combo
explicitly it should work. 

Tony Dodd
Oxford University Research Technologies (Xaira)


-Original Message-
From: Yampolsky, Robert [mailto:[EMAIL PROTECTED] 
Sent: 10 May 2005 16:09
To: Apache AXIS C User

RE: soapAction and .NET interoperability

2005-05-11 Thread Yampolsky, Robert
Does Axis require the SOAPAction to be formatted with a '#' separating
the service and method?  All the Microsoft documentation I've Googled
about setting SOAPAction from their stuff shows it formatted like a URL
with a slash setting off the method.  Would Axis reject this?

By the way, I haven't actually tested with a .NET client.  I'm just
assuming they don't send SOAPAction, because the WSDL I was given to
implement was generated with .NET tools, and it had soapAction=.  I
couldn't get my Axis-to-Axis code to work until I filled in at least
#method there (the service name doesn't seem to be necessary).

-Original Message-
From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, May 11, 2005 12:03 AM
To: Apache AXIS C User List
Subject: RE: soapAction and .NET interoperability

 Does anybody know of a workaround for this?  Either a way to define my
 service to not require soapAction or a way to 
 get a .NET client to provide the method name in the soapAction header?

There is no way in Axis C++ to define the service not to require the
SOAPAction as of now. (But we wish to implement such kind of a mechanism
- there is a Jira issue raised on this)

Hence I think you have to figure out how to set the SOAPAction with .net
client. I am not sure how to do this exactly but
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/h
tml/frlrfSystemRuntimeRemotingMetadataSoapMethodAttributeClassSoapAction
Topic.asp may lead to a clue.

Thanks,
Samisa...

-Original Message-
From: Yampolsky, Robert [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, May 11, 2005 2:39 AM
To: Apache AXIS C User List
Subject: soapAction and .NET interoperability

I've seen posted here that Axis services don't work with soapAction set
to .  I can verify that that's the case.  With no soapAction, I get a
Soap method is not allowed to invoke exception, but when I put it in,
I'm able to access the service.  As a matter of fact, it seems to only
require the method (i.e.  soapAction=#METHOD works just as well as
soapAction=SERVICE#METHOD).

My problem is that I need to interoperate with .NET clients, and they
don't seem to set soapAction (at least by default).

Does anybody know of a workaround for this?  Either a way to define my
service to not require soapAction or a way to 
get a .NET client to provide the method name in the soapAction header?

Thanks,
Rob


RE: list of deployed web services

2005-05-10 Thread Yampolsky, Robert
Not true.  The URL's in the front page have /axis in them (I'm using
1.5).  Same thing happens when I click the front page links or type the
URL's manually.

I don't see any core files generated by the Apache segfault, so I can't
determine why it's segfaulting.

I tried to access a wsdl URL through simple_axis_server, but that just
hangs (browser gets no response).  Don't know if that's supposed to
work, but I thought that if it did and it segfaulted, I'd stand some
chance of debugging it.

I'm assuming that the following in my httpd.conf file is all I need to
do to map the localhost/axis path to the true axis location and that the
axis handler is responsible for translating the ?wsdl to the wsdls
subdirectory.

LoadModule axis_module modules/libaxiscpp_mod2.so
Location /axis
SetHandler axis
/Location 

-Original Message-
From: Tony Dodd [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 10, 2005 11:32 AM
To: 'Apache AXIS C User List'
Subject: RE: list of deployed web services

It's simply got the wrong url coded in the Axis front page, if you look
at
Axis.cpp someone has commented out the line that adds /axis (line 235 in
1.4). If you enter http://localhost/axis/array?wsdl in the url combo
explicitly it should work. 

Tony Dodd
Oxford University Research Technologies (Xaira)


-Original Message-
From: Yampolsky, Robert [mailto:[EMAIL PROTECTED] 
Sent: 10 May 2005 16:09
To: Apache AXIS C User List
Subject: RE: list of deployed web services

Doesn't work for me.  http://localhost/axis does bring up a 
page with links to all the wsdl's, but when I click on any of 
those links I get a
503 error in my browser, and the Apache error log logs a 
segfault.  Any idea how to debug this?

-Original Message-
From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED]
Sent: Monday, May 09, 2005 11:56 PM
To: Apache AXIS C User List
Subject: RE: list of deployed web services

Hi,
   If you have the wsdl files in %AXISCPP_DEPLOY%\wsdls 
folder, you should get the ?wsdl thing working. 
http://localhost/axis/array?wsdl is the correct link (and it 
works on my
machine)

Also the calculator sample need three mandatory parameters:
calculator.exe add 101 10

HTH

Samisa...

-Original Message-
From: So Hok Chun, Bill [mailto:[EMAIL PROTECTED]
Sent: Monday, May 09, 2005 9:30 PM
To: axis-c-user@ws.apache.org
Subject: list of deployed web services

Dear All,

With some help from people in the mailing list, I installed axis.

And I can run some of the samples like array, base, rpcfault 
(but not calculator. I guess there should be some problem in 
that sample).

About the http://localhost/axis page, there's a column WSDL 
in the table.  The is like http://localhost/array?wsdl

However, there's simply no such directory in my server.  I 
tried http://localhost/axis/array?wsdl . But still doesn't 
work. The browser just return a blank page.

What should the correct link look like?

Thanks for your help.

Yours,
Bill




RE: Newbie questions and some weird behavior

2005-05-06 Thread Yampolsky, Robert
One thing to figure out is to know whether the error is in generated
code or in the user written code. Will have to generate the code and
see.

Okay.  There's not much code, though.  This is a trivial test of the
service, and all it does is print out the input to a log file, copy back
the input params as outputs and log them.  The logged stuff looks ok:

Here's the code:

void HUB_TO_HUB::Hub_Request(xsd__string Value0, xsd__string Value1,
xsd__string Value2, xsd__string Value3, xsd__string Value4, xsd__string
Value5, xsd__string Value6, xsd__string Value7, AXIS_OUT_PARAM
xsd__string *OutValue0, AXIS_OUT_PARAM xsd__string *OutValue1,
AXIS_OUT_PARAM xsd__string *OutValue2, AXIS_OUT_PARAM xsd__string
*OutValue3, AXIS_OUT_PARAM xsd__string *OutValue4, AXIS_OUT_PARAM
xsd__string *OutValue5)
{
chartimestamp[100];
time_t  clock;
struct  tm *tm;
FILE*file;

file = fopen(/home/rob/hub2hub/server/log, w+);
fprintf(file, Input:\n
TO_TP=%s\n
FROM_TP=%s\n
TO_HUB=%s\n
FROM_HUB=%s\n
UID=%s\n
APIKEY=%s\n
ROUTING=%s\n
MESSAGE=%s\n,
  Value0, Value1, Value2, Value3, Value4, Value5,
Value6, Value7);

// Pass back caller's UID.
*OutValue0 = Value4;
// Pass back caller's FROM_TP as TO_TP.
*OutValue1 = Value0;
// Pass our hub ID as FROM_TP
*OutValue2 = ABCD-EFGH-IJKL-MNOP;
// Force status code of 0 (SUCCESS) for now
*OutValue3 = 0;
*OutValue4 = SUCCESS;
// Send timestamp.
clock = time((time_t *) 0);
tm = localtime(clock);
sprintf(timestamp, %04d-%02d-%02d %02d-%02d-%02d,
tm-tm_year+1900, tm-tm_mon+1, tm-tm_mday,
tm-tm_hour, tm-tm_min, tm-tm_sec);
*OutValue5 = timestamp;

fprintf(file, Output:\n
UID=%s\n
TO_TP=%s\n
FROM_TP=%s\n
STATUS=%s\n
STATUS_MSG=%s\n
TIMESTAMP=%s\n,
  *OutValue0, *OutValue1, *OutValue2, *OutValue3,
*OutValue4, *OutValue5);
fclose(file);
}
   


RE: Newbie questions and some weird behavior

2005-05-05 Thread Yampolsky, Robert
 Will have a look at you wsdl and see if I could get it working. Please
 try simple axis server in the mean time.
 
 Thanks,
 Samisa...


Thanks.  I tried simple axis server with gdb, and was able to debug my
server.  It now is able to log its inputs and outputs, and they look
basically right.  But the client still gets null pointers for all of the
results.

Then I used tcpdump to look at the SOAP that was passed back and forth.
I've included it below.
It looks like the input is correct, but the response is screwed up.
Instead of what I expect to get:
MSG_RECPT
UID/UID
TO_TP/TO_TP
etc.
/MSG_RECPT

I'm getting:
MSG_RECPTUID/MSG_RECPTUID
MSG_RECPTTO_TP/MSG_RECPTTO_TP
etc.

Also, the data between the bad XML tags is garbage.  Interestingly, I
get binary garbage that grows by 4 bytes for each subsequent result
'string'.

Anyway, progress.

Here's the TCP dump of the SOAP:

POST /axis/HUB_TO_HUB HTTP/11  Host: 172 1648 246:80
Content-Type: text/xml; charset=UTF-8
SOAPAction: HUB_TO_HUB#Hub_Request  Content-Length: 571

?xml version='1 0' encoding='utf-8' ?
SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas xmlsoap
org/soap/envelope/
xmlns:xsd=http://3 org/2001/XMLSchema
xmlns:xsi=http://www w3 org/2001/XMLSchema-instance
SOAP-ENV:Body
ns1:Hub_Request xmlns:ns1=http://localhost/axis/HUB_TO_HUB;
ns1:TO_TPA/ns1:TO_TP
ns1:FROM_TPB/ns1:FROM_TP
ns1:TO_HUBC/ns1:TO_HUB
ns1:FROM_HUBE/ns1:FROM_HUB
ns1:UIDF/ns1:UID
ns1:APIKEYG/ns1:APIKEY
ns1:ROUTING/ns1:ROUTING
ns1:MESSAGE/ns1:MESSAGE
/ns1:Hub_Request
/SOAP-ENV:Body
/SOAP-ENV:Envelope

HTTP/1 1 200 OK  Date: Thu, 05 May 2005 18:26:37 GMT
Server: Apache/2 0 46 (Red Hat)  Content-Length: 689
Connection: close  Content-Type: text/xml
?xml version='1 0' encoding='utf-8' ?
SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas xmlsoap
org/soap/envelope/
xmlns:xsd=http://www w3 org/2001/XMLSchema
xmlns:xsi=http://www w3 org/2001/XMLSchema-instance
SOAP-ENV:Body ns1:Hub_Response
xmlns:ns1=http://localhost/axis/HUB_TO_HUB;
MSG_RECPTUID/MSG_RECPTUID
MSG_RECPTTO_TP/MSG_RECPTTO_TP
MSG_RECPTFROM_TP/MSG_RECPTFROM_TP
MSG_RECPTSTATUSamp/MSG_RECPTSTATUS
MSG_RECPTSTATUS_MSGamp/MSG_RECPTSTATUS_MSG
MSG_RECPTTIMESTAMP.amp.../MSG_RECPTTIMESTAMP
/ns1:Hub_Response
/SOAP-ENV:Body
/SOAP-ENV:Envelope


 
  
  
  Here's my server.wsdd entry:
  
  service name=HUB_TO_HUB provider=CPP:DOCUMENT
  description=TVB Hub-to-Hub Service
  parameter name=allowedMethods value=Hub_Request
  /
  parameter name=className
  value=/usr/local/axiscpp_deploy/lib/libhub2hub.so /
  /service
  
  Here's the wsdl:
  
  ?xml version=1.0 encoding=utf-8?
  wsdl:definitions
 xmlns:http=http://schemas.xmlsoap.org/wsdl/http/;
 xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/;
 xmlns:s=http://www.w3.org/2001/XMLSchema;
 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;
 xmlns:tns=http://localhost/axis/HUB_TO_HUB;
 xmlns:tm=http://microsoft.com/wsdl/mime/textMatching/;
 xmlns:mime=http://schemas.xmlsoap.org/wsdl/mime/;
 targetNamespace=http://localhost/axis/HUB_TO_HUB;
 xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/;
  
wsdl:types
  s:schema elementFormDefault=qualified
  targetNamespace=http://localhost/axis/HUB_TO_HUB;
s:element name=Hub_Request type=tns:HUB_IN /
s:complexType name=HUB_IN
  s:sequence
s:element minOccurs=0 maxOccurs=1 name=TO_TP
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=FROM_TP
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=TO_HUB
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=FROM_HUB
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=UID
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=APIKEY
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=ROUTING
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=MESSAGE
  type=s:string /
  /s:sequence
/s:complexType
  /s:schema
  s:schema elementFormDefault=qualified
s:element name=Hub_Response nillable=true
  type=tns:MSG_RECPT /
s:complexType name=MSG_RECPT
  s:sequence
s:element minOccurs=0 maxOccurs=1 name=UID
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=TO_TP
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=FROM_TP
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=STATUS
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=STATUS_MSG
  type=s:string /
s:element minOccurs=0 maxOccurs=1 name=TIMESTAMP
  type=s:string /
  /s:sequence
/s:complexType
  /s:schema
/wsdl:types
  
wsdl:message name=Hub_RequestIn